Changeset 677


Ignore:
Timestamp:
01/10/14 14:49:26 (10 years ago)
Author:
jts21
Message:

Let settings parser parse settings pages that take up multiple frames, by treating frames linked in annotations on settings pages as continuations of the settings page. As a side effect, settings themselves may no longer be annotations.

Location:
trunk/src/org/expeditee/settings
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/settings/Settings.java

    r670 r677  
    101101                }
    102102                String settingsPage = prefix + text.getText().trim().toLowerCase().replaceAll("^@", "");
     103                System.out.println(settingsPage);
    103104                PageDescriptor pd = _pages.get(settingsPage);
    104105                if(pd == null) {
     
    106107                }
    107108                try {
    108                         if (text.getChild() == null) {
    109                                 return;
    110                         }
    111109                        List<VariableSetting> toDefault = new LinkedList<VariableSetting>(pd.settingsList);
    112110                        // set the fields
    113                         for (Text t : text.getChild().getBodyTextItems(true)) {
     111                        List<Text> items = child.getBodyTextItems(false);
     112                        List<Text> annotations = new LinkedList<Text>(child.getAnnotationItems());
     113                        List<Frame> seen = new LinkedList<Frame>();
     114                        seen.add(child);
     115                        while(!annotations.isEmpty()) {
     116                                Text annotation = annotations.remove(0);
     117                                Frame next = annotation.getChild();
     118                                if(next != null && !seen.contains(next)) {
     119                                        System.out.println(annotation);
     120                                        items.addAll(next.getBodyTextItems(false));
     121                                        annotations.addAll(next.getAnnotationItems());
     122                                        seen.add(next);
     123                                }
     124                        }
     125                        for(Text t : items) {                           
    114126                                AttributeValuePair avp = new AttributeValuePair(t.getText(), false);
    115127                                try {
    116128                                        // System.out.println(avp.getAttributeOrValue().trim().toLowerCase().replaceAll("^@", ""));
    117                                         Setting s = pd.settings.get(avp.getAttributeOrValue().trim().toLowerCase().replaceAll("^@", ""));
     129                                        Setting s = pd.settings.get(avp.getAttributeOrValue().trim().toLowerCase());//.replaceAll("^@", ""));
    118130                                        if(s == null) {
    119131                                                continue;
     
    160172         */
    161173        private static void generateSettingsTree(String page, Text text) {
     174                // bedrock:  bedrock.resnet.scms.waikato.ac.nz 3000
    162175                FrameCreator frames = new FrameCreator(text.getParentOrCurrentFrame().getFramesetName(), text.getParentOrCurrentFrame().getPath(), page, false, false);
    163176                // Frame frame = FrameIO.CreateFrame(text.getParentOrCurrentFrame().getFramesetName(), page, null);
     
    216229                                        t = frames.addText(name + value, null, null, null, false);
    217230                                }
    218                                 Text tt = frames.getCurrentFrame().addText(600, t.getY(), s.getTooltip(), null);
    219                                 tt.setWidth(400);
     231                                Text tt = frames.getCurrentFrame().addText(450, t.getY(), "// " + s.getTooltip(), null);
     232                                tt.setWidth(550);
    220233                                // rebuild to get the correct height since setWidth() doesn't immediately rebuild
    221234                                tt.rebuild(true);
  • trunk/src/org/expeditee/settings/UserSettings.java

    r666 r677  
    200200                @Override
    201201                public Text generateText() {
    202                         return new Text("@ItemTemplate");
     202                        return new Text("ItemTemplate");
    203203                }
    204204        };
     
    213213                @Override
    214214                public Text generateText() {
    215                         return new Text("@DotTemplate");
     215                        return new Text("DotTemplate");
    216216                }
    217217        };
     
    225225                @Override
    226226                public Text generateText() {
    227                         Text t = new Text("@AnnotationTemplate");
     227                        Text t = new Text("AnnotationTemplate");
    228228                t.setColor(Color.gray);
    229229                return t;
     
    239239                @Override
    240240                public Text generateText() {
    241                         Text t = new Text("@CommentTemplate");
     241                        Text t = new Text("CommentTemplate");
    242242                t.setColor(Color.green.darker());
    243243                return t;
     
    253253                @Override
    254254                public Text generateText() {
    255                         Text t = new Text("@StatsTemplate");
     255                        Text t = new Text("StatsTemplate");
    256256                t.setColor(Color.BLACK);
    257257                t.setBackgroundColor(new Color(0.9F, 0.9F, 0.9F));
     
    270270                @Override
    271271                public Text generateText() {
    272                         Text t = new Text("@StatsTemplate");
     272                        Text t = new Text("TooltipTemplate");
    273273                t.setColor(Color.BLACK);
    274274                t.setBackgroundColor(new Color(0.7F, 0.7F, 0.9F));
Note: See TracChangeset for help on using the changeset viewer.