Ticket #19197: 19197.1.patch
| File 19197.1.patch, 2.9 KB (added by , 6 years ago) |
|---|
-
src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java
20 20 import org.openstreetmap.josm.data.osm.visitor.paint.PaintColors; 21 21 import org.openstreetmap.josm.data.osm.visitor.paint.relations.Multipolygon; 22 22 import org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache; 23 import org.openstreetmap.josm.data.preferences.NamedColorProperty; 23 24 import org.openstreetmap.josm.gui.MainApplication; 24 25 import org.openstreetmap.josm.gui.NavigatableComponent; 25 26 import org.openstreetmap.josm.gui.layer.OsmDataLayer; … … 39 40 import org.openstreetmap.josm.spi.preferences.Config; 40 41 import org.openstreetmap.josm.spi.preferences.PreferenceChangeEvent; 41 42 import org.openstreetmap.josm.spi.preferences.PreferenceChangedListener; 43 import org.openstreetmap.josm.tools.ColorHelper; 42 44 import org.openstreetmap.josm.tools.Pair; 43 45 44 46 /** … … 603 605 * as frequent preference lookup (using <code>Config.getPref().get()</code>) for 604 606 * each primitive can be slow during rendering. 605 607 * 608 * @param source style source 606 609 * @param key preference key 607 610 * @param def default value 608 611 * @return the corresponding preference value 609 612 * @see org.openstreetmap.josm.data.Preferences#get(String, String) 610 613 */ 611 public String getPreferenceCached(St ring key, String def) {614 public String getPreferenceCached(StyleSource source, String key, String def) { 612 615 String res; 613 616 if (preferenceCache.containsKey(key)) { 614 617 res = preferenceCache.get(key); 615 618 } else { 616 res = Config.getPref().get(key, null); 619 Object realDef = Cascade.convertTo(def, Color.class); 620 if (realDef instanceof Color) { 621 res = ColorHelper.color2html(new NamedColorProperty(NamedColorProperty.COLOR_CATEGORY_MAPPAINT, source.getFileNamePart(), key, (Color) realDef).get()); 622 } else { 623 res = Config.getPref().get(key, null); 624 } 617 625 preferenceCache.put(key, res); 618 626 } 619 627 return res != null ? res : def; -
src/org/openstreetmap/josm/gui/mappaint/mapcss/Functions.java
773 773 * @return value for key, or default value if not found 774 774 */ 775 775 public static String JOSM_pref(Environment env, String key, String def) { // NO_UCD (unused code) 776 return MapPaintStyles.getStyles().getPreferenceCached( key, def);776 return MapPaintStyles.getStyles().getPreferenceCached(env.source, key, def); 777 777 } 778 778 779 779 /**
