Changeset 26699


Ignore:
Timestamp:
2013-01-11T18:37:02+13:00 (9 years ago)
Author:
davidb
Message:

"View Toolbar" and "View Notes" will become "Hide Toolbar" and "Hide Notes" and vice versa whenever the user clicks on these options.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • other-projects/GlamED/trunk/src/org/honours/gui/HonoursFrameIO.java

    r26588 r26699  
    77import java.util.List;
    88
     9import org.expeditee.actions.Misc;
    910import org.expeditee.gui.DisplayIO;
    1011import org.expeditee.gui.Frame;
     
    1718import org.expeditee.items.widgets.WidgetCorner;
    1819import org.expeditee.stats.Formatter;
     20import org.honours.actions.MiscActions;
    1921import org.honours.collection.CollectionItem;
     22import org.honours.collection.NoteLayer;
    2023
    2124public class HonoursFrameIO {
     
    126129    }
    127130
     131    /**
     132     * Toggles display of toolbar on and off.
     133     */
    128134    public static void ToggleToolbar() {
     135       
     136        Text displayText = (Text)Misc.getItemContainingData("OptionViewToolbar",FrameIO.LoadFrame(Interfaces.TOGGLE_TOOLS_OVERLAY));
     137               
    129138        if(DISPLAY_TOOLBAR){
    130            
    131             swapLinks(Interfaces.NAVIGATION_OVERLAY,Interfaces.BLANK_TOOLBAR_OVERLAY);
     139            displayText.setText("View Toolbar");
     140            swapLinks(Interfaces.BLANK_TOOLBAR_OVERLAY,"overlayToolbar");
    132141            DISPLAY_TOOLBAR = false;
    133142           
    134143        }else{
    135             //make it reappear.
    136             swapLinks(Interfaces.BLANK_TOOLBAR_OVERLAY,Interfaces.NAVIGATION_OVERLAY);
     144           
     145            displayText.setText("Hide Toolbar");
     146            swapLinks(Interfaces.NAVIGATION_OVERLAY,"overlayToolbar");
    137147            DISPLAY_TOOLBAR = true;
    138148        }
     
    140150        FrameKeyboardActions.Refresh();
    141151    }
     152   
    142153
    143154    public static void ToggleNotesDisplay(CollectionItem collectItem) {
    144155       
    145156        //get link to the collection item's note frame.
    146                 String noteFrameLink = collectItem.getNoteLayer().getFrame().getName();
    147                
    148                 if(DISPLAY_NOTES){
    149                    
    150                     swapLinks(noteFrameLink,Interfaces.BLANK_HIDE_NOTES_OVERLAY);
    151                     DISPLAY_NOTES = false;
     157        NoteLayer nl = collectItem.getNoteLayer();
     158       
     159        if(nl == null){
     160            MessageBay.errorMessage("No notes to display");
     161           
     162            //TODO: Create new note layer here?
     163           
     164            return;
     165        }
     166       
     167       
     168        String noteFrameLink = nl.getFrame().getName();
     169        System.err.println("*** link (in ToggleNotesDisplay method): " + noteFrameLink);
     170       
     171        Text displayText = (Text)Misc.getItemContainingData("OptionViewNotes",FrameIO.LoadFrame(Interfaces.NAVIGATION_OVERLAY));
     172           
     173        if(DISPLAY_NOTES){
     174            System.err.println("Notes are NOT visible");
     175            displayText.setText("View Notes");
     176            //swapLinks(noteFrameLink,Interfaces.BLANK_HIDE_NOTES_OVERLAY);
     177            swapLinks(Interfaces.BLANK_HIDE_NOTES_OVERLAY,"overlayNotes");
     178            DISPLAY_NOTES = false;
    152179               
    153180                   
    154                 }else{
    155                     swapLinks(Interfaces.BLANK_HIDE_NOTES_OVERLAY,noteFrameLink);
    156                     DISPLAY_NOTES = true;
    157                 }
    158                 FrameKeyboardActions.Refresh();
     181        }else{
     182            System.err.println("Notes are visible");
     183            displayText.setText("Hide Notes");
     184            //swapLinks(Interfaces.BLANK_HIDE_NOTES_OVERLAY,noteFrameLink);
     185            swapLinks(noteFrameLink,"overlayNotes");
     186            DISPLAY_NOTES = true;
     187        }
     188       
     189        FrameKeyboardActions.Refresh();
    159190       
    160191    }
     
    171202     * @param newLink
    172203     */
    173     private static void swapLinks(String oldLink,String newLink){
    174        
    175         Frame curr = DisplayIO.getCurrentFrame();
    176         for(Item item : curr.getItems()){
    177            
    178             if(item instanceof Text){
    179                 Text t = (Text)item;
    180                 if(t.getText().equals("@ao:3") || t.getText().equals("@ao:4")){
    181                     if(t.hasLink()){
    182                         if(t.getLink().equals(oldLink)){
    183                             t.setLink(newLink);
    184                             return;
    185                         }
    186                     }
    187                 }
    188             }
    189         }
    190     }
    191 
    192 
     204    private static void swapLinks(String newLink,String data){
     205       
     206        //TODO: Change this code so that it finds an item containing a data value, i.e. "overlayNotes", "overlayToolbar" or "overlayViewToolbar"
     207        //The item whose link we want to change
     208        Text overlayLink = (Text)Misc.getItemContainingData(data, DisplayIO.getCurrentFrame());
     209       
     210        overlayLink.setLink(newLink);
     211    }
    193212}
Note: See TracChangeset for help on using the changeset viewer.