source: josm/trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java@ 3836

Last change on this file since 3836 was 3691, checked in by framm, 14 years ago
  • add preference to draw outlines for polygons only, overriding any style settings. this helps tracing from aerial imagery when you have landuse=residential everywhere obscuring the view.
  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain
File size: 5.8 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.osm.visitor.paint;
3
4import java.awt.Color;
5
6import org.openstreetmap.josm.Main;
7import org.openstreetmap.josm.data.Preferences.PreferenceChangeEvent;
8import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener;
9
10public class MapPaintSettings implements PreferenceChangedListener {
11
12 public static final MapPaintSettings INSTANCE = new MapPaintSettings();
13
14 private boolean useRealWidth;
15 private boolean showDirectionArrow;
16 private boolean showRelevantDirectionsOnly;
17 private int defaultSegmentWidth;
18 private boolean showOrderNumber;
19 private boolean showHeadArrowOnly;
20 private int showNamesDistance;
21 private int useStrokesDistance;
22 private int showIconsDistance;
23 private int selectedNodeSize;
24 private int connectionNodeSize;
25 private int unselectedNodeSize;
26 private int taggedNodeSize;
27 private boolean fillSelectedNode;
28 private boolean fillUnselectedNode;
29 private boolean fillTaggedNode;
30 private boolean fillConnectionNode;
31 private boolean outlineOnly;
32 private Color selectedColor;
33 private Color relationSelectedColor;
34 private Color highlightColor;
35 private Color inactiveColor;
36 private Color nodeColor;
37 private Color taggedColor;
38 private Color connectionColor;
39 private Color taggedConnectionColor;
40
41 private MapPaintSettings() {
42 load();
43 Main.pref.addPreferenceChangeListener(this);
44 }
45
46 private void load() {
47 showDirectionArrow = Main.pref.getBoolean("draw.segment.direction", true);
48 showRelevantDirectionsOnly = Main.pref.getBoolean("draw.segment.relevant_directions_only", true);
49 useRealWidth = Main.pref.getBoolean("mappaint.useRealWidth", false);
50 defaultSegmentWidth = Main.pref.getInteger("mappaint.segment.default-width", 2);
51
52 selectedColor = PaintColors.SELECTED.get();
53 relationSelectedColor = PaintColors.RELATIONSELECTED.get();
54 highlightColor = PaintColors.HIGHLIGHT.get();
55 inactiveColor = PaintColors.INACTIVE.get();
56 nodeColor = PaintColors.NODE.get();
57 taggedColor = PaintColors.TAGGED.get();
58 connectionColor = PaintColors.CONNECTION.get();
59 if (taggedColor != nodeColor) {
60 taggedConnectionColor = taggedColor;
61 } else {
62 taggedConnectionColor = connectionColor;
63 }
64
65
66 showOrderNumber = Main.pref.getBoolean("draw.segment.order_number", false);
67 showHeadArrowOnly = Main.pref.getBoolean("draw.segment.head_only", false);
68
69 showNamesDistance = Main.pref.getInteger("mappaint.shownames", 10000000);
70 useStrokesDistance = Main.pref.getInteger("mappaint.strokes", 10000000);
71 showIconsDistance = Main.pref.getInteger("mappaint.showicons", 10000000);
72
73 selectedNodeSize = Main.pref.getInteger("mappaint.node.selected-size", 5);
74 unselectedNodeSize = Main.pref.getInteger("mappaint.node.unselected-size", 3);
75 connectionNodeSize = Main.pref.getInteger("mappaint.node.connection-size", 5);
76 taggedNodeSize = Main.pref.getInteger("mappaint.node.tagged-size", 3);
77 fillSelectedNode = Main.pref.getBoolean("mappaint.node.fill-selected", true);
78 fillUnselectedNode = Main.pref.getBoolean("mappaint.node.fill-unselected", false);
79 fillTaggedNode = Main.pref.getBoolean("mappaint.node.fill-tagged", true);
80 fillConnectionNode = Main.pref.getBoolean("mappaint.node.fill-connection", false);
81
82 outlineOnly = Main.pref.getBoolean("draw.data.area_outline_only", false);
83
84 }
85
86 public void preferenceChanged(PreferenceChangeEvent e) {
87 load();
88 }
89
90 public boolean isUseRealWidth() {
91 return useRealWidth;
92 }
93
94 public boolean isShowDirectionArrow() {
95 return showDirectionArrow;
96 }
97
98 public boolean isShowRelevantDirectionsOnly() {
99 return showRelevantDirectionsOnly;
100 }
101
102 public int getDefaultSegmentWidth() {
103 return defaultSegmentWidth;
104 }
105
106 public Color getSelectedColor() {
107 return selectedColor;
108 }
109
110 public Color getRelationSelectedColor() {
111 return relationSelectedColor;
112 }
113
114 public Color getHighlightColor() {
115 return highlightColor;
116 }
117
118 public Color getInactiveColor() {
119 return inactiveColor;
120 }
121
122 public Color getNodeColor() {
123 return nodeColor;
124 }
125
126 public Color getTaggedColor() {
127 return taggedColor;
128 }
129
130 public Color getConnectionColor() {
131 return connectionColor;
132 }
133
134 public Color getTaggedConnectionColor() {
135 return taggedConnectionColor;
136 }
137
138 public boolean isShowOrderNumber() {
139 return showOrderNumber;
140 }
141
142 public void setShowHeadArrowOnly(boolean showHeadArrowOnly) {
143 this.showHeadArrowOnly = showHeadArrowOnly;
144 }
145
146 public boolean isShowHeadArrowOnly() {
147 return showHeadArrowOnly;
148 }
149
150 public int getShowNamesDistance() {
151 return showNamesDistance;
152 }
153
154 public int getUseStrokesDistance() {
155 return useStrokesDistance;
156 }
157
158 public int getShowIconsDistance() {
159 return showIconsDistance;
160 }
161
162 public int getSelectedNodeSize() {
163 return selectedNodeSize;
164 }
165
166 public int getConnectionNodeSize() {
167 return connectionNodeSize;
168 }
169
170 public int getUnselectedNodeSize() {
171 return unselectedNodeSize;
172 }
173
174 public int getTaggedNodeSize() {
175 return taggedNodeSize;
176 }
177
178 public boolean isFillSelectedNode() {
179 return fillSelectedNode;
180 }
181
182 public boolean isFillUnselectedNode() {
183 return fillUnselectedNode;
184 }
185
186 public boolean isFillConnectionNode() {
187 return fillConnectionNode;
188 }
189
190 public boolean isFillTaggedNode() {
191 return fillTaggedNode;
192 }
193
194 public boolean isOutlineOnly() {
195 return outlineOnly;
196 }
197}
Note: See TracBrowser for help on using the repository browser.