Changeset 7555 in josm for trunk/src


Ignore:
Timestamp:
2014-09-18T01:18:53+02:00 (5 years ago)
Author:
Don-vip
Message:

fix #10054 - Multipolygons as members not highlighted when relation is selected

Location:
trunk/src/org/openstreetmap/josm
Files:
3 edited

Legend:

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

    r7553 r7555  
    310310    private boolean showNames;
    311311    private boolean showIcons;
    312     private boolean  isOutlineOnly;
     312    private boolean isOutlineOnly;
    313313
    314314    private Font orderFont;
     
    14991499            if (n.isDisabled()) {
    15001500                add(n, FLAG_DISABLED);
    1501             } else if (data.isSelected(n)) {
     1501            } else if (n.isSelected()) {
    15021502                add(n, FLAG_SELECTED);
    15031503            } else if (n.isMemberOfSelected()) {
     
    15121512            if (w.isDisabled()) {
    15131513                add(w, FLAG_DISABLED);
    1514             } else if (data.isSelected(w)) {
     1514            } else if (w.isSelected()) {
    15151515                add(w, FLAG_SELECTED);
    15161516            } else if (w.isMemberOfSelected()) {
     
    15251525            if (r.isDisabled()) {
    15261526                add(r, FLAG_DISABLED);
    1527             } else if (data.isSelected(r)) {
     1527            } else if (r.isSelected()) {
    15281528                add(r, FLAG_SELECTED);
     1529            } else if (r.isMemberOfSelected()) {
     1530                add(r, FLAG_MEMBER_OF_SELECTED);
    15291531            } else {
    15301532                add(r, FLAG_NORMAL);
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/WireframeMapRenderer.java

    r7549 r7555  
    340340        if (isInactiveMode || r.isDisabled()) {
    341341            col = inactiveColor;
    342         } else if (ds.isSelected(r)) {
     342        } else if (r.isSelected()) {
    343343            col = selectedColor;
     344        } else if (r.isMultipolygon() && r.isMemberOfSelected()) {
     345            col = relationSelectedColor;
    344346        } else {
    345347            col = relationColor;
  • trunk/src/org/openstreetmap/josm/gui/mappaint/AreaElemStyle.java

    r7383 r7555  
    8787    @Override
    8888    public void paintPrimitive(OsmPrimitive osm, MapPaintSettings paintSettings, StyledMapRenderer painter, boolean selected, boolean member) {
     89        Color myColor = color;
    8990        if (osm instanceof Way) {
    90             Color myColor = color;
    91             if (color != null && osm.isSelected()) {
    92                 myColor = paintSettings.getSelectedColor(color.getAlpha());
     91            if (color != null) {
     92                if (selected) {
     93                    myColor = paintSettings.getSelectedColor(color.getAlpha());
     94                } else if (member) {
     95                    myColor = paintSettings.getRelationSelectedColor(color.getAlpha());
     96                }
    9397            }
    9498            painter.drawArea((Way) osm, myColor, fillImage, text);
    9599        } else if (osm instanceof Relation) {
    96             Color myColor = color;
    97             if (color != null && selected) {
     100            if (color != null && (selected || (member && ((Relation) osm).isMultipolygon()))) {
    98101                myColor = paintSettings.getRelationSelectedColor(color.getAlpha());
    99102            }
Note: See TracChangeset for help on using the changeset viewer.