Changeset 5236


Ignore:
Timestamp:
2003-08-21T11:10:38+12:00 (21 years ago)
Author:
jmt12
Message:

Buttons are now enabled/disabled appropriately. Note that you now cannot add a Subcollection Partition that is already defined (ie add is not enabled)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/src/org/greenstone/gatherer/cdm/SubcollectionIndexManager.java

    r5212 r5236  
    4242import org.greenstone.gatherer.util.ExclusiveListSelectionListener;
    4343import org.greenstone.gatherer.util.StaticStrings;
     44import org.greenstone.gatherer.util.Utility;
    4445import org.w3c.dom.*;
    4546/** This class maintains a list of indexes partitions for the purpose of defining subcollections.
     
    235236        clear_default_button = new JButton(get("Clear_Default_Subindex"));
    236237        clear_default_button.setMnemonic(KeyEvent.VK_C);
    237         if(default_index == null) {
    238         clear_default_button.setEnabled(false);
    239         }
     238        clear_default_button.setEnabled(default_index != null);
    240239
    241240        JLabel default_label = new JLabel(get("Default_Subindex"));
     241        default_label.setPreferredSize(Utility.LABEL_SIZE);
    242242        JPanel default_pane = new JPanel();
    243243        if(default_index == null) {
     
    251251        remove_index_button = new JButton(get("Remove_Subindex"));
    252252        remove_index_button.setMnemonic(KeyEvent.VK_R);
     253        remove_index_button.setEnabled(false);
    253254        set_default_button = new JButton(get("Set_Default_Subindex"));
    254255        set_default_button.setMnemonic(KeyEvent.VK_S);
     256        set_default_button.setEnabled(false);
    255257        JLabel subcollection_label = new JLabel(get("Subcollection"));
    256258        subcollection_list = new JList(CollectionDesignManager.subcollection_manager);
     
    270272        set_default_button.addActionListener(new SetDefaultSubIndexListener());
    271273
     274        subcollectionindexes_list.addListSelectionListener(new SubcollectionListListener());
     275
    272276        subcollectionindex_name_field.getDocument().addDocumentListener(new SubcollectionIndexListener());
    273277        subcollection_list.addListSelectionListener(new SubcollectionIndexListener());
     
    279283        default_label.setBorder(BorderFactory.createEmptyBorder(0,0,0,5));
    280284
    281         default_pane.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createRaisedBevelBorder(), BorderFactory.createEmptyBorder(2,2,2,2)));
     285        default_pane.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(2,0,0,0), BorderFactory.createCompoundBorder(BorderFactory.createRaisedBevelBorder(), BorderFactory.createEmptyBorder(2,2,2,2))));
    282286        default_pane.setLayout(new BorderLayout());
    283287        default_pane.add(default_label, BorderLayout.WEST);
     
    289293        subindexes_pane.add(default_pane, BorderLayout.SOUTH);
    290294       
     295        subindex_name_panel.setBorder(BorderFactory.createEmptyBorder(2,0,0,0));
    291296        subindex_name_panel.setLayout(new BorderLayout());
    292297        subindex_name_panel.add(subindex_name_label, BorderLayout.WEST);
     
    297302        list_pane.add(subcollection_label, BorderLayout.NORTH);
    298303        list_pane.add(new JScrollPane(subcollection_list), BorderLayout.CENTER);
    299        
    300         button_pane.setLayout(new GridLayout(1,4));
     304        list_pane.add(subindex_name_panel, BorderLayout.SOUTH);
     305
     306        button_pane.setLayout(new GridLayout(2,2));
    301307        button_pane.add(add_index_button);
    302308        button_pane.add(remove_index_button);
     309        button_pane.add(set_default_button);
    303310        button_pane.add(clear_default_button);
    304         button_pane.add(set_default_button);
    305 
    306         temp_pane.setLayout(new GridLayout(2,1,0,5));
    307         temp_pane.add(subindex_name_panel);
    308         temp_pane.add(button_pane);
    309311
    310312        subcollection_panel.setLayout(new BorderLayout());
     
    312314        subcollection_panel.add(list_pane, BorderLayout.CENTER);
    313315        //subcollection_panel.add(button_pane, BorderLayout.SOUTH);
    314         subcollection_panel.add(temp_pane, BorderLayout.SOUTH);
     316        subcollection_panel.add(button_pane, BorderLayout.SOUTH);
    315317       
    316318        setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
     
    356358        public void actionPerformed(ActionEvent event) {
    357359        setDefaultSubcollectionIndex(null);
     360        default_value_field.setText("");
    358361        clear_default_button.setEnabled(false);
    359         default_value_field.setText("");
     362        set_default_button.setEnabled(!subcollectionindexes_list.isSelectionEmpty());
    360363        }
    361364    }
     
    385388        if(!subcollectionindexes_list.isSelectionEmpty()) {
    386389            setDefaultSubcollectionIndex((SubcollectionIndex)subcollectionindexes_list.getSelectedValue());
     390            default_value_field.setText(default_index.toString());
    387391            clear_default_button.setEnabled(true);
    388             default_value_field.setText(default_index.toString());
     392            set_default_button.setEnabled(false);
    389393        }
    390394        }
     
    417421        if(!subcollection_list.isSelectionEmpty() && subcollectionindex_name_field.getText().length() > 0) {
    418422            if (getSubcollectionIndex(subcollectionindex_name_field.getText()) == null) {
    419             add_index_button.setEnabled(true);
     423            SubcollectionIndex subindex = new SubcollectionIndex(subcollection_list.getSelectedValues());
     424            add_index_button.setEnabled(!model.contains(subindex));
    420425            } else {
    421426            add_index_button.setEnabled(false);
     
    427432        }
    428433    }
     434
     435    private class SubcollectionListListener
     436        implements ListSelectionListener {
     437
     438        public void valueChanged(ListSelectionEvent event) {
     439        if(!event.getValueIsAdjusting()) {
     440            boolean enable = !subcollectionindexes_list.isSelectionEmpty();
     441            remove_index_button.setEnabled(enable);
     442            set_default_button.setEnabled(enable);
     443        }
     444        }
     445    }
    429446    }
    430447}
Note: See TracChangeset for help on using the changeset viewer.