- Timestamp:
- 2007-10-08T00:04:33+02:00 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java
r347 r352 136 136 p.add(keyField, GBC.eol().fill(GBC.HORIZONTAL)); 137 137 138 final J TextFieldvalueField =new JTextField((String)propertyData.getValueAt(row, 1));138 final JComboBox valueField = (JComboBox) propertyData.getValueAt(row, 1); 139 139 p.add(new JLabel(tr("Value")), GBC.std()); 140 140 p.add(Box.createHorizontalStrut(10), GBC.std()); … … 144 144 @Override public void selectInitialValue() { 145 145 valueField.requestFocusInWindow(); 146 valueField.selectAll(); 146 valueField.getEditor().selectAll(); 147 147 } 148 148 }; … … 154 154 } 155 155 }); 156 String oldValue = valueField.getEditor().getItem().toString(); 156 157 dlg.setVisible(true); 157 158 … … 159 160 if (answer == null || answer == JOptionPane.UNINITIALIZED_VALUE || 160 161 (answer instanceof Integer && (Integer)answer != JOptionPane.OK_OPTION)) { 161 return; 162 } 163 164 String value = valueField.getText(); 162 valueField.getEditor().setItem(oldValue); 163 return; 164 } 165 166 String value = valueField.getEditor().getItem().toString(); 165 167 if (value.equals(tr("<different>"))) 166 168 return; … … 288 290 } 289 291 @Override public Class<?> getColumnClass(int columnIndex) { 290 return String.class; 292 return columnIndex == 1 ? Relation.class : String.class; 291 293 } 292 294 }; … … 300 302 } 301 303 @Override public Class<?> getColumnClass(int columnIndex) { 302 return columnIndex == 1 ? Relation.class :String.class;304 return String.class; 303 305 } 304 306 }; … … 349 351 Component c = super.getTableCellRendererComponent(table, value, isSelected, false, row, column); 350 352 if (c instanceof JLabel) { 351 String str = ( String) value;353 String str = ((JComboBox) value).getEditor().getItem().toString(); 352 354 ((JLabel)c).setText(str); 353 355 if (str.equals(tr("<different>"))) … … 459 461 } 460 462 for (Entry<String, Collection<String>> e : props.entrySet()) { 461 String value=(e.getValue().size() > 1 || valueCount.get(e.getKey()) != newSelection.size() ? tr("<different>") : e.getValue().iterator().next()); 462 propertyData.addRow(new Object[]{e.getKey(), value}); 463 JComboBox value = new JComboBox(e.getValue().toArray()); 464 value.setEditable(true); 465 value.getEditor().setItem(e.getValue().size() > 1 || valueCount.get(e.getKey()) != newSelection.size() ? tr("<different>") : e.getValue().iterator().next()); 466 propertyData.addRow(new Object[]{e.getKey(), value}); 463 467 } 464 468
Note:
See TracChangeset
for help on using the changeset viewer.