Changeset 4514


Ignore:
Timestamp:
2003-06-09T11:52:21+12:00 (21 years ago)
Author:
jmt12
Message:

Hopefully the 'view assigned metadata for... now works properly.

Location:
trunk/gli/src/org/greenstone/gatherer
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/src/org/greenstone/gatherer/gui/CollectionPane.java

    r4375 r4514  
    443443    }
    444444    repaint();
     445    // Update the menubars idea of whats been selected
     446    if(collection_tree != null) {
     447        if(collection_tree.isSelectionEmpty()) {
     448        Gatherer.g_man.menu_bar.setMetaAuditSuffix(null);
     449        }
     450        else {
     451        Gatherer.g_man.menu_bar.setMetaAuditSuffix(collection_tree.getSelectionDetails());
     452        }
     453    }
    445454    }
    446455    /** Implementation side-effect, not used in any way.
  • trunk/gli/src/org/greenstone/gatherer/gui/GUIManager.java

    r4392 r4514  
    747747    menu_bar.tabSelected(tab_pane.getSelectedIndex());
    748748    if(tab_pane.getSelectedIndex() == tab_pane.indexOfComponent(collection_pane)) {
    749         menu_bar.metadata_view.setEnabled(true);
     749        menu_bar.metadata_view.setCanEnable(true);
    750750    }
    751751    else if(tab_pane.getSelectedIndex() == tab_pane.indexOfComponent(metaedit_pane)) {
    752752        metaedit_pane.gainFocus();
    753         menu_bar.metadata_view.setEnabled(true);
     753        menu_bar.metadata_view.setCanEnable(true);
    754754    }
    755755    else if(tab_pane.getSelectedIndex() == tab_pane.indexOfComponent(config_pane)) {
    756756        config_pane.gainFocus();
    757         menu_bar.metadata_view.setEnabled(false);
     757        menu_bar.metadata_view.setCanEnable(false);
    758758    }
    759759    else if(tab_pane.getSelectedIndex() == tab_pane.indexOfComponent(create_pane)) {
    760760        create_pane.gainFocus();
    761         menu_bar.metadata_view.setEnabled(false);
     761        menu_bar.metadata_view.setCanEnable(false);
    762762    }
    763763    else if(tab_pane.getSelectedIndex() == tab_pane.indexOfComponent(preview_pane)) {
    764764        config_pane.saveConfiguration();
    765765        preview_pane.gainFocus();
    766         menu_bar.metadata_view.setEnabled(false);
     766        menu_bar.metadata_view.setCanEnable(false);
    767767    }
    768768    else {
    769         menu_bar.metadata_view.setEnabled(false);
     769        menu_bar.metadata_view.setCanEnable(false);
    770770    }
    771771    previous_pane = (JPanel) tab_pane.getSelectedComponent();
  • trunk/gli/src/org/greenstone/gatherer/gui/MenuBar.java

    r4471 r4514  
    7878    public JMenuItem metadata_edit   = null;
    7979    public JMenuItem metadata_export = null;
    80     public JMenuItem metadata_view   = null;
    8180    public JMenuItem tools_log       = null;
    8281    public JMenuItem tools_size      = null;
     
    9190    public JMenuItem help_mirror ;
    9291    public JMenuItem help_preview;
     92    public MagicMenuItem metadata_view   = null;
    9393
    9494    public MenuBar(MenuListener menu_listener) {
     
    175175    //edit.add(edit_undo);
    176176    //edit.add(edit_redo);
    177     edit.add(new JSeparator());
    178     edit.add(edit_search);
    179     edit.add(edit_replace);
     177    //edit.add(new JSeparator());
     178    //edit.add(edit_search);
     179    //edit.add(edit_replace);
    180180
    181181    // Metadata menu
     
    193193    metadata_export.addActionListener(Gatherer.g_man);
    194194
    195     metadata_view = new JMenuItem(get("Metadata_View") + " " + get("FileActions.No_Selection"), KeyEvent.VK_A);
    196     metadata_view.addActionListener(Gatherer.g_man);           
     195    metadata_view = new MagicMenuItem(get("Metadata_View") + " " + get("FileActions.No_Selection"), KeyEvent.VK_A);
     196    metadata_view.addActionListener(Gatherer.g_man);   
    197197
    198198    metadata.add(metadata_add);
     
    306306
    307307    public void setMetaAuditSuffix(String metaaudit_suffix) {
    308     ///ystem.err.println("Set metadata view suffix: " + metaaudit_suffix);
    309     metadata_view.setText(get("Menu.Metadata_View") + " " + metaaudit_suffix);
     308    System.err.println("**** Set suffix: " + metaaudit_suffix);
     309    if(metaaudit_suffix == null) {
     310        metadata_view.setText(get("Menu.Metadata_View") + " " + get("FileActions.No_Selection"));
     311        metadata_view.setEnabled(false);
     312    }
     313    else {
     314        ///ystem.err.println("Set metadata view suffix: " + metaaudit_suffix);
     315        metadata_view.setText(get("Menu.Metadata_View") + " " + metaaudit_suffix);
     316        metadata_view.setEnabled(true);
     317    }
    310318    }
    311319
     
    363371    }
    364372
     373    public class MagicMenuItem
     374    extends JMenuItem {
     375   
     376    private boolean can_enable;
     377    private boolean should_enable;
     378
     379    public MagicMenuItem(String title, int key_event) {
     380        super(title, key_event);
     381        super.setEnabled(false);
     382        can_enable = false;
     383        should_enable = false;
     384    }
     385
     386    public void setCanEnable(boolean can_enable) {
     387        ///ystem.err.println("can_enable = " + can_enable);
     388        this.can_enable = can_enable;
     389        if(can_enable && should_enable) {
     390        ///ystem.err.println("setEnable(" + should_enable + ")");
     391        super.setEnabled(should_enable);
     392        }
     393    }
     394
     395    public void setEnabled(boolean should_enable) {
     396        ///ystem.err.println("should_enable = " + should_enable);
     397        this.should_enable = should_enable;
     398        if(can_enable) {
     399        ///ystem.err.println("setEnable(" + should_enable + ")");
     400        super.setEnabled(should_enable);
     401        }
     402    }
     403    }
     404
    365405    private class NonFocusMenu
    366406    extends JMenu {
  • trunk/gli/src/org/greenstone/gatherer/gui/MetaEditPane.java

    r4506 r4514  
    349349    TreeModel collection_model = Gatherer.c_man.getRecordSet();
    350350    if(collection_model != null) {
    351         collection_tree = new DragTree("Collection", collection_model, null);
     351        collection_tree = new DragTree("MetaEdit", collection_model, null);
    352352        collection_model.addTreeModelListener(this);
    353353    }
    354354    else {
    355         collection_tree = new DragTree("Collection", null);
     355        collection_tree = new DragTree("MetaEdit", null);
    356356    }
    357357    group.add(collection_tree);
     
    602602    valueChanged(new TreeSelectionEvent(this, null, false, null, null));
    603603    // tree.setElementModel(Gatherer.c_man.getCollection().msm.getElementModel());
     604    // Update the menubars idea of whats been selected
     605    if(collection_tree != null) {
     606        if(collection_tree.isSelectionEmpty()) {
     607        Gatherer.g_man.menu_bar.setMetaAuditSuffix(null);
     608        }
     609        else {
     610        Gatherer.g_man.menu_bar.setMetaAuditSuffix(collection_tree.getSelectionDetails());
     611        }
     612    }
    604613    }
    605614    /** Used to determine if this class contains a reference to an existing file record that matches the presumtively new record, and if one is found, returns it. Note that there is no need to search the metadata table model, as any file record that exists there must also exist in the records selection.
  • trunk/gli/src/org/greenstone/gatherer/gui/tree/DragTree.java

    r4393 r4514  
    181181      */
    182182    public void dragGestureRecognized(DragGestureEvent event) {
     183    // Can never drag from MetaEdit tree
     184    if(name.equals("MetaEdit")) {
     185        return;
     186    }
    183187    // Disable editing, unless you want to have the edit box pop-up part way through dragging.
    184188    this.setEditable(false);
     
    321325        else {
    322326            // Warn that this is an invalid drop.
    323             JOptionPane.showMessageDialog(Gatherer.g_man, Gatherer.dictionary.get("FileActions.InvalidTarget"), Gatherer.dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
     327            MessageTask invalid_target_task = new MessageTask(Gatherer.dictionary.get("General.Error"), Gatherer.dictionary.get("FileActions.InvalidTarget"));
     328            invalid_target_task.start();
     329            invalid_target_task = null;
    324330        }
    325331        }
     
    347353    }
    348354    else {
    349                 // Warn that this is an invalid drop.
    350         JOptionPane.showMessageDialog(Gatherer.g_man, Gatherer.dictionary.get("FileActions.ReadOnlyTarget"), Gatherer.dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
     355        // Warn that this is an invalid drop.
     356        System.err.println("About to show a modal dialog box from JOptionPane.");
     357        MessageTask read_only_task = new MessageTask(Gatherer.dictionary.get("General.Error"), Gatherer.dictionary.get("FileActions.ReadOnlyTarget"));
     358        read_only_task.start();
     359        read_only_task = null;
     360        System.err.println("Returning from a modal dialog box.");
    351361    }
    352362    // Clear up the group.image_ghost
    353363    paintImmediately(ra_ghost.getBounds());
    354364    event.getDropTargetContext().dropComplete(true);
     365    }
     366
     367    private class MessageTask
     368    extends Thread {
     369    private String message;
     370    private String title;
     371
     372    MessageTask(String title, String message) {
     373        this.message = message;
     374        this.title = title;
     375    }
     376
     377    public void run() {
     378        JOptionPane.showMessageDialog(Gatherer.g_man, message, title, JOptionPane.ERROR_MESSAGE);
     379    }
    355380    }
    356381
     
    571596    }
    572597
    573     public void valueChanged(TreeSelectionEvent e) {
     598    public void valueChanged(TreeSelectionEvent event) {
    574599    if(group == null) {
    575                 ///ystem.err.println("Oh my god, this tree has no group: " + this);
     600        ///ystem.err.println("Oh my god, this tree has no group: " + this);
    576601    }
    577602    else {
    578603        group.grabFocus(this);
    579604    }
    580     Gatherer.g_man.menu_bar.setMetaAuditSuffix(getSelectionDetails());
     605    if(name.equals("Collection") || name.equals("MetaEdit")) {
     606        if(event.getNewLeadSelectionPath() == null) {
     607        Gatherer.g_man.menu_bar.setMetaAuditSuffix(null);
     608        }
     609        else {
     610        Gatherer.g_man.menu_bar.setMetaAuditSuffix(getSelectionDetails());
     611        }
     612    }
    581613    }
    582614   
  • trunk/gli/src/org/greenstone/gatherer/util/DragTreeSelectionModel.java

    r4364 r4514  
    148148        }
    149149        else {
    150         Gatherer.dictionary.get("FileActions.No_Selection");
     150        suffix = null;
    151151        }
    152152        args = null;
Note: See TracChangeset for help on using the changeset viewer.