Changeset 36085 in osm for applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/gui
- Timestamp:
- 2023-05-26T16:46:48+02:00 (2 years ago)
- Location:
- applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/gui
- Files:
-
- 3 edited
-
RoutingDialog.java (modified) (1 diff)
-
RoutingMenu.java (modified) (8 diffs)
-
RoutingPreferenceDialog.java (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/gui/RoutingDialog.java
r33794 r36085 18 18 import com.innovant.josm.plugin.routing.RoutingLayer; 19 19 import com.innovant.josm.plugin.routing.RoutingModel; 20 21 20 22 21 /** -
applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/gui/RoutingMenu.java
r33794 r36085 5 5 import static org.openstreetmap.josm.tools.I18n.tr; 6 6 7 import java.awt.event.ActionEvent;8 import java.awt.event.ActionListener;9 7 import java.awt.event.ItemEvent; 10 import java.awt.event.ItemListener;11 8 import java.awt.event.KeyEvent; 12 9 … … 17 14 import javax.swing.JRadioButtonMenuItem; 18 15 19 import org.openstreetmap.josm.gui.MainApplication;20 import org.openstreetmap.josm.gui.MainMenu;21 22 16 import com.innovant.josm.jrt.core.RoutingGraph.RouteType; 23 17 import com.innovant.josm.plugin.routing.RoutingLayer; 24 18 import com.innovant.josm.plugin.routing.RoutingModel; 25 19 import com.innovant.josm.plugin.routing.RoutingPlugin; 20 import org.openstreetmap.josm.gui.MainApplication; 21 import org.openstreetmap.josm.gui.MainMenu; 26 22 27 23 /** … … 51 47 52 48 startMI = new JMenuItem(tr("Add routing layer")); 53 startMI.addActionListener(new ActionListener() { 54 @Override 55 public void actionPerformed(ActionEvent e) { 56 RoutingPlugin.getInstance().addLayer(); 57 } 58 }); 49 startMI.addActionListener(e -> RoutingPlugin.getInstance().addLayer()); 59 50 menu.add(startMI); 60 51 … … 66 57 JRadioButtonMenuItem rshorter = new JRadioButtonMenuItem(tr("Shortest")); 67 58 rshorter.setSelected(true); 68 rshorter.addItemListener(new ItemListener() { 69 @Override 70 public void itemStateChanged(ItemEvent e) { 71 if (MainApplication.getLayerManager().getActiveLayer() instanceof RoutingLayer) { 72 RoutingLayer layer = (RoutingLayer) MainApplication.getLayerManager().getActiveLayer(); 73 RoutingModel routingModel = layer.getRoutingModel(); 74 if (e.getStateChange() == ItemEvent.SELECTED) { 75 routingModel.routingGraph.setTypeRoute(RouteType.SHORTEST); 76 } else { 77 routingModel.routingGraph.setTypeRoute(RouteType.FASTEST); 78 } 79 // routingModel.routingGraph.resetGraph(); 80 // routingModel.routingGraph.createGraph(); 81 //TODO: Change this way 82 //FIXME: do not change node but recalculate routing. 83 routingModel.setNodesChanged(); 84 MainApplication.getMap().repaint(); 59 rshorter.addItemListener(e -> { 60 if (MainApplication.getLayerManager().getActiveLayer() instanceof RoutingLayer) { 61 RoutingLayer layer = (RoutingLayer) MainApplication.getLayerManager().getActiveLayer(); 62 RoutingModel routingModel = layer.getRoutingModel(); 63 if (e.getStateChange() == ItemEvent.SELECTED) { 64 routingModel.routingGraph.setTypeRoute(RouteType.SHORTEST); 65 } else { 66 routingModel.routingGraph.setTypeRoute(RouteType.FASTEST); 85 67 } 68 // routingModel.routingGraph.resetGraph(); 69 // routingModel.routingGraph.createGraph(); 70 //TODO: Change this way 71 //FIXME: do not change node but recalculate routing. 72 routingModel.setNodesChanged(); 73 MainApplication.getMap().repaint(); 86 74 } 87 88 75 }); 89 76 … … 96 83 criteriaM.addSeparator(); 97 84 JCheckBoxMenuItem cbmi = new JCheckBoxMenuItem(tr("Ignore oneways")); 98 cbmi.addItemListener(new ItemListener() { 99 @Override 100 public void itemStateChanged(ItemEvent e) { 101 if (MainApplication.getLayerManager().getActiveLayer() instanceof RoutingLayer) { 102 RoutingLayer layer = (RoutingLayer) MainApplication.getLayerManager().getActiveLayer(); 103 RoutingModel routingModel = layer.getRoutingModel(); 104 if (e.getStateChange() == ItemEvent.SELECTED) 105 routingModel.routingGraph.getRoutingProfile().setOnewayUse(false); 106 else 107 routingModel.routingGraph.getRoutingProfile().setOnewayUse(true); 108 routingModel.setNodesChanged(); 109 routingModel.setOnewayChanged(); 110 MainApplication.getMap().repaint(); 111 } 85 cbmi.addItemListener(e -> { 86 if (MainApplication.getLayerManager().getActiveLayer() instanceof RoutingLayer) { 87 RoutingLayer layer = (RoutingLayer) MainApplication.getLayerManager().getActiveLayer(); 88 RoutingModel routingModel = layer.getRoutingModel(); 89 routingModel.routingGraph.getRoutingProfile().setOnewayUse(e.getStateChange() != ItemEvent.SELECTED); 90 routingModel.setNodesChanged(); 91 routingModel.setOnewayChanged(); 92 MainApplication.getMap().repaint(); 112 93 } 113 94 }); … … 117 98 menu.addSeparator(); 118 99 reverseMI = new JMenuItem(tr("Reverse route")); 119 reverseMI.addActionListener(new ActionListener() { 120 @Override 121 public void actionPerformed(ActionEvent e) { 122 if (MainApplication.getLayerManager().getActiveLayer() instanceof RoutingLayer) { 123 RoutingLayer layer = (RoutingLayer) MainApplication.getLayerManager().getActiveLayer(); 124 RoutingModel routingModel = layer.getRoutingModel(); 125 routingModel.reverseNodes(); 126 MainApplication.getMap().repaint(); 127 } 100 reverseMI.addActionListener(e -> { 101 if (MainApplication.getLayerManager().getActiveLayer() instanceof RoutingLayer) { 102 RoutingLayer layer = (RoutingLayer) MainApplication.getLayerManager().getActiveLayer(); 103 RoutingModel routingModel = layer.getRoutingModel(); 104 routingModel.reverseNodes(); 105 MainApplication.getMap().repaint(); 128 106 } 129 107 }); … … 131 109 132 110 clearMI = new JMenuItem(tr("Clear route")); 133 clearMI.addActionListener(new ActionListener() { 134 @Override 135 public void actionPerformed(ActionEvent e) { 136 if (MainApplication.getLayerManager().getActiveLayer() instanceof RoutingLayer) { 137 RoutingLayer layer = (RoutingLayer) MainApplication.getLayerManager().getActiveLayer(); 138 RoutingModel routingModel = layer.getRoutingModel(); 139 // Reset routing nodes and paths 140 routingModel.reset(); 141 RoutingPlugin.getInstance().getRoutingDialog().clearNodes(); 142 MainApplication.getMap().repaint(); 143 } 111 clearMI.addActionListener(e -> { 112 if (MainApplication.getLayerManager().getActiveLayer() instanceof RoutingLayer) { 113 RoutingLayer layer = (RoutingLayer) MainApplication.getLayerManager().getActiveLayer(); 114 RoutingModel routingModel = layer.getRoutingModel(); 115 // Reset routing nodes and paths 116 routingModel.reset(); 117 RoutingPlugin.getInstance().getRoutingDialog().clearNodes(); 118 MainApplication.getMap().repaint(); 144 119 } 145 120 }); … … 147 122 148 123 regraphMI = new JMenuItem(tr("Reconstruct Graph")); 149 regraphMI.addActionListener(new ActionListener() { 150 @Override 151 public void actionPerformed(ActionEvent e) { 152 if (MainApplication.getLayerManager().getActiveLayer() instanceof RoutingLayer) { 153 RoutingLayer layer = (RoutingLayer) MainApplication.getLayerManager().getActiveLayer(); 154 RoutingModel routingModel = layer.getRoutingModel(); 155 routingModel.routingGraph.resetGraph(); 156 routingModel.routingGraph.createGraph(); 157 } 124 regraphMI.addActionListener(e -> { 125 if (MainApplication.getLayerManager().getActiveLayer() instanceof RoutingLayer) { 126 RoutingLayer layer = (RoutingLayer) MainApplication.getLayerManager().getActiveLayer(); 127 RoutingModel routingModel = layer.getRoutingModel(); 128 routingModel.routingGraph.resetGraph(); 129 routingModel.routingGraph.createGraph(); 158 130 } 159 131 }); -
applications/editors/josm/plugins/routing/src/com/innovant/josm/plugin/routing/gui/RoutingPreferenceDialog.java
r34554 r36085 7 7 import java.awt.Dimension; 8 8 import java.awt.GridBagLayout; 9 import java.awt.event.ActionEvent;10 import java.awt.event.ActionListener;11 9 import java.awt.event.MouseAdapter; 12 10 import java.awt.event.MouseEvent; … … 26 24 import javax.swing.table.DefaultTableModel; 27 25 28 import org.apache.log4j.Logger;26 import com.innovant.josm.jrt.osm.OsmWayTypes; 29 27 import org.openstreetmap.josm.data.Preferences; 30 28 import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting; … … 32 30 import org.openstreetmap.josm.spi.preferences.Config; 33 31 import org.openstreetmap.josm.tools.GBC; 34 35 import com.innovant.josm.jrt.osm.OsmWayTypes; 32 import org.openstreetmap.josm.tools.Logging; 36 33 37 34 public class RoutingPreferenceDialog extends DefaultTabPreferenceSetting { 38 35 39 /**40 * Logger41 */42 static Logger logger = Logger.getLogger(RoutingPreferenceDialog.class);43 36 44 37 private Map<String, String> orig; … … 81 74 p.add(Box.createHorizontalGlue(), GBC.std().fill(GBC.HORIZONTAL)); 82 75 p.add(add, GBC.std().insets(0, 5, 0, 0)); 83 add.addActionListener(new ActionListener() { 84 @Override 85 public void actionPerformed(ActionEvent e) { 86 JPanel p = new JPanel(new GridBagLayout()); 87 p.add(new JLabel(tr("Weight")), GBC.std().insets(0, 0, 5, 0)); 88 JComboBox<String> key = new JComboBox<>(); 89 for (OsmWayTypes pk : OsmWayTypes.values()) { 90 key.addItem(pk.getTag()); 91 } 92 JTextField value = new JTextField(10); 93 p.add(key, GBC.eop().insets(5, 0, 0, 0).fill(GBC.HORIZONTAL)); 94 p.add(new JLabel(tr("Value")), GBC.std().insets(0, 0, 5, 0)); 95 p.add(value, GBC.eol().insets(5, 0, 0, 0).fill(GBC.HORIZONTAL)); 96 int answer = JOptionPane.showConfirmDialog(gui, p, 97 tr("Enter weight values"), 98 JOptionPane.OK_CANCEL_OPTION); 99 if (answer == JOptionPane.OK_OPTION) { 100 model 101 .addRow(new String[] { 102 key.getSelectedItem().toString(), 103 value.getText() }); 104 } 76 add.addActionListener(e -> { 77 JPanel p1 = new JPanel(new GridBagLayout()); 78 p1.add(new JLabel(tr("Weight")), GBC.std().insets(0, 0, 5, 0)); 79 JComboBox<String> key = new JComboBox<>(); 80 for (OsmWayTypes pk : OsmWayTypes.values()) { 81 key.addItem(pk.getTag()); 82 } 83 JTextField value = new JTextField(10); 84 p1.add(key, GBC.eop().insets(5, 0, 0, 0).fill(GBC.HORIZONTAL)); 85 p1.add(new JLabel(tr("Value")), GBC.std().insets(0, 0, 5, 0)); 86 p1.add(value, GBC.eol().insets(5, 0, 0, 0).fill(GBC.HORIZONTAL)); 87 int answer = JOptionPane.showConfirmDialog(gui, p1, 88 tr("Enter weight values"), 89 JOptionPane.OK_CANCEL_OPTION); 90 if (answer == JOptionPane.OK_OPTION) { 91 model 92 .addRow(new String[] { 93 key.getSelectedItem().toString(), 94 value.getText() }); 105 95 } 106 96 }); … … 108 98 JButton delete = new JButton(tr("Delete")); 109 99 p.add(delete, GBC.std().insets(0, 5, 0, 0)); 110 delete.addActionListener(new ActionListener() { 111 @Override 112 public void actionPerformed(ActionEvent e) { 113 if (list.getSelectedRow() == -1) 114 JOptionPane.showMessageDialog(gui, 115 tr("Please select the row to delete.")); 116 else { 117 Integer i; 118 while ((i = list.getSelectedRow()) != -1) { 119 model.removeRow(i); 120 } 100 delete.addActionListener(e -> { 101 if (list.getSelectedRow() == -1) 102 JOptionPane.showMessageDialog(gui, 103 tr("Please select the row to delete.")); 104 else { 105 int i; 106 while ((i = list.getSelectedRow()) != -1) { 107 model.removeRow(i); 121 108 } 122 109 } … … 125 112 JButton edit = new JButton(tr("Edit")); 126 113 p.add(edit, GBC.std().insets(5, 5, 5, 0)); 127 edit.addActionListener(new ActionListener() { 128 @Override 129 public void actionPerformed(ActionEvent e) { 130 edit(gui, list); 131 } 132 }); 114 edit.addActionListener(e -> edit(gui, list)); 133 115 134 JTabbedPane Opciones = new JTabbedPane();135 Opciones.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);116 JTabbedPane options = new JTabbedPane(); 117 options.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); 136 118 137 Opciones.addTab("Profile", null, p, null);138 // Opciones.addTab("Preferences", new JPanel());119 options.addTab("Profile", null, p, null); 120 // options.addTab("Preferences", new JPanel()); 139 121 140 122 list.addMouseListener(new MouseAdapter() { … … 145 127 }); 146 128 147 principal.add( Opciones, GBC.eol().fill(GBC.BOTH));129 principal.add(options, GBC.eol().fill(GBC.BOTH)); 148 130 149 131 } … … 184 166 readPreferences(); 185 167 // Put these values in the model 186 for ( String tag: orig.keySet()) {187 model.addRow(new String[] { tag, orig.get(tag)});168 for (Map.Entry<String, String> entry : orig.entrySet()) { 169 model.addRow(new String[] {entry.getKey(), entry.getValue()}); 188 170 } 189 171 } … … 192 174 orig = Preferences.main().getAllPrefix("routing.profile.default.speed"); 193 175 if (orig.size() == 0) { // defaults 194 logger.debug("Loading Default Preferences.");176 Logging.trace("Loading Default Preferences."); 195 177 for (OsmWayTypes owt : OsmWayTypes.values()) { 196 178 Config.getPref().putInt("routing.profile.default.speed." … … 198 180 } 199 181 orig = Preferences.main().getAllPrefix("routing.profile.default.speed"); 200 } else logger.debug("Default preferences already exist.");182 } else Logging.trace("Default preferences already exist."); 201 183 } 202 184 /*
Note:
See TracChangeset
for help on using the changeset viewer.
