Changeset 32
- Timestamp:
- 05/14/08 09:43:27 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/gui/FrameGraphics.java
r22 r32 198 198 } 199 199 200 p rivatestatic void AddAllOverlayItems(List<Item> items, Frame overlay,200 public static void AddAllOverlayItems(List<Item> items, Frame overlay, 201 201 List<Frame> seenOverlays) { 202 202 if (seenOverlays.contains(overlay)) … … 209 209 210 210 items.addAll(overlay.getItems()); 211 } 212 213 /** 214 * Recursive function similar to AddAllOverlayItems. 215 * 216 * @param widgets 217 * The collection the widgets will be added to 218 * @param overlay 219 * An "overlay" frame - this intially will be the parent frame 220 * @param seenOverlays 221 * Used for state in the recursion stack. Pass as an empty 222 * (non-null) list. 223 */ 224 public static void AddAllOverlayWidgets(List<InteractiveWidget> widgets, 225 Frame overlay, List<Frame> seenOverlays) { 226 if (seenOverlays.contains(overlay)) 227 return; 228 229 seenOverlays.add(overlay); 230 231 for (Overlay o : overlay.getOverlays()) 232 AddAllOverlayWidgets(widgets, o.Frame, seenOverlays); 233 234 widgets.addAll(overlay.getInteractiveWidgets()); 211 235 } 212 236 … … 244 268 245 269 List<Item> paintItems = new LinkedList<Item>(); 246 List<Frame> seenOverlays = new LinkedList<Frame>(); 247 if (paintOverlay) 248 AddAllOverlayItems(paintItems, toPaint, seenOverlays); 249 else { 270 List<InteractiveWidget> paintWidgets; 271 272 if (paintOverlay) { 273 274 AddAllOverlayItems(paintItems, toPaint, new LinkedList<Frame>()); 275 276 paintWidgets = new LinkedList<InteractiveWidget>(); 277 AddAllOverlayWidgets(paintWidgets, toPaint, 278 new LinkedList<Frame>()); 279 280 } else { 250 281 paintItems.addAll(toPaint.getItems()); 251 } 282 paintWidgets = toPaint.getInteractiveWidgets(); 283 } 284 252 285 // FIRST: Paint widgets swing gui (not expeditee gui) . 253 286 // Note that these are the ancored widgets 254 for (InteractiveWidget iw : toPaint.getInteractiveWidgets()) {287 for (InteractiveWidget iw : paintWidgets) { 255 288 iw.paint(bg); 256 289 } … … 535 568 Repaint(); 536 569 } 570 571 public static void ChangeSelectionMode(Item item, Item.SelectedMode newMode) { 572 if (item == null) 573 return; 574 575 for(Item i: item.getAllConnected()) 576 i.setSelectedMode(newMode); 577 Repaint(); 578 } 537 579 538 580 public static void OverwriteMessage(String message) {
Note:
See TracChangeset
for help on using the changeset viewer.