Changeset 4536


Ignore:
Timestamp:
2003-06-10T13:59:09+12:00 (21 years ago)
Author:
mdewsnip
Message:

Three fixes to the metadata editor manager. 1) The identifier attribute automatically created for a new element now has a language attribute (the default language). 2) When editing an attribute, the "name" field can't be changed. 3) Editing an attribute always removes the attribute selected, even if a different language is selected.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/src/org/greenstone/gatherer/mem/MetadataEditorManager.java

    r4530 r4536  
    687687        }
    688688        else {
     689        // Name combo box is enabled except when attributes are edited
     690        name.setEnabled((source != edit_attribute));
    689691        name_to_values.clear();
    690692        name.clear();
     
    909911        // Remove the existing attribute if this is an edit
    910912        if(!add_type && current_attribute != -1) {
    911         String current_value_str = model.getAttribute(current_attribute).value;
    912         current_element.removeAttribute(name_str, language_code, current_value_str);
     913        Attribute old_attribute = model.getAttribute(current_attribute);
     914        String old_value_str = old_attribute.value;
     915        String old_lang_code = old_attribute.language;
     916        current_element.removeAttribute(name_str, old_lang_code, old_value_str);
    913917        // Update the attribute table
    914918        model.removeRow(current_attribute);
     
    918922        current_element.addAttribute(name_str, language_code, value_str);
    919923        // Update the attribute table
    920         model.add(new Attribute(name_str, language_code, value_str));
     924        int row = model.add(new Attribute(name_str, language_code, value_str));
     925        element_attributes.setRowSelectionInterval(row, row);
    921926
    922927        value_str = null;
     
    10181023        if(!current_set.containsElement(name_str)) {
    10191024            // Add it,
    1020             ElementWrapper element = current_set.addElement(name_str);
     1025            Language default_language = Gatherer.c_man.getCollection().cdm.languages.getDefaultLanguage();
     1026            ElementWrapper element = current_set.addElement(name_str, default_language.getCode());
    10211027            // Then update the tree
    10221028            model.add(current_node, element, MEMNode.ELEMENT);
Note: See TracChangeset for help on using the changeset viewer.