Changeset 23815 in osm for applications/editors
- Timestamp:
- 2010-10-24T19:15:57+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/AddressEditDialog.java
r23814 r23815 14 14 package org.openstreetmap.josm.plugins.addressEdit.gui; 15 15 16 import static org.openstreetmap.josm.tools.I18n.tr; 17 16 18 import java.awt.BorderLayout; 17 19 import java.awt.Dimension; 20 import java.awt.FlowLayout; 18 21 import java.awt.GridLayout; 19 22 import java.awt.HeadlessException; 20 23 import java.awt.event.ActionEvent; 21 24 import java.awt.event.ActionListener; 22 import static org.openstreetmap.josm.tools.I18n.tr; 25 23 26 import javax.swing.JButton; 24 27 import javax.swing.JFrame; … … 29 32 import javax.swing.JSplitPane; 30 33 import javax.swing.JTree; 34 import javax.swing.event.TreeSelectionEvent; 35 import javax.swing.event.TreeSelectionListener; 36 import javax.swing.tree.DefaultMutableTreeNode; 31 37 import javax.swing.tree.DefaultTreeModel; 38 import javax.swing.tree.TreeNode; 32 39 33 public class AddressEditDialog extends JFrame implements ActionListener { 40 public class AddressEditDialog extends JFrame implements ActionListener, TreeSelectionListener { 41 private static final String CANCEL_COMMAND = "Cancel"; 42 private static final String OK_COMMAND = "Ok"; 34 43 /** 35 44 * … … 40 49 private JTree incompleteTree; 41 50 private JTree streetsTree; 51 private DefaultMutableTreeNode selStreet; 52 private DefaultMutableTreeNode selUnrAddr; 53 private DefaultMutableTreeNode selIncAddr; 54 55 private AssignAddressToStreetAction resolveAction = new AssignAddressToStreetAction(); 56 57 private AbstractAddressEditAction[] actions = new AbstractAddressEditAction[] { 58 resolveAction 59 }; 42 60 43 61 /** … … 57 75 JPanel streetPanel = new JPanel(new BorderLayout()); 58 76 streetsTree = new JTree(new DefaultTreeModel(model.getStreetsTree())); 77 streetsTree.addTreeSelectionListener(this); 59 78 JScrollPane scroll1 = new JScrollPane(streetsTree); 60 79 streetPanel.add(scroll1, BorderLayout.CENTER); … … 64 83 JPanel unresolvedPanel = new JPanel(new BorderLayout()); 65 84 unresolvedTree = new JTree(new DefaultTreeModel(model.getUnresolvedAddressesTree())); 85 unresolvedTree.addTreeSelectionListener(this); 66 86 JScrollPane scroll2 = new JScrollPane(unresolvedTree); 67 87 unresolvedPanel.add(scroll2, BorderLayout.CENTER); … … 69 89 unresolvedPanel.setMinimumSize(new Dimension(300, 200)); 70 90 91 JPanel unresolvedButtons = new JPanel(new FlowLayout()); 92 JButton assign = new JButton(resolveAction); 93 unresolvedButtons.add(assign); 94 unresolvedPanel.add(unresolvedButtons, BorderLayout.SOUTH); 95 71 96 JPanel incompletePanel = new JPanel(new BorderLayout()); 72 97 incompleteTree = new JTree(new DefaultTreeModel(model.getIncompleteAddressesTree())); 98 incompleteTree.addTreeSelectionListener(this); 73 99 JScrollPane scroll3 = new JScrollPane(incompleteTree); 74 100 incompletePanel.add(scroll3, BorderLayout.CENTER); … … 85 111 86 112 JPanel buttonPanel = new JPanel(new GridLayout(1,10)); 87 JButton ok = new JButton( "Ok");113 JButton ok = new JButton(OK_COMMAND); 88 114 ok.addActionListener(this); 89 JButton cancel = new JButton( "Cancel");115 JButton cancel = new JButton(CANCEL_COMMAND); 90 116 cancel.addActionListener(this); 91 117 … … 117 143 @Override 118 144 public void actionPerformed(ActionEvent e) { 145 if (OK_COMMAND.equals(e.getActionCommand())) { 146 this.setVisible(false); 147 } 119 148 149 // TODO: Check, if there is some kind of undo; otherwise this button is not necessary 150 if (CANCEL_COMMAND.equals(e.getActionCommand())) { 151 this.setVisible(false); 152 } 153 } 154 155 @Override 156 public void valueChanged(TreeSelectionEvent event) { 157 // Updates the selection 158 if (event.getSource() == streetsTree) { 159 selStreet = (DefaultMutableTreeNode) streetsTree.getLastSelectedPathComponent(); 160 } 161 162 if (event.getSource() == unresolvedTree) { 163 selUnrAddr = (DefaultMutableTreeNode) unresolvedTree.getLastSelectedPathComponent(); 164 } 165 166 if (event.getSource() == incompleteTree) { 167 selIncAddr = (DefaultMutableTreeNode) incompleteTree.getLastSelectedPathComponent(); 168 } 169 170 AddressSelectionEvent ev = new AddressSelectionEvent(event.getSource(), 171 selStreet, selUnrAddr, selIncAddr); 172 for (AbstractAddressEditAction action : actions) { 173 action.updateEnabledState(ev); 174 } 120 175 } 121 176 }
Note:
See TracChangeset
for help on using the changeset viewer.