Changeset 12349


Ignore:
Timestamp:
2006-07-31T13:47:15+12:00 (18 years ago)
Author:
kjdon
Message:

added support for setting languagemetadata to be used with language partitions

File:
1 edited

Legend:

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

    r12300 r12349  
    4040import org.greenstone.gatherer.Gatherer;
    4141import org.greenstone.gatherer.gui.GLIButton;
     42import org.greenstone.gatherer.metadata.MetadataElement;
     43import org.greenstone.gatherer.metadata.MetadataSetManager;
    4244import org.greenstone.gatherer.util.CheckList;
    4345import org.greenstone.gatherer.util.CheckListEntry;
     
    6567    /** The default language object. */
    6668    private Language default_language = null;
    67  
     69    // this is not actually a language, but we will use it anyway.
     70    private Language language_metadata = null;
     71   
    6872   /** Constructor. */
    6973    public LanguageManager(Element languages_element) {
     
    7882        default_language = new Language((Element)default_language_elements.item(0));
    7983    }
     84
     85    // Retrieve the language metadata
     86    language_metadata = new Language(CollectionDesignManager.collect_config.getLanguageMetadata());
    8087    // Load a series of code->language mappings into known_languages, by reading from the 'languages.xml' file, which is essentially a subset of the ISO 639 Standard.
    8188    known_languages = new LinkedHashMap();
     
    285292    /** The button to set the current language as the default one. */
    286293    private JButton set_default_button = null;
    287     /** A combobox listing the available supported languages. */
    288     //private JComboBox language_combobox = null;
    289294    /** A list of currently supported languages. */
    290295    private JList selected_languages_list = null;
     296    /** A list of metadata elements that may hold the language metadata */
     297    private JComboBox language_metadata_combo = null;
     298   
    291299    /** Constructor.
    292300     * @see org.greenstone.gatherer.cdm.LanguageManager.LanguageControl.AddListener
     
    311319        JLabel selector_label = new JLabel(Dictionary.get("CDM.LanguageManager.Selector"));
    312320       
     321        language_metadata_combo = new JComboBox(MetadataSetManager.getEveryMetadataSetElement().toArray());
     322        language_metadata_combo.setToolTipText(Dictionary.get("CDM.LanguageManager.LanguageMetadata_Tooltip"));
     323        JLabel language_metadata_label = new JLabel(Dictionary.get("CDM.LanguageManager.LanguageMetadata"));
     324        String current_value = "ex.Language";
     325        if (language_metadata.getCode() != null) {
     326        current_value = language_metadata.getCode();
     327        }
     328        ArgumentControl.selectValue(language_metadata_combo, current_value);
    313329        language_list = new CheckList(false);
    314330        language_list.setListData(getLanguageCodes());
     
    350366
    351367        language_list.addListSelectionListener(new LanguageListListener());
    352        
     368        language_metadata_combo.addActionListener(new ActionListener() {
     369            public void actionPerformed(ActionEvent event) {
     370            String value = ((MetadataElement)language_metadata_combo.getSelectedItem()).getFullName();
     371            language_metadata.setAssigned(true);
     372            language_metadata.setCode(value);
     373            Gatherer.c_man.configurationChanged();
     374            }
     375        });
    353376        set_default_button.addActionListener(new SetDefaultListener());
    354377        set_default_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
     
    361384        button_panel.add(remove_button);
    362385
     386        JPanel metadata_panel = new JPanel();
     387        metadata_panel.setLayout(new BorderLayout());
     388        JPanel inner_panel = new JPanel();
     389        inner_panel.setLayout(new BorderLayout(10,10));
     390        inner_panel.add(language_metadata_label, BorderLayout.WEST);
     391        inner_panel.add(language_metadata_combo, BorderLayout.CENTER);
     392        metadata_panel.add(new JPanel(), BorderLayout.CENTER);
     393        metadata_panel.add(inner_panel, BorderLayout.EAST);
     394
    363395        movement_pane.setBorder(BorderFactory.createEmptyBorder(0,2,0,0));
    364396        movement_pane.setLayout(new GridLayout(3,1));
     
    378410        center_panel.add(movement_pane, BorderLayout.EAST);
    379411
     412        JPanel top_panel = new JPanel();
     413        top_panel.setLayout(new BorderLayout());
     414        top_panel.add(metadata_panel, BorderLayout.NORTH);
     415        top_panel.add(center_panel, BorderLayout.SOUTH);
     416       
    380417        setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
    381418        setLayout(new BorderLayout());
    382         add(center_panel, BorderLayout.NORTH);
     419        add(top_panel, BorderLayout.NORTH);
    383420        add(control_panel, BorderLayout.CENTER);
    384421    }
Note: See TracChangeset for help on using the changeset viewer.