Changeset 7550
- Timestamp:
- 2004-06-03T14:11:01+12:00 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gli/src/org/greenstone/gatherer/cdm/ArgumentConfiguration.java
r7543 r7550 446 446 break; 447 447 case Argument.METADATUM: 448 case Argument.METADATA: 448 449 value = new GComboBox(Gatherer.c_man.getCollection().msm.getAssignedElements(), false); 449 450 … … 466 467 } 467 468 break; 468 case Argument.METADATA: 469 // Comma separated metadata values. 470 ArrayList values = argument.getValues(); 471 value = new GComboBox(Gatherer.c_man.getCollection().msm.getAssignedElements(), false); 472 //((JComboBox)value).setEditable(false); 473 DefaultListModel model = new DefaultListModel(); 474 list = new JList(model); 475 list.setVisibleRowCount(3); 476 for(int i = 0; i < values.size(); i++) { 477 model.addElement(values.get(i)); 478 } 479 480 one = new GLIButton(); 481 one.addActionListener(new AddListener((JComboBox)value, list)); 482 one.setMnemonic(KeyEvent.VK_A); 483 Dictionary.setBoth(one, "CDM.ArgumentConfiguration.Add", "CDM.ArgumentConfiguration.Add_Tooltip"); 484 two = new GLIButton(); 485 two.addActionListener(new RemoveListener(list)); 486 two.setMnemonic(KeyEvent.VK_R); 487 Dictionary.setBoth(two, "CDM.ArgumentConfiguration.Remove", "CDM.ArgumentConfiguration.Remove_Tooltip"); 488 489 if(argument.getValues().size() > 0 || argument.isRequired()) { 490 enabled.setSelected(true); 491 list.setBackground(Color.white); 492 list.setEnabled(true); 493 one.setEnabled(true); 494 two.setEnabled(true); 495 value.setEnabled(true); 496 } 497 else { 498 enabled.setSelected(false); 499 list.setBackground(Color.lightGray); 500 list.setEnabled(false); 501 one.setEnabled(false); 502 two.setEnabled(false); 503 value.setEnabled(false); 504 } 505 break; 469 // ---- Special interface for adding and ordering multiple metadata items ---- 470 // Turned off at Ian's request! 471 // case Argument.METADATA: 472 // // Comma separated metadata values. 473 // ArrayList values = argument.getValues(); 474 // value = new GComboBox(Gatherer.c_man.getCollection().msm.getAssignedElements(), false); 475 // //((JComboBox)value).setEditable(false); 476 // DefaultListModel model = new DefaultListModel(); 477 // list = new JList(model); 478 // list.setVisibleRowCount(3); 479 // for(int i = 0; i < values.size(); i++) { 480 // model.addElement(values.get(i)); 481 // } 482 483 // one = new GLIButton(); 484 // one.addActionListener(new AddListener((JComboBox)value, list)); 485 // one.setMnemonic(KeyEvent.VK_A); 486 // Dictionary.setBoth(one, "CDM.ArgumentConfiguration.Add", "CDM.ArgumentConfiguration.Add_Tooltip"); 487 // two = new GLIButton(); 488 // two.addActionListener(new RemoveListener(list)); 489 // two.setMnemonic(KeyEvent.VK_R); 490 // Dictionary.setBoth(two, "CDM.ArgumentConfiguration.Remove", "CDM.ArgumentConfiguration.Remove_Tooltip"); 491 492 // if(argument.getValues().size() > 0 || argument.isRequired()) { 493 // enabled.setSelected(true); 494 // list.setBackground(Color.white); 495 // list.setEnabled(true); 496 // one.setEnabled(true); 497 // two.setEnabled(true); 498 // value.setEnabled(true); 499 // } 500 // else { 501 // enabled.setSelected(false); 502 // list.setBackground(Color.lightGray); 503 // list.setEnabled(false); 504 // one.setEnabled(false); 505 // two.setEnabled(false); 506 // value.setEnabled(false); 507 // } 508 // break; 506 509 } // end of switch 507 510 … … 547 550 enabled.addActionListener(new EnabledListener(one, two, list, value)); 548 551 } 552 549 553 // Layout 550 if(list == null) { 554 inner_pane.setLayout(new BorderLayout()); 555 if (argument.isRequired()) { 556 inner_pane.add(label, BorderLayout.WEST); 557 } 558 else { 559 inner_pane.add(enabled, BorderLayout.WEST); 560 } 561 562 if (list == null) { 551 563 enabled.setBorder(BorderFactory.createEmptyBorder(0,0,5,0)); 552 inner_pane.setLayout(new BorderLayout()); 553 if(argument.isRequired()) { 554 inner_pane.add(label, BorderLayout.WEST); 555 } 556 else { 557 inner_pane.add(enabled, BorderLayout.WEST); 558 } 559 if(value != null) { 564 if (value != null) { 560 565 inner_pane.add(value, BorderLayout.CENTER); 561 566 } 562 567 } 563 568 else { 564 JPanel control_pane = new JPanel(new GridLayout(2,1));565 control_pane.add(enabled);566 control_pane.add(value);567 control_pane.setOpaque(false);568 569 569 JPanel left_pane = new JPanel(new BorderLayout()); 570 left_pane.add(control_pane, BorderLayout.CENTER); 570 left_pane.add(new JLabel(""), BorderLayout.NORTH); 571 left_pane.add(value, BorderLayout.CENTER); 571 572 left_pane.add(one, BorderLayout.SOUTH); 572 573 left_pane.setOpaque(false); … … 577 578 right_pane.setOpaque(false); 578 579 579 inner_pane.setLayout(new GridLayout(1,2)); 580 inner_pane.add(left_pane); 581 inner_pane.add(right_pane); 582 } 580 JPanel control_pane = new JPanel(new GridLayout(1, 2)); 581 control_pane.add(left_pane); 582 control_pane.add(right_pane); 583 584 inner_pane.add(control_pane, BorderLayout.CENTER); 585 } 586 583 587 setLayout(new BorderLayout()); 584 //add(owner_label, BorderLayout.NORTH);585 588 add(inner_pane, BorderLayout.CENTER); 586 589 } … … 682 685 return true; 683 686 case Argument.METADATUM: 687 case Argument.METADATA: 684 688 Object new_value_raw = ((JComboBox)value).getSelectedItem(); 685 689 if(new_value_raw instanceof ElementWrapper) { … … 711 715 argument.setAssigned(true); 712 716 return true; 717 // case Argument.METADATA: 718 // DefaultListModel model = (DefaultListModel)list.getModel(); 719 // ArrayList values = new ArrayList(); 720 // for(int i = 0; i < model.size(); i++) { 721 // values.add(model.get(i)); 722 // } 723 // argument.setValues(values); 724 // argument.setAssigned(true); 725 // return true; 713 726 case Argument.HIERARCHY: 714 727 argument.setValue(((JComboBox)value).getSelectedItem().toString()); 715 728 // Kinda lucked out here. Its impossible not to choose an entry from these comboboxes as they are restricted. 716 argument.setAssigned(true);717 return true;718 case Argument.METADATA:719 DefaultListModel model = (DefaultListModel)list.getModel();720 ArrayList values = new ArrayList();721 for(int i = 0; i < model.size(); i++) {722 values.add(model.get(i));723 }724 argument.setValues(values);725 729 argument.setAssigned(true); 726 730 return true; … … 824 828 ElementWrapper element = (ElementWrapper) source.getSelectedItem(); 825 829 String name = element.toString(); 826 if(!model.contains(name)) { 827 boolean found = false; 828 int index = 0; 829 while(!found && index < model.size()) { 830 String sibling = (String) model.get(index); 831 if(name.compareTo(sibling) < 0) { 832 model.add(index, name); 833 found = true; 834 } 835 else { 836 index++; 837 } 838 } 839 if(!found) { 840 model.addElement(name); 841 } 830 if (!model.contains(name)) { 831 model.addElement(name); 842 832 } 843 833 }
Note:
See TracChangeset
for help on using the changeset viewer.