Ignore:
Timestamp:
11.01.2009 11:20:44 (3 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.