Changeset 3223 in josm for trunk/src/org/openstreetmap
- Timestamp:
- 2010-05-08T19:29:43+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java
r3200 r3223 21 21 import java.util.Arrays; 22 22 import java.util.Collection; 23 import java.util.Collections; 23 24 import java.util.HashMap; 24 25 import java.util.LinkedList; … … 46 47 import javax.swing.event.ListSelectionEvent; 47 48 import javax.swing.event.ListSelectionListener; 49 import javax.swing.event.TreeSelectionEvent; 50 import javax.swing.event.TreeSelectionListener; 48 51 import javax.swing.table.AbstractTableModel; 49 52 import javax.swing.tree.DefaultMutableTreeNode; … … 61 64 62 65 public class ToolbarPreferences implements PreferenceSettingFactory { 66 67 68 private static final String EMPTY_TOOLBAR_MARKER = "<!-empty-!>"; 63 69 64 70 public static class ActionDefinition { … … 283 289 } else if (node.getUserObject() instanceof Action) { 284 290 selected.add(leadItem++, new ActionDefinition((Action)node.getUserObject())); 291 285 292 } 286 293 } … … 346 353 private JButton upButton; 347 354 private JButton downButton; 355 private JButton removeButton; 356 private JButton addButton; 348 357 349 358 private String movingComponent; … … 366 375 b.setActionCommand(name); 367 376 return b; 377 } 378 379 private void updateEnabledState() { 380 int index = selectedList.getSelectedIndex(); 381 upButton.setEnabled(index > 0); 382 downButton.setEnabled(index < selectedList.getModel().getSize() - 1); 383 removeButton.setEnabled(index != -1); 384 addButton.setEnabled(actionsTree.getSelectionCount() > 0); 368 385 } 369 386 … … 416 433 actionParametersPanel.setVisible(actionParametersModel.getRowCount() > 0); 417 434 } 418 upButton.setEnabled(sel); 419 downButton.setEnabled(sel); 435 updateEnabledState(); 420 436 } 421 437 }); … … 461 477 int dataLength = draggedData.size(); 462 478 479 463 480 if (leadItem != null) { 464 481 for (Object o: draggedData) { 465 482 if (leadItem.equals(o)) 466 483 return false; 484 467 485 } 468 486 } … … 553 571 }); 554 572 actionsTree.setDragEnabled(true); 573 actionsTree.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() { 574 public void valueChanged(TreeSelectionEvent e) { 575 updateEnabledState(); 576 } 577 }); 555 578 556 579 final JPanel left = new JPanel(new GridBagLayout()); … … 564 587 final JPanel buttons = new JPanel(new GridLayout(6,1)); 565 588 buttons.add(upButton = createButton("up")); 566 buttons.add(createButton("<")); 567 buttons.add(createButton(">")); 589 buttons.add(addButton = createButton("<")); 590 buttons.add(removeButton = createButton(">")); 568 591 buttons.add(downButton = createButton("down")); 569 upButton.setEnabled(false); 570 downButton.setEnabled(false); 592 updateEnabledState(); 571 593 572 594 final JPanel p = new JPanel(); … … 621 643 for (int i = 0; i < selected.size(); ++i) { 622 644 if (selected.get(i) == ActionDefinition.SEPARATOR) { 645 623 646 t.add("|"); 647 624 648 } else { 625 649 t.add(parser.saveAction((ActionDefinition)(selected.get(i)))); 626 650 } 651 } 652 if (t.isEmpty()) { 653 t = Collections.singletonList(EMPTY_TOOLBAR_MARKER); 627 654 } 628 655 Main.pref.putCollection("toolbar", t); … … 685 712 686 713 private static Collection<String> getToolString() { 714 687 715 Collection<String> toolStr = Main.pref.getCollection("toolbar", Arrays.asList(deftoolbar)); 688 716 if (toolStr == null || toolStr.size() == 0) { … … 735 763 if (action == ActionDefinition.SEPARATOR) { 736 764 control.addSeparator(); 765 737 766 } else { 738 767 Action a = action.getParametrizedAction();
Note:
See TracChangeset
for help on using the changeset viewer.