Ignore:
Timestamp:
2010-04-14T16:34:33+02:00 (14 years ago)
Author:
bastiK
Message:

applied #4876 - make size of tagged nodes configurable (patch by petschge)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/mappaint/SimpleNodeElemStyle.java

    r3159 r3180  
    22package org.openstreetmap.josm.gui.mappaint;
    33
     4import java.awt.Color;
    45import org.openstreetmap.josm.data.osm.Node;
    56import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    1617    }
    1718
     19    private static final int max(int a, int b, int c, int d) {
     20        return Math.max(Math.max(a, b), Math.max(c, d));
     21    }
     22
    1823    @Override
    1924    public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings settings, MapPainter painter,
     
    2126        Node n = (Node)primitive;
    2227        String name = painter.isShowNames()?painter.getNodeName(n):null;
     28
     29
    2330        if (n.isHighlighted()) {
    2431            painter.drawNode(n, settings.getHighlightColor(), settings.getSelectedNodeSize(), settings.isFillSelectedNode(), name);
    25         } else if (selected) {
    26             painter.drawNode(n, settings.getSelectedColor(), settings.getSelectedNodeSize(), settings.isFillSelectedNode(), name);
    2732        } else {
    28             painter.drawNode(
    29                 n,
    30                 (painter.isInactive() || n.isDisabled()) ? settings.getInactiveColor() : settings.getNodeColor(),
    31                 n.isJunctionNode() ? settings.getJunctionNodeSize() : settings.getUnselectedNodeSize(),
    32                 n.isTagged() ? settings.isFillTaggedNode() : settings.isFillUnselectedNode(),
    33                 name);
     33
     34            Color color;
     35
     36            if (painter.isInactive() || n.isDisabled()) {
     37                color = settings.getInactiveColor();
     38            } else if (selected) {
     39                color = settings.getSelectedColor();
     40            } else if (n.isConnectionNode()) {
     41                if (n.isTagged()) {
     42                    color = settings.getTaggedConnectionColor();
     43                } else {
     44                    color = settings.getConnectionColor();
     45                }
     46            } else {
     47                if (n.isTagged()) {
     48                    color = settings.getTaggedColor();
     49                } else {
     50                    color = settings.getNodeColor();
     51                }
     52            }
     53
     54            final int size = max((selected ? settings.getSelectedNodeSize() : 0),
     55                                    (n.isTagged() ? settings.getTaggedNodeSize() : 0),
     56                                    (n.isConnectionNode() ? settings.getConnectionNodeSize() : 0),
     57                                    settings.getUnselectedNodeSize());
     58
     59            final boolean fill = (selected && settings.isFillSelectedNode()) ||
     60                                    (n.isTagged() && settings.isFillTaggedNode()) ||
     61                                    (n.isConnectionNode() && settings.isFillConnectionNode()) ||
     62                                    settings.isFillUnselectedNode();
     63
     64            painter.drawNode(n, color, size, fill, name);
    3465        }
    3566    }
Note: See TracChangeset for help on using the changeset viewer.