Changeset 26699 for other-projects

Show
Ignore:
Timestamp:
11.01.2013 18:37:02 (7 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.

Files:
1 modified

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}