Changeset 1190 in josm for trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java
- Timestamp:
- 2008-12-29T19:21:40+01:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java
r1169 r1190 5 5 import java.util.LinkedList; 6 6 import java.util.List; 7 import java.util.Map; 7 8 import java.util.Iterator; 8 9 9 10 import org.openstreetmap.josm.data.osm.Node; 11 import org.openstreetmap.josm.data.osm.OsmPrimitive; 10 12 import org.openstreetmap.josm.data.osm.OsmUtils; 13 import org.openstreetmap.josm.data.osm.Relation; 11 14 import org.openstreetmap.josm.data.osm.Way; 12 15 import org.openstreetmap.josm.Main; … … 46 49 public void add(String name, String k, String v, String b, LineElemStyle style) 47 50 { 48 getStyleSet(name, true).lines.put(getKey(k,v,b), style); 51 String key = getKey(k,v,b); 52 style.code = key; 53 getStyleSet(name, true).lines.put(key, style); 49 54 } 50 55 51 56 public void addModifier(String name, String k, String v, String b, LineElemStyle style) 52 57 { 53 getStyleSet(name, true).modifiers.put(getKey(k,v,b), style); 58 String key = getKey(k,v,b); 59 style.code = key; 60 getStyleSet(name, true).modifiers.put(key, style); 54 61 } 55 62 56 63 public void add(String name, String k, String v, String b, AreaElemStyle style) 57 64 { 58 getStyleSet(name, true).areas.put(getKey(k,v,b), style); 65 String key = getKey(k,v,b); 66 style.code = key; 67 getStyleSet(name, true).areas.put(key, style); 59 68 } 60 69 61 70 public void add(String name, String k, String v, String b, IconElemStyle style) 62 71 { 63 getStyleSet(name, true).icons.put(getKey(k,v,b), style); 72 String key = getKey(k,v,b); 73 style.code = key; 74 getStyleSet(name, true).icons.put(key, style); 64 75 } 65 76 … … 109 120 } 110 121 111 public ElemStyle get(Way w) 112 { 113 StyleSet ss = getStyleSet(null, false); 114 if(ss == null || w.keys == null) 115 return null; 122 private ElemStyle get(Map<String, String> keys, StyleSet ss) 123 { 116 124 AreaElemStyle retArea = null; 117 125 LineElemStyle retLine = null; 118 126 String linestring = null; 119 127 HashMap<String, LineElemStyle> over = new HashMap<String, LineElemStyle>(); 120 Iterator<String> iterator = w.keys.keySet().iterator();128 Iterator<String> iterator = keys.keySet().iterator(); 121 129 while(iterator.hasNext()) 122 130 { 123 131 String key = iterator.next(); 124 String val = w.keys.get(key);132 String val = keys.get(key); 125 133 AreaElemStyle styleArea; 126 134 LineElemStyle styleLine; … … 173 181 } 174 182 175 public boolean isArea(Way w) 176 { 177 StyleSet ss = getStyleSet(null, false); 178 if(ss != null && w.keys != null) 179 { 180 Iterator<String> iterator = w.keys.keySet().iterator(); 181 while(iterator.hasNext()) 182 { 183 String key = iterator.next(); 184 String val = w.keys.get(key); 185 if(ss.areas.containsKey("n" + key + "=" + val) 186 || ss.areas.containsKey("n" + key + "=" + OsmUtils.getNamedOsmBoolean(val)) 187 || ss.areas.containsKey("x" + key)) 188 return true; 189 } 183 public ElemStyle get(Way w) 184 { 185 StyleSet ss = getStyleSet(null, false); 186 return (ss == null || w.keys == null) ? null : get(w.keys, ss); 187 } 188 189 public ElemStyle get(Relation r) 190 { 191 StyleSet ss = getStyleSet(null, false); 192 return (ss == null || r.keys == null) ? null : get(r.keys, ss); 193 } 194 195 private boolean isArea(Map<String, String> keys, StyleSet ss) 196 { 197 Iterator<String> iterator = keys.keySet().iterator(); 198 while(iterator.hasNext()) 199 { 200 String key = iterator.next(); 201 String val = keys.get(key); 202 if(ss.areas.containsKey("n" + key + "=" + val) 203 || ss.areas.containsKey("n" + key + "=" + OsmUtils.getNamedOsmBoolean(val)) 204 || ss.areas.containsKey("x" + key)) 205 return true; 190 206 } 191 207 return false; 192 208 } 209 210 public boolean isArea(OsmPrimitive o) 211 { 212 StyleSet ss = getStyleSet(null, false); 213 return (ss != null && o.keys != null && !(o instanceof Node)) 214 ? isArea(o.keys, ss) : false; 215 } 216 193 217 public boolean hasAreas() 194 218 {
Note:
See TracChangeset
for help on using the changeset viewer.