Ignore:
Timestamp:
2007-10-12T01:28:49+02:00 (17 years ago)
Author:
framm
Message:
  • changed appearance of tagged nodes (now: dot with square around it) and untagged ways (now: have their own colour). FOr this I introduced a "tagged" flag that is only set when the primitive has "interesting" tags; currently, "created_by", "source", and "note" are deemed un-interesting.
File:
1 edited

Legend:

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

    r357 r367  
    77import java.awt.Point;
    88import java.awt.Rectangle;
     9import java.awt.Stroke;
    910import java.awt.geom.GeneralPath;
    1011import java.awt.geom.Line2D;
     
    5152        protected Color nodeColor;
    5253        protected Color dfltWayColor;
     54        protected Color untaggedWayColor;
    5355        protected Color incompleteColor;
    5456        protected Color backgroundColor;
     
    6870                nodeColor = getPreferencesColor("node", Color.RED);
    6971                dfltWayColor = getPreferencesColor("way", darkblue);
     72                untaggedWayColor = getPreferencesColor("untagged way", darkgreen);
    7073                incompleteColor = getPreferencesColor("incomplete way", darkerblue);
    7174                backgroundColor = getPreferencesColor("background", Color.BLACK);
     
    7376                showOrderNumber = Main.pref.getBoolean("draw.segment.order_number");
    7477               
     78                // draw tagged ways first, then untagged ways. takes
     79                // time to iterate through list twice, OTOH does not
     80                // require changing the colour while painting...
    7581                for (final OsmPrimitive osm : data.ways)
    76                         if (!osm.deleted && !osm.selected)
     82                        if (!osm.deleted && !osm.selected && osm.tagged)
    7783                                osm.visit(this);
    7884                displaySegments(null);
     85
     86            for (final OsmPrimitive osm : data.ways)
     87                        if (!osm.deleted && !osm.selected && !osm.tagged)
     88                                osm.visit(this);
     89                displaySegments(null);
     90           
    7991                for (final OsmPrimitive osm : data.nodes)
    8092                        if (!osm.deleted && !osm.selected)
    8193                                osm.visit(this);
     94       
    8295                for (final OsmPrimitive osm : data.getSelected())
    8396                        if (!osm.deleted)
     
    113126
    114127                Color wayColor;
    115                 if (inactive)
     128               
     129                if (inactive) {
    116130                        wayColor = inactiveColor;
    117                 else {
     131                } else if (!w.tagged) {
     132                        wayColor = untaggedWayColor;
     133                } else {
    118134                        wayColor = dfltWayColor;
    119135                }
     
    171187
    172188                if (screen.contains(p.x, p.y))
    173                         g.drawRect(p.x-1, p.y-1, 2, 2);
     189                        if (n.tagged) {
     190                                g.drawRect(p.x, p.y, 0, 0);
     191                                g.drawRect(p.x-2, p.y-2, 4, 4);
     192                        } else {
     193                                g.drawRect(p.x-1, p.y-1, 2, 2);
     194                        }
    174195        }
    175196
     
    179200        protected void drawSegment(Node n1, Node n2, Color col, boolean showDirection) {
    180201
    181                 if (col != currentColor) {
    182                         displaySegments(col);
    183                 }
     202                if (col != currentColor) displaySegments(col);
    184203               
    185204                Point p1 = nc.getPoint(n1.eastNorth);
Note: See TracChangeset for help on using the changeset viewer.