Changeset 19589 in josm for trunk


Ignore:
Timestamp:
2026-07-23T17:50:07+02:00 (37 hours ago)
Author:
stoecker
Message:

fix #24699 - switch neutralStyle to prefix based configuration options

Location:
trunk/src/org/openstreetmap/josm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java

    r19549 r19589  
    1515
    1616    /** The unique instance **/
    17     public static final MapPaintSettings INSTANCE = new MapPaintSettings();
    18 
     17    public static final MapPaintSettings INSTANCE = new MapPaintSettings("");
     18
     19    private final String prefix;
    1920    private boolean useRealWidth;
    2021    /** Preference: should directional arrows be displayed */
     
    6768    private Color taggedConnectionColor;
    6869
    69     private MapPaintSettings() {
     70    private MapPaintSettings(String prefix) {
     71        this.prefix = prefix;
    7072        load();
    7173        Config.getPref().addPreferenceChangeListener(this);
     
    7375
    7476    /**
    75      * Creates MapPaintSettings with most neutral settings, that do not override MapCSS.
     77     * Creates MapPaintSettings with optional prefix to fine-tune settings influence
    7678     * Useful for MapCSS CLI/Plugin rendering, via {@link org.openstreetmap.josm.gui.mappaint.RenderingHelper}
     79     * @param prefix a option prefix, should be lowercase with a dot at the end
    7780     * @return a new MapPaintSettings instance with neutral values.
    78      * @since 19549
    79      */
    80     public static MapPaintSettings createNeutralSettings() {
    81         MapPaintSettings neutralSettings = new MapPaintSettings();
    82         neutralSettings.useRealWidth = false; // Real width is not used (at least currently)
    83         neutralSettings.showDirectionArrow = false; // Direction arrows are turned off
    84         neutralSettings.showOnewayArrow = false; // One way arrows are disabled
    85         neutralSettings.showNamesDistance = 0; // Forced labels are turned off
    86         neutralSettings.showOrderNumber = false;
    87         neutralSettings.showOrderNumberOnSelectedWay = false;
    88         neutralSettings.outlineOnly = false;
    89         return neutralSettings;
     81     * @since 19589
     82     */
     83    public static MapPaintSettings createSettings(String prefix) {
     84        return new MapPaintSettings(name);
    9085    }
    9186
    9287    private void load() {
    93         showDirectionArrow = Config.getPref().getBoolean("draw.segment.direction", false);
    94         showOnewayArrow = Config.getPref().getBoolean("draw.oneway", true);
    95         useRealWidth = Config.getPref().getBoolean("mappaint.useRealWidth", false);
    96         defaultSegmentWidth = Config.getPref().getInt("mappaint.segment.default-width", 2);
     88        showDirectionArrow = Config.getPref().getBoolean(prefix+"draw.segment.direction", false);
     89        showOnewayArrow = Config.getPref().getBoolean(prefix+"draw.oneway", true);
     90        useRealWidth = Config.getPref().getBoolean(prefix+"mappaint.useRealWidth", false);
     91        defaultSegmentWidth = Config.getPref().getInt(prefix+"mappaint.segment.default-width", 2);
    9792
    9893        selectedColor = PaintColors.SELECTED.get();
     
    109104        }
    110105
    111         showOrderNumber = Config.getPref().getBoolean("draw.segment.order_number", false);
    112         showOrderNumberOnSelectedWay = Config.getPref().getBoolean("draw.segment.order_number.on_selected", false);
    113         showHeadArrowOnly = Config.getPref().getBoolean("draw.segment.head_only", false);
    114 
    115         showNamesDistance = Config.getPref().getInt("mappaint.shownames", 10_000_000);
    116         useStrokesDistance = Config.getPref().getInt("mappaint.strokes", 10_000_000);
    117         showIconsDistance = Config.getPref().getInt("mappaint.showicons", 10_000_000);
    118 
    119         selectedNodeSize = Config.getPref().getInt("mappaint.node.selected-size", 5);
    120         unselectedNodeSize = Config.getPref().getInt("mappaint.node.unselected-size", 3);
    121         connectionNodeSize = Config.getPref().getInt("mappaint.node.connection-size", 5);
    122         taggedNodeSize = Config.getPref().getInt("mappaint.node.tagged-size", 3);
    123         fillSelectedNode = Config.getPref().getBoolean("mappaint.node.fill-selected", true);
    124         fillUnselectedNode = Config.getPref().getBoolean("mappaint.node.fill-unselected", false);
    125         fillTaggedNode = Config.getPref().getBoolean("mappaint.node.fill-tagged", true);
    126         fillConnectionNode = Config.getPref().getBoolean("mappaint.node.fill-connection", false);
    127 
    128         outlineOnly = Config.getPref().getBoolean("draw.data.area_outline_only", false);
     106        showOrderNumber = Config.getPref().getBoolean(prefix+"draw.segment.order_number", false);
     107        showOrderNumberOnSelectedWay = Config.getPref().getBoolean(prefix+"draw.segment.order_number.on_selected", false);
     108        showHeadArrowOnly = Config.getPref().getBoolean(prefix+"draw.segment.head_only", false);
     109
     110        showNamesDistance = Config.getPref().getInt(prefix+"mappaint.shownames", 10_000_000);
     111        useStrokesDistance = Config.getPref().getInt(prefix+"mappaint.strokes", 10_000_000);
     112        showIconsDistance = Config.getPref().getInt(prefix+"mappaint.showicons", 10_000_000);
     113
     114        selectedNodeSize = Config.getPref().getInt(prefix+"mappaint.node.selected-size", 5);
     115        unselectedNodeSize = Config.getPref().getInt(prefix+"mappaint.node.unselected-size", 3);
     116        connectionNodeSize = Config.getPref().getInt(prefix+"mappaint.node.connection-size", 5);
     117        taggedNodeSize = Config.getPref().getInt(prefix+"mappaint.node.tagged-size", 3);
     118        fillSelectedNode = Config.getPref().getBoolean(prefix+"mappaint.node.fill-selected", true);
     119        fillUnselectedNode = Config.getPref().getBoolean(prefix+"mappaint.node.fill-unselected", false);
     120        fillTaggedNode = Config.getPref().getBoolean(prefix+"mappaint.node.fill-tagged", true);
     121        fillConnectionNode = Config.getPref().getBoolean(prefix+"mappaint.node.fill-connection", false);
     122
     123        outlineOnly = Config.getPref().getBoolean(prefix+"draw.data.area_outline_only", false);
    129124    }
    130125
  • trunk/src/org/openstreetmap/josm/gui/mappaint/RenderingHelper.java

    r19549 r19589  
    4545    private Color backgroundColor;
    4646    private boolean fillBackground = true;
     47    private String prefix = "";
    4748    private PrintStream debugStream;
    4849
     
    185186            g.fillRect(0, 0, imgDimPx.width, imgDimPx.height);
    186187        }
    187         StyledMapRenderer smr = new StyledMapRenderer(g, nc, false, MapPaintSettings.createNeutralSettings());
     188        StyledMapRenderer smr = new StyledMapRenderer(g, nc, false, MapPaintSettings.createSettings(prefix));
    188189        smr.setStyles(elemStyles);
    189190        smr.render(ds, false, bounds);
     
    208209        this.debugStream = debugStream;
    209210    }
     211
     212    /**
     213     * Set a prefix for rendering style defaults.
     214     * @param prefix the option prefix used when accessing style settings, should be lowercase with a dot at the end
     215     * @since 19589
     216     */
     217    void setPrefix(String prefix) {
     218        this.prefix = prefix;
     219    }
    210220}
Note: See TracChangeset for help on using the changeset viewer.