Ignore:
Timestamp:
2009-01-11T11:20:44+01:00 (15 years ago)
Author:
stoecker
Message:

cleanup style handling

File:
1 edited

Legend:

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

    r1236 r1240  
    4747    protected Stroke currentStroke = null;
    4848    protected Font orderFont;
    49     protected ElemStyles styles;
     49    protected ElemStyles.StyleSet styles;
    5050    protected double circum;
    5151    protected String regionalNameOrder[];
     
    7878        // check, if the node is visible at all
    7979        Point p = nc.getPoint(n.eastNorth);
    80         if ((p.x < 0) || (p.y < 0) || (p.x > nc.getWidth()) || (p.y > nc.getHeight())) return;
    81 
    82         IconElemStyle nodeStyle = (IconElemStyle)styles.get(n);
     80        if ((!selectedCall && n.selected) || (p.x < 0) || (p.y < 0)
     81        || (p.x > nc.getWidth()) || (p.y > nc.getHeight())) return;
     82
     83        IconElemStyle nodeStyle = styles != null ? (IconElemStyle)styles.get(n) : null;
    8384        if (nodeStyle != null && isZoomOk(nodeStyle))
    8485            drawNode(n, nodeStyle.icon, nodeStyle.annotate, n.selected);
     
    9697     */
    9798    public void visit(Way w) {
    98         if(w.nodes.size() < 2)
     99        if(w.nodes.size() < 2 && (!selectedCall && w.selected))
    99100            return;
    100101
     
    104105            return;
    105106
    106         ElemStyle wayStyle = styles.get(w);
     107        ElemStyle wayStyle = styles != null ? styles.get(w) : null;
    107108
    108109        if(!isZoomOk(wayStyle))
     
    322323                /* nodes drawn on second call */
    323324                if(!(m.member instanceof Node))
    324                     drawSelected(m.member, styles.get(m.member), true, true);
     325                    drawSelected(m.member, styles != null ? styles.get(m.member)
     326                    : null, true, true);
    325327                alreadyDrawn.add(m.member);
    326328            }
     
    368370                    && m.member instanceof Node)
    369371                    {
    370                         drawSelected(m.member, styles.get(m.member), true, true);
     372                        drawSelected(m.member, styles != null ? styles.get(m.member) : null, true, true);
    371373                        alreadyDrawn.add(m.member);
    372374                    }
     
    420422                            outer.add(w);
    421423                        else if(r.selected)
    422                             drawSelected(m.member, styles.get(m.member), true, true);
     424                            drawSelected(m.member, styles != null ? styles.get(m.member) : null, true, true);
    423425                    }
    424426                }
     
    432434        }
    433435
    434         ElemStyle wayStyle = styles.get(r);
     436        ElemStyle wayStyle = styles != null ? styles.get(r) : null;
    435437        /* find one wayStyle, prefer the style from Relation or take the first
    436438        one of outer rings */
    437         if(wayStyle == null || !(wayStyle instanceof AreaElemStyle))
     439        if(styles != null && (wayStyle == null || !(wayStyle instanceof AreaElemStyle)))
    438440        {
    439441            for (Way w : outer)
     
    779781    }
    780782
    781     // NW 111106 Overridden from SimplePaintVisitor in josm-1.4-nw1
    782783    // Shows areas before non-areas
    783784    public void visitAll(DataSet data, Boolean virtual) {
     
    798799        fillAlpha = Math.min(255, Math.max(0, Integer.valueOf(Main.pref.getInteger("mappaint.fillalpha", 50))));
    799800        circum = Main.map.mapView.getScale()*100*Main.proj.scaleFactor()*40041455; // circumference of the earth in meter
    800         styles = MapPaintStyles.getStyles();
     801        styles = MapPaintStyles.getStyles().getStyleSet();
    801802        drawMultipolygon = Main.pref.getBoolean("mappaint.multipolygon",false);
    802803        orderFont = new Font(Main.pref.get("mappaint.font","Helvetica"), Font.PLAIN, Main.pref.getInteger("mappaint.fontsize", 8));
     
    808809        selectedCall = false;
    809810
    810         // update the style name, just in case the user changed it in the meantime
    811         styles.updateStyleName();
    812 
    813811        if(profiler)
    814812        {
     
    817815        }
    818816
    819         if (fillAreas && styles.hasAreas()) {
     817        if (fillAreas && styles != null && styles.hasAreas()) {
    820818            Collection<Way> noAreaWays = new LinkedList<Way>();
    821819
Note: See TracChangeset for help on using the changeset viewer.