Ignore:
Timestamp:
06/05/08 18:59:42 (16 years ago)
Author:
ra33
Message:

Added parsing of annotation items

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/gui/FrameUtils.java

    r87 r88  
    853853                int permissionLevel = getPermissionLevel(toParse.getProtection(),
    854854                                Item.PERMISSION_FULL);
     855                toParse.clearAnnotations();
     856
    855857                // check for any new overlay items
    856858                for (Item i : items) {
    857859                        try {
    858860                                i.Permission = permissionLevel;
    859                                
    860                                 if (ItemUtils.startsWithTag(i, ItemUtils.TAG_BACKUP)){
     861                                if (i.isAnnotation()) {
     862                                        if (ItemUtils.startsWithTag(i, ItemUtils.TAG_BACKUP)) {
    861863                                                toParse.setBackupFrameName(i.getAbsoluteLink());
    862                                 }else if (ItemUtils.startsWithTag(i, ItemUtils.TAG_POINTTYPE)) {
    863                                         Text txt = (Text) i;
    864                                         String line = txt.getFirstLine();
    865                                         line = ItemUtils.StripTag(line, ItemUtils
    866                                                         .GetTag(ItemUtils.TAG_POINTTYPE));
    867 
    868                                         if (line != null) {
    869                                                 line = line.toLowerCase();
    870                                                 if (line.indexOf(" ") > 0) {
    871                                                         String fill = line.substring(line.indexOf(" ") + 1);
    872                                                         if (fill.startsWith("nofill"))
    873                                                                 filledPoints = false;
     864                                        } else if (ItemUtils.startsWithTag(i,
     865                                                        ItemUtils.TAG_POINTTYPE)) {
     866                                                Text txt = (Text) i;
     867                                                String line = txt.getFirstLine();
     868                                                line = ItemUtils.StripTag(line, ItemUtils
     869                                                                .GetTag(ItemUtils.TAG_POINTTYPE));
     870
     871                                                if (line != null) {
     872                                                        line = line.toLowerCase();
     873                                                        if (line.indexOf(" ") > 0) {
     874                                                                String fill = line
     875                                                                                .substring(line.indexOf(" ") + 1);
     876                                                                if (fill.startsWith("nofill"))
     877                                                                        filledPoints = false;
     878                                                                else
     879                                                                        filledPoints = true;
     880                                                        }
     881
     882                                                        if (line.startsWith("circle"))
     883                                                                pointtype = Item.POINTTYPE_CIRCLE;
    874884                                                        else
    875                                                                 filledPoints = true;
     885                                                                pointtype = Item.POINTTYPE_SQUARE;
    876886                                                }
    877 
    878                                                 if (line.startsWith("circle"))
    879                                                         pointtype = Item.POINTTYPE_CIRCLE;
    880                                                 else
    881                                                         pointtype = Item.POINTTYPE_SQUARE;
     887                                        }// check for new VECTOR items
     888                                        else if (ItemUtils.startsWithTag(i, ItemUtils.TAG_VECTOR)
     889                                                        && i.getLink() != null) {
     890                                                Frame vector = FrameIO.LoadFrame(i.getAbsoluteLink());
     891                                                if (vector != null) {
     892                                                        String scaleString = AttributeUtils
     893                                                                        .getValue(((Text) i).getText());
     894                                                        Float scale = 1F;
     895                                                        try {
     896                                                                scale = Float.parseFloat(scaleString);
     897                                                        } catch (Exception e) {
     898                                                        }
     899                                                        vectors.add(new Vector(vector, i.getPosition(),
     900                                                                        scale));
     901                                                }
    882902                                        }
    883                                 }// check for new VECTOR items
    884                                 else if (ItemUtils.startsWithTag(i, ItemUtils.TAG_VECTOR)
    885                                                 && i.getLink() != null) {
    886                                         Frame vector = FrameIO.LoadFrame(i.getAbsoluteLink());
    887                                         if (vector != null) {
    888                                                 String scaleString = AttributeUtils.getValue(((Text) i)
    889                                                                 .getText());
    890                                                 Float scale = 1F;
    891                                                 try {
    892                                                         scale = Float.parseFloat(scaleString);
    893                                                 } catch (Exception e) {
    894                                                 }
    895                                                 vectors.add(new Vector(vector, i.getPosition(), scale));
     903
     904                                        // check for new OVERLAY items
     905                                        else if (ItemUtils.startsWithTag(i, ItemUtils.TAG_OVERLAY)
     906                                                        && i.getLink() != null) {
     907                                                Frame overlay = FrameIO.LoadFrame(i.getAbsoluteLink());
     908                                                // Parse(overlay);
     909                                                if (overlay != null && !overlays.contains(overlay))
     910                                                        overlays.add(new Overlay(overlay,
     911                                                                        Item.PERMISSION_NONE));
    896912                                        }
    897                                 }
    898 
    899                                 // check for new OVERLAY items
    900                                 else if (ItemUtils.startsWithTag(i, ItemUtils.TAG_OVERLAY)
    901                                                 && i.getLink() != null) {
    902                                         Frame overlay = FrameIO.LoadFrame(i.getAbsoluteLink());
    903                                         // Parse(overlay);
    904                                         if (overlay != null && !overlays.contains(overlay))
    905                                                 overlays
    906                                                                 .add(new Overlay(overlay, Item.PERMISSION_NONE));
    907                                 }
    908                                 // check for ACTIVE_OVERLAY items
    909                                 else if (ItemUtils.startsWithTag(i, ItemUtils.TAG_ACTIVE_OVERLAY)
    910                                                 && i.getLink() != null) {
    911                                         String link = i.getAbsoluteLink();
    912                                         Frame overlay = FrameIO.LoadFrame(link);
    913                                         // Parse(overlay);
    914                                         // get level if specified
    915                                         String level = AttributeUtils.getValue(((Text) i)
    916                                                         .getFirstLine());
    917                                         // default permission (if none is specified)
    918                                         int permission = getPermissionLevel(level,
    919                                                         Item.PERMISSION_FOLLOW_LINKS);
    920 
    921                                         if (overlay != null) {
    922                                                 // Add it if its a new overlay
    923                                                 boolean found = false;
    924                                                 // Check if this overlay is already in the list and
    925                                                 // adjust its permissions
    926                                                 for (Overlay o : overlays) {
    927                                                         if (o.Frame.equals(overlay)) {
    928                                                                 o.Level = permission;
    929                                                                 found = true;
    930                                                                 break;
     913                                        // check for ACTIVE_OVERLAY items
     914                                        else if (ItemUtils.startsWithTag(i,
     915                                                        ItemUtils.TAG_ACTIVE_OVERLAY)
     916                                                        && i.getLink() != null) {
     917                                                String link = i.getAbsoluteLink();
     918                                                Frame overlay = FrameIO.LoadFrame(link);
     919                                                // Parse(overlay);
     920                                                // get level if specified
     921                                                String level = AttributeUtils.getValue(((Text) i)
     922                                                                .getFirstLine());
     923                                                // default permission (if none is specified)
     924                                                int permission = getPermissionLevel(level,
     925                                                                Item.PERMISSION_FOLLOW_LINKS);
     926
     927                                                if (overlay != null) {
     928                                                        // Add it if its a new overlay
     929                                                        boolean found = false;
     930                                                        // Check if this overlay is already in the list and
     931                                                        // adjust its permissions
     932                                                        for (Overlay o : overlays) {
     933                                                                if (o.Frame.equals(overlay)) {
     934                                                                        o.Level = permission;
     935                                                                        found = true;
     936                                                                        break;
     937                                                                }
     938                                                        }
     939                                                        // If it wasnt in the list create it and add it.
     940                                                        if (!found) {
     941                                                                overlays.add(new Overlay(overlay, permission));
    931942                                                        }
    932943                                                }
    933                                                 // If it wasnt in the list create it and add it.
    934                                                 if (!found) {
    935                                                         overlays.add(new Overlay(overlay, permission));
     944                                        }
     945                                        // check for Images and widgets
     946                                        else if (!FrameGraphics.isXRayMode()) {
     947                                                if (ItemUtils.startsWithTag(i, ItemUtils.TAG_IMAGE,
     948                                                                true))
     949                                                        createPicture(toParse, (Text) i);
     950                                                // check for frame images
     951                                                else if (i.getLink() != null
     952                                                                && !i.getAbsoluteLink().equalsIgnoreCase(
     953                                                                                toParse.getName())) {
     954                                                        if (ItemUtils.startsWithTag(i,
     955                                                                        ItemUtils.TAG_FRAME_IMAGE)) {
     956                                                                createFramePicture(toParse, (Text) i);
     957                                                        } else if (ItemUtils.startsWithTag(i,
     958                                                                        ItemUtils.TAG_BITMAP_IMAGE)) {
     959                                                                createFrameBitmap(toParse, (Text) i);
     960                                                        }
     961                                                }
     962                                                // Check for interactive widgets
     963                                                else if (ItemUtils.startsWithTag(i,
     964                                                                ItemUtils.TAG_IWIDGET)) {
     965                                                        createWidget(toParse, (Text) i);
    936966                                                }
    937967                                        }
    938                                 }
    939                                 // check for Images and widgets
    940                                 else if (!FrameGraphics.isXRayMode()) {
    941                                         if (ItemUtils.startsWithTag(i, ItemUtils.TAG_IMAGE, true))
    942                                                 createPicture(toParse, (Text) i);
    943                                         // check for frame images
    944                                         else if (i.getLink() != null
    945                                                         && !i.getAbsoluteLink().equalsIgnoreCase(
    946                                                                         toParse.getName())) {
    947                                                 if (ItemUtils.startsWithTag(i,
    948                                                                 ItemUtils.TAG_FRAME_IMAGE)) {
    949                                                         createFramePicture(toParse, (Text) i);
    950                                                 } else if (ItemUtils.startsWithTag(i,
    951                                                                 ItemUtils.TAG_BITMAP_IMAGE)) {
    952                                                         createFrameBitmap(toParse, (Text) i);
    953                                                 }
    954                                         }
    955                                         // Check for interactive widgets
    956                                         else if (ItemUtils.startsWithTag(i, ItemUtils.TAG_IWIDGET)) {
    957                                                 createWidget(toParse, (Text) i);
     968                                        if (i instanceof Text){
     969                                                toParse.addAnnotation((Text) i);
    958970                                        }
    959971                                }
     
    11871199                List<Item> enclosed = getItemsEnclosedBy(DisplayIO.getCurrentFrame(),
    11881200                                firstItem.getEnclosedShape());
    1189                
     1201
    11901202                // Brook: enclosed widgets are to be fully enclosed, never partially
    11911203                List<InteractiveWidget> enclosedWidgets = new LinkedList<InteractiveWidget>();
     
    11951207                                i.setSelectedMode(Item.SelectedMode.None);
    11961208                        if (i instanceof WidgetCorner) {
    1197                                 if (!enclosedWidgets.contains(((WidgetCorner)i).getWidgetSource()))
    1198                                                 enclosedWidgets.add(((WidgetCorner)i).getWidgetSource());
    1199                         }
    1200                 }
    1201                
     1209                                if (!enclosedWidgets.contains(((WidgetCorner) i)
     1210                                                .getWidgetSource()))
     1211                                        enclosedWidgets.add(((WidgetCorner) i).getWidgetSource());
     1212                        }
     1213                }
     1214
    12021215                for (InteractiveWidget iw : enclosedWidgets) {
    12031216                        for (Item i : iw.getItems()) {
Note: See TracChangeset for help on using the changeset viewer.