diff --git a/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java b/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java
index 10d43d2..697153c 100644
|
a
|
b
|
|
| 25 | 25 | private int defaultSegmentWidth; |
| 26 | 26 | /** Preference: should the segment numbers of ways be displayed */ |
| 27 | 27 | private boolean showOrderNumber; |
| | 28 | /** Preference: should the segment numbers of ways be displayed on selected way */ |
| | 29 | private boolean showOrderNumberOnSelectedWay; |
| 28 | 30 | /** Preference: should only the last arrow of a way be displayed */ |
| 29 | 31 | private boolean showHeadArrowOnly; |
| 30 | 32 | private int showNamesDistance; |
| … |
… |
private void load() {
|
| 89 | 91 | } |
| 90 | 92 | |
| 91 | 93 | showOrderNumber = Main.pref.getBoolean("draw.segment.order_number", false); |
| | 94 | showOrderNumberOnSelectedWay = Main.pref.getBoolean("draw.segment.order_number.on_selected", false); |
| 92 | 95 | showHeadArrowOnly = Main.pref.getBoolean("draw.segment.head_only", false); |
| 93 | 96 | |
| 94 | 97 | showNamesDistance = Main.pref.getInteger("mappaint.shownames", 10000000); |
| … |
… |
public boolean isShowOrderNumber() {
|
| 235 | 238 | } |
| 236 | 239 | |
| 237 | 240 | /** |
| | 241 | * Determines if the segment numbers of the selected way should be displayed |
| | 242 | * @return {@code true} if the segment numbers of the selected way should be displayed |
| | 243 | */ |
| | 244 | public boolean isShowOrderNumberOnSelectedWay() { |
| | 245 | return showOrderNumberOnSelectedWay; |
| | 246 | } |
| | 247 | |
| | 248 | /** |
| 238 | 249 | * Specifies if only the last arrow of a way should be displayed |
| 239 | 250 | * @param showHeadArrowOnly {@code true} if only the last arrow of a way should be displayed |
| 240 | 251 | */ |
diff --git a/src/org/openstreetmap/josm/data/osm/visitor/paint/WireframeMapRenderer.java b/src/org/openstreetmap/josm/data/osm/visitor/paint/WireframeMapRenderer.java
index 214b38d..6835a30 100644
|
a
|
b
|
|
| 59 | 59 | protected boolean showHeadArrowOnly; |
| 60 | 60 | /** Preference: should the segment numbers of ways be displayed */ |
| 61 | 61 | protected boolean showOrderNumber; |
| | 62 | /** Preference: should the segment numbers of the selected be displayed */ |
| | 63 | protected boolean showOrderNumberOnSelectedWay; |
| 62 | 64 | /** Preference: should selected nodes be filled */ |
| 63 | 65 | protected boolean fillSelectedNode; |
| 64 | 66 | /** Preference: should unselected nodes be filled */ |
| … |
… |
protected void getSettings(boolean virtual) {
|
| 133 | 135 | showOnewayArrow = settings.isShowOnewayArrow(); |
| 134 | 136 | showHeadArrowOnly = settings.isShowHeadArrowOnly(); |
| 135 | 137 | showOrderNumber = settings.isShowOrderNumber(); |
| | 138 | showOrderNumberOnSelectedWay = settings.isShowOrderNumberOnSelectedWay(); |
| 136 | 139 | selectedNodeSize = settings.getSelectedNodeSize(); |
| 137 | 140 | unselectedNodeSize = settings.getUnselectedNodeSize(); |
| 138 | 141 | connectionNodeSize = settings.getConnectionNodeSize(); |
| … |
… |
public void visit(Way w) {
|
| 320 | 323 | if ((pOutside & lastPOutside) == 0) { |
| 321 | 324 | drawSegment(lastP, p, wayColor, |
| 322 | 325 | showOnlyHeadArrowOnly ? !it.hasNext() : showThisDirectionArrow); |
| 323 | | if (showOrderNumber && !isInactiveMode) { |
| | 326 | if ((showOrderNumber || (showOrderNumberOnSelectedWay && w.isSelected())) && !isInactiveMode) { |
| 324 | 327 | drawOrderNumber(lastP, p, orderNumber, g.getColor()); |
| 325 | 328 | } |
| 326 | 329 | } |
diff --git a/src/org/openstreetmap/josm/gui/mappaint/styleelement/LineElement.java b/src/org/openstreetmap/josm/gui/mappaint/styleelement/LineElement.java
index f66d4e2..4b024bc 100644
|
a
|
b
|
public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings paintSetting
|
| 115 | 115 | painter.drawWay(w, myColor, myLine, myDashLine, myDashedColor, offset, showOrientation, |
| 116 | 116 | showOnlyHeadArrowOnly, showOneway, onewayReversed); |
| 117 | 117 | |
| 118 | | if (paintSettings.isShowOrderNumber() && !painter.isInactiveMode()) { |
| | 118 | if ((paintSettings.isShowOrderNumber() || (paintSettings.isShowOrderNumberOnSelectedWay() && selected)) |
| | 119 | && !painter.isInactiveMode()) { |
| 119 | 120 | int orderNumber = 0; |
| 120 | 121 | lastN = null; |
| 121 | 122 | for (Node n : w.getNodes()) { |
diff --git a/src/org/openstreetmap/josm/gui/preferences/display/DrawingPreference.java b/src/org/openstreetmap/josm/gui/preferences/display/DrawingPreference.java
index 6e72b6c..fb388bf 100644
|
a
|
b
|
public PreferenceSetting createPreferenceSetting() {
|
| 42 | 42 | private final JCheckBox headArrow = new JCheckBox(tr("Only on the head of a way.")); |
| 43 | 43 | private final JCheckBox onewayArrow = new JCheckBox(tr("Draw oneway arrows.")); |
| 44 | 44 | private final JCheckBox segmentOrderNumber = new JCheckBox(tr("Draw segment order numbers")); |
| | 45 | private final JCheckBox segmentOrderNumberOnSelectedWay = new JCheckBox(tr("Draw segment order numbers on selected way")); |
| 45 | 46 | private final JCheckBox sourceBounds = new JCheckBox(tr("Draw boundaries of downloaded data")); |
| 46 | 47 | private final JCheckBox virtualNodes = new JCheckBox(tr("Draw virtual nodes in select mode")); |
| 47 | 48 | private final JCheckBox inactive = new JCheckBox(tr("Draw inactive layers in other color")); |
| … |
… |
public void addGui(PreferenceTabbedPane gui) {
|
| 91 | 92 | // segment order number |
| 92 | 93 | segmentOrderNumber.setToolTipText(tr("Draw the order numbers of all segments within their way.")); |
| 93 | 94 | segmentOrderNumber.setSelected(Main.pref.getBoolean("draw.segment.order_number", false)); |
| | 95 | segmentOrderNumberOnSelectedWay.setToolTipText(tr("Draw the order numbers of all segments within their way.")); |
| | 96 | segmentOrderNumberOnSelectedWay.setSelected(Main.pref.getBoolean("draw.segment.order_number.on_selected", false)); |
| 94 | 97 | |
| 95 | 98 | // downloaded area |
| 96 | 99 | sourceBounds.setToolTipText(tr("Draw the boundaries of data loaded from the server.")); |
| … |
… |
public void addGui(PreferenceTabbedPane gui) {
|
| 135 | 138 | panel.add(headArrow, GBC.eop().insets(40, 0, 0, 0)); |
| 136 | 139 | panel.add(onewayArrow, GBC.eop().insets(20, 0, 0, 0)); |
| 137 | 140 | panel.add(segmentOrderNumber, GBC.eop().insets(20, 0, 0, 0)); |
| | 141 | panel.add(segmentOrderNumberOnSelectedWay, GBC.eop().insets(20, 0, 0, 0)); |
| 138 | 142 | |
| 139 | 143 | panel.add(new JLabel(tr("Select and draw mode options")), |
| 140 | 144 | GBC.eop().insets(5, 10, 0, 0)); |
| … |
… |
public boolean ok() {
|
| 175 | 179 | Main.pref.put("draw.segment.head_only", headArrow.isSelected()); |
| 176 | 180 | Main.pref.put("draw.oneway", onewayArrow.isSelected()); |
| 177 | 181 | Main.pref.put("draw.segment.order_number", segmentOrderNumber.isSelected()); |
| | 182 | Main.pref.put("draw.segment.order_number.on_selected", segmentOrderNumberOnSelectedWay.isSelected()); |
| 178 | 183 | Main.pref.put("draw.data.downloaded_area", sourceBounds.isSelected()); |
| 179 | 184 | Main.pref.put("draw.data.inactive_color", inactive.isSelected()); |
| 180 | 185 | Main.pref.put("mappaint.use-antialiasing", useAntialiasing.isSelected()); |