Changeset 115 for trunk/src/org/expeditee/gui/FrameUtils.java
- Timestamp:
- 07/02/08 12:38:54 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/gui/FrameUtils.java
r108 r115 45 45 private static float _LastResponse = 0; 46 46 47 p ublicstatic Text LastEdited = null;47 private static Text LastEdited = null; 48 48 49 49 public static int MINIMUM_INTERITEM_SPACING = -6; … … 256 256 257 257 for (Item i : current.getItems()) 258 i.set SelectedMode(Item.SelectedMode.None);258 i.setHighlightMode(Item.HighlightMode.None); 259 259 return true; 260 260 } … … 274 274 275 275 // if the two frames both have changes, prompt the user for the 276 // next 277 // move 276 // next move 278 277 if (opposite.hasChanged() && opposite.equals(toSave)) { 279 278 if (DisplayIO.DisplayConfirmDialog( … … 287 286 } else 288 287 return false; 289 } else if (opposite.getOverlays().contains( 290 new Overlay(toSave, Permission.followLinks))) { 291 if (opposite.getOverlays().get( 292 opposite.getOverlays().indexOf( 293 new Overlay(toSave, Permission.followLinks))).Frame 294 .hasChanged()) 288 } else if (opposite.hasOverlay(toSave)) { 289 if (toSave.hasChanged()) 295 290 if (DisplayIO.DisplayConfirmDialog( 296 291 "Leaving this frame will discard changes made in the " … … 637 632 } 638 633 } 639 634 640 635 public static void loadFirstFrame(Frame profile) { 641 636 if (UserSettings.FirstFrame == null) … … 643 638 else { 644 639 Frame firstFrame = FrameIO.LoadFrame(UserSettings.FirstFrame); 645 if ( 640 if (firstFrame == null) { 646 641 FrameGraphics.WarningMessage("Home frame not found: " 647 642 + UserSettings.FirstFrame); 648 643 UserSettings.FirstFrame = profile.getName(); 649 644 DisplayIO.setCurrentFrame(profile); 650 } else{645 } else { 651 646 DisplayIO.setCurrentFrame(firstFrame); 652 647 } … … 812 807 // Show the items 813 808 for (Item item : ((XRayable) i).getConnected()) { 814 item.set Hidden(false);809 item.setVisible(true); 815 810 item.removeEnclosure(i); 816 811 } … … 877 872 // @v which points back to the frame with the @ao 878 873 Frame vector = FrameIO.LoadFrame(i.getAbsoluteLink()); 874 // Get the permission from off the vector frame 875 Permission vectorPermission = Permission.getPermission( 876 vector.getAnnotationValue("permission"), 877 Permission.none); 878 // If the frame permission is lower, use that 879 vectorPermission = Permission.min(vectorPermission, 880 permission); 881 //Highest permissable permission for vectors is copy 882 vectorPermission = Permission.min(vectorPermission, Permission.copy); 879 883 if (vector != null) { 880 884 String scaleString = AttributeUtils … … 885 889 } catch (Exception e) { 886 890 } 887 vectors 888 .add(new Vector(vector, i.getPosition(), 889 scale, i.getColor(), i 890 .getBackgroundColor())); 891 vectors.add(new Vector(vector, vectorPermission, i 892 .getPosition(), scale, i.getColor(), i 893 .getBackgroundColor())); 891 894 } 892 895 } 893 894 896 // check for new OVERLAY items 895 897 else if (ItemUtils.startsWithTag(i, ItemUtils.TAG_OVERLAY) … … 954 956 if (ItemUtils.startsWithTag(i, ItemUtils.TAG_IMAGE, 955 957 true)) { 956 createPicture(toParse, (Text) i); 958 if (!i.hasEnclosures()) { 959 createPicture(toParse, (Text) i); 960 } 957 961 // check for frame images 958 962 } else if (ItemUtils.startsWithTag(i, … … 962 966 toParse.getName())) { 963 967 XRayable image = null; 964 if (i.getEnclosures().size() > 0) { 965 i.setHidden(true); 966 image = i.getEnclosures().iterator().next(); 967 image.refresh(); 968 if (i.hasEnclosures()) { 969 // i.setHidden(true); 970 // image = 971 // i.getEnclosures().iterator().next(); 972 // image.refresh(); 968 973 } else { 969 image = new FrameImage((Text) i, toParse, null); 974 image = new FrameImage((Text) i, toParse, 975 null); 970 976 } 971 //TODO Add the image when creating new FrameImage 977 // TODO Add the image when creating new 978 // FrameImage 972 979 toParse.addItem(image); 973 980 } else if (ItemUtils.startsWithTag(i, … … 977 984 toParse.getName())) { 978 985 XRayable image = null; 979 if (i.getEnclosures().size() > 0) { 980 image = i.getEnclosures().iterator().next(); 981 image.refresh(); 982 i.setHidden(true); 986 if (i.hasEnclosures()) { 987 // image = 988 // i.getEnclosures().iterator().next(); 989 // image.refresh(); 990 // i.setHidden(true); 983 991 } else { 984 992 // If a new bitmap is created for a 985 993 // frame which already has a bitmap dont 986 994 // recreate the bitmap 987 image = new FrameBitmap((Text) i, toParse, null); 995 image = new FrameBitmap((Text) i, toParse, 996 null); 988 997 } 989 998 toParse.addItem(image); 990 999 } else if (ItemUtils.startsWithTag(i, "@c")) { 991 1000 // Can only have a @c 992 if (i.getLines().size() == 1) { 1001 if (!i.hasEnclosures() 1002 && i.getLines().size() == 1) { 993 1003 toParse.addItem(new Circle((Text) i)); 994 1004 } … … 1091 1101 message.setPermission(Permission.copy); 1092 1102 possibles.add(message); 1093 } else {1103 } else { 1094 1104 // Not sure why but if the line below is removed then 1095 1105 // several items can be highlighted at once 1096 message.set SelectedMode(Item.SelectedMode.None);1106 message.setHighlightMode(Item.HighlightMode.None); 1097 1107 } 1098 1108 } … … 1111 1121 // otherwise, the mouse is on the frame 1112 1122 } else { 1113 if (LastEdited != null && /*LastEdited.isVisible() 1114 &&*/ LastEdited.contains(x, y) 1123 if (LastEdited != null && /* 1124 * LastEdited.isVisible() && 1125 */LastEdited.contains(x, y) 1115 1126 && !Frame.FreeItems.contains(LastEdited) 1116 1127 && LastEdited.getParent() == DisplayIO.getCurrentFrame() … … 1118 1129 LastEdited.setPermission(Permission.full); 1119 1130 return LastEdited; 1120 } else 1121 LastEdited = null;1122 1131 } else { 1132 setLastEdited(null); 1133 } 1123 1134 ArrayList<Item> checkList = new ArrayList<Item>(); 1124 checkList.addAll(toCheck.get VisibleItems());1135 checkList.addAll(toCheck.getAllItems()); 1125 1136 checkList.add(toCheck.getNameItem()); 1126 1137 for (Item i : checkList) { 1127 1138 // do not check annotation items in audience mode 1128 if ( !(FrameGraphics.isAudienceMode() && i.isAnnotation())) {1139 if (i.isVisible() && !(FrameGraphics.isAudienceMode() && i.isAnnotation())) { 1129 1140 if (i.contains(x, y) && !Frame.FreeItems.contains(i)) { 1130 possibles.add(i);1131 }1132 }1133 }1134 Permission framePermission = toCheck.getPermission();1135 for (Overlay o : toCheck.getOverlays()) {1136 if (o.Level.ordinal() > Permission.none.ordinal()) {1137 Item i = onItem(o.Frame, x, y);1138 1139 // the message is included above with full permissions,1140 // it should be ignored here1141 if (i != null && i.getID() > 0) {1142 i.setPermission(Permission1143 .min(o.Level, framePermission));1144 1141 possibles.add(i); 1145 1142 } … … 1206 1203 // Dont want to loose the highlighting from the current item 1207 1204 if (i != currentItem && !enclosure.contains(i)) 1208 i.set SelectedMode(Item.SelectedMode.None);1205 i.setHighlightMode(Item.HighlightMode.None); 1209 1206 if (i instanceof WidgetCorner) { 1210 1207 if (!enclosedWidgets.contains(((WidgetCorner) i) … … 1312 1309 } 1313 1310 1314 // TODO Remove this method!!1315 // We should be able to get by with just getItemsWithin1311 // TODO Remove this method!! 1312 // Can just getItemsWithin be used? 1316 1313 public static Collection<Item> getItemsEnclosedBy(Frame frame, Polygon poly) { 1317 1314 Collection<Item> contained = frame.getItemsWithin(poly); … … 1329 1326 for (Overlay overlay : frame.getOverlays()) 1330 1327 if (overlay.Frame == item.getParent()) { 1331 item.setPermission(overlay. Level);1328 item.setPermission(overlay.permission); 1332 1329 results.add(item); 1333 1330 break; … … 1463 1460 1464 1461 public static void setLastEdited(Text lastEdited) { 1465 if(LastEdited != null && LastEdited.getText().length() == 0){ 1462 if (LastEdited != null && lastEdited != LastEdited 1463 && LastEdited.getText().length() == 0) { 1466 1464 LastEdited.getParentOrCurrentFrame().removeItem(LastEdited); 1467 1465 } 1468 1466 LastEdited = lastEdited; 1469 1467 } 1468 1469 public static Text getLastEdited() { 1470 return LastEdited; 1471 } 1470 1472 }
Note:
See TracChangeset
for help on using the changeset viewer.