Ticket #4876: style-v2.patch

File style-v2.patch, 8.1 KB (added by petschge, 16 years ago)

Fix a bug from the first version of the patch and add support for the MapPaint Style.

  • src/org/openstreetmap/josm/gui/mappaint/SimpleNodeElemStyle.java

     
    2424            painter.drawNode(n, settings.getHighlightColor(), settings.getSelectedNodeSize(), settings.isFillSelectedNode(), name);
    2525        } else if (selected) {
    2626            painter.drawNode(n, settings.getSelectedColor(), settings.getSelectedNodeSize(), settings.isFillSelectedNode(), name);
     27        } else if (n.isTagged()) {
     28            painter.drawNode(n, settings.getTaggedColor(), settings.getTaggedNodeSize(), settings.isFillTaggedNode(), name);
    2729        } else {
    2830            painter.drawNode(
    2931                n,
    30                 (painter.isInactive() || n.isDisabled()) ? settings.getInactiveColor() : settings.getNodeColor(),
     32                (painter.isInactive() || n.isDisabled()) ? settings.getInactiveColor() : (n.isJunctionNode() ? settings.getJunctionColor() : settings.getNodeColor()),
    3133                n.isJunctionNode() ? settings.getJunctionNodeSize() : settings.getUnselectedNodeSize(),
    32                 n.isTagged() ? settings.isFillTaggedNode() : settings.isFillUnselectedNode(),
     34                n.isTagged() ? settings.isFillTaggedNode() : (n.isJunctionNode() ? settings.isFillJunctionNode() : settings.isFillUnselectedNode()),
    3335                name);
    3436        }
    3537    }
  • src/org/openstreetmap/josm/data/osm/visitor/paint/SimplePaintVisitor.java

     
    6161    protected Color backgroundColor;
    6262    protected Color highlightColor;
    6363    protected Color taggedColor;
     64    protected Color junctionColor;
    6465    protected boolean showDirectionArrow;
    6566    protected boolean showRelevantDirectionsOnly;
    6667    protected boolean showHeadArrowOnly;
     
    6869    protected boolean fillSelectedNode;
    6970    protected boolean fillUnselectedNode;
    7071    protected boolean fillTaggedNode;
     72    protected boolean fillJunctionNode;
    7173    protected int selectedNodeSize;
    7274    protected int selectedNodeRadius;
    7375    protected int unselectedNodeSize;
    7476    protected int unselectedNodeRadius;
    7577    protected int junctionNodeSize;
    7678    protected int junctionNodeRadius;
     79    protected int taggedNodeSize;
     80    protected int taggedNodeRadius;
    7781    protected int defaultSegmentWidth;
    7882    protected int virtualNodeSize;
    7983    protected int virtualNodeSpace;
     
    97101        backgroundColor = PaintColors.BACKGROUND.get();
    98102        highlightColor = PaintColors.HIGHLIGHT.get();
    99103        taggedColor = PaintColors.TAGGED.get();
     104        junctionColor = PaintColors.JUNCTION.get();
    100105    }
    101106
    102107    protected void getSettings(boolean virtual) {
     
    111116        unselectedNodeRadius = unselectedNodeSize / 2;
    112117        junctionNodeSize = settings.getJunctionNodeSize();
    113118        junctionNodeRadius = junctionNodeSize / 2;
     119        taggedNodeSize = settings.getTaggedNodeSize();
     120        taggedNodeRadius = taggedNodeSize / 2;
    114121        defaultSegmentWidth = settings.getDefaultSegmentWidth();
    115122        fillSelectedNode = settings.isFillSelectedNode();
    116123        fillUnselectedNode = settings.isFillUnselectedNode();
     124        fillJunctionNode = settings.isFillJunctionNode();
    117125        fillTaggedNode = settings.isFillTaggedNode();
    118126        virtualNodeSize = virtual ? Main.pref.getInteger("mappaint.node.virtual-size", 8) / 2 : 0;
    119127        virtualNodeSpace = Main.pref.getInteger("mappaint.node.virtual-space", 70);
     
    236244            drawNode(n, highlightColor, selectedNodeSize, unselectedNodeRadius, fillSelectedNode);
    237245        } else if (ds.isSelected(n)) {
    238246            drawNode(n, selectedColor, selectedNodeSize, selectedNodeRadius, fillSelectedNode);
     247        } else if(n.isTagged()) {
     248            drawNode(n, taggedColor, taggedNodeSize, taggedNodeRadius, fillTaggedNode);
    239249        } else {
    240250            boolean junction = n.isJunctionNode();
    241251            drawNode(
    242252                n,
    243253                (inactive || n.isDisabled()) ? inactiveColor :
    244                     (n.isTagged() ? taggedColor : nodeColor),
     254                    (n.isTagged() ? taggedColor : (junction ? junctionColor : nodeColor)),
    245255                junction ? junctionNodeSize : unselectedNodeSize,
    246256                junction ? junctionNodeRadius : unselectedNodeRadius,
    247                 n.isTagged() ? fillTaggedNode : fillUnselectedNode);
     257                n.isTagged() ? fillTaggedNode : fillJunctionNode);
    248258        }
    249259    }
    250260
  • src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java

     
    2323    private int selectedNodeSize;
    2424    private int junctionNodeSize;
    2525    private int unselectedNodeSize;
     26    private int taggedNodeSize;
    2627    private boolean fillSelectedNode;
    2728    private boolean fillUnselectedNode;
    2829    private boolean fillTaggedNode;
     30    private boolean fillJunctionNode;
    2931    private Color selectedColor;
    3032    private Color highlightColor;
    3133    private Color inactiveColor;
    3234    private Color nodeColor;
    3335    private Color taggedColor;
     36    private Color junctionColor;
    3437
    3538    private MapPaintSettings() {
    3639        load();
     
    4851        inactiveColor = PaintColors.INACTIVE.get();
    4952        nodeColor = PaintColors.NODE.get();
    5053        taggedColor = PaintColors.TAGGED.get();
     54        junctionColor = PaintColors.JUNCTION.get();
    5155
    5256        showOrderNumber = Main.pref.getBoolean("draw.segment.order_number", false);
    5357        showHeadArrowOnly = Main.pref.getBoolean("draw.segment.head_only", false);
     
    5963        selectedNodeSize = Main.pref.getInteger("mappaint.node.selected-size", 5);
    6064        unselectedNodeSize = Main.pref.getInteger("mappaint.node.unselected-size", 3);
    6165        junctionNodeSize = Main.pref.getInteger("mappaint.node.junction-size", 5);
     66        taggedNodeSize = Main.pref.getInteger("mappaint.node.tagged-size", 5);
    6267        fillSelectedNode = Main.pref.getBoolean("mappaint.node.fill-selected", true);
    6368        fillUnselectedNode = Main.pref.getBoolean("mappaint.node.fill-unselected", false);
    6469        fillTaggedNode = Main.pref.getBoolean("mappaint.node.fill-tagged", true);
     70        fillJunctionNode = Main.pref.getBoolean("mappaint.node.fill-junction", false);
    6571    }
    6672
    6773    public void preferenceChanged(PreferenceChangeEvent e) {
     
    104110        return taggedColor;
    105111    }
    106112
     113    public Color getJunctionColor() {
     114        return junctionColor;
     115    }
     116
    107117    public boolean isShowOrderNumber() {
    108118        return showOrderNumber;
    109119    }
     
    140150        return unselectedNodeSize;
    141151    }
    142152
     153    public int getTaggedNodeSize() {
     154        return taggedNodeSize;
     155    }
     156
    143157    public boolean isFillSelectedNode() {
    144158        return fillSelectedNode;
    145159    }
     
    148162        return fillUnselectedNode;
    149163    }
    150164
     165    public boolean isFillJunctionNode() {
     166        return fillJunctionNode;
     167    }
     168
    151169    public boolean isFillTaggedNode() {
    152170        return fillTaggedNode;
    153171    }
  • src/org/openstreetmap/josm/data/osm/visitor/paint/PaintColors.java

     
    1313    INACTIVE(marktr("inactive"), Color.darkGray),
    1414    SELECTED(marktr("selected"), Color.red),
    1515    NODE(marktr("node"), Color.yellow),
     16    JUNCTION(marktr("junction"), Color.yellow),
    1617    TAGGED(marktr("tagged"), new Color(204, 255, 255)), // turquoise
    1718    DEFAULT_WAY(marktr("way"),  new Color(0,0,128)), // dark blue
    1819    RELATION(marktr("relation"), new Color(0,128,128)), // teal