Changeset 8691 in osm for applications/editors/josm


Ignore:
Timestamp:
2008-07-03T18:02:52+02:00 (16 years ago)
Author:
stoecker
Message:

added more verbose names

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/util/MultipleNameVisitor.java

    r2453 r8691  
    11package org.openstreetmap.josm.plugins.validator.util;
    22
     3import static org.openstreetmap.josm.tools.I18n.tr;
    34import static org.openstreetmap.josm.tools.I18n.trn;
    45
     
    2122        /** The class name of the combined primitives */
    2223        String multipleClassname;
     24        /* name to be displayed */
     25        String displayName;
    2326        /** Size of the collection */
    2427        int size;
     
    3033        public void visit(Collection<? extends OsmPrimitive> data)
    3134        {
     35                String multipleName = null;
     36                String firstName = null;
     37                boolean initializedname = false;
    3238                size = data.size();
     39
    3340                multipleClassname = null;
    3441                for (OsmPrimitive osm : data)
    3542                {
     43                        String name = osm.get("name");
     44                        if(name == null) name = osm.get("ref");
     45                        if(!initializedname)
     46                        {
     47                                multipleName = name; initializedname = true;
     48                        }
     49                        else if(multipleName != null && (name == null  || !name.equals(multipleName)))
     50                        {
     51                                multipleName = null;
     52                        }
     53
     54                        if(firstName == null && name != null)
     55                                firstName = name;
    3656                        osm.visit(this);
    3757                        if (multipleClassname == null)
     
    4060                                multipleClassname = "object";
    4161                }
     62               
     63                if( size == 1 )
     64                        displayName = name;
     65                else if(multipleName != null)
     66                        displayName = size + " " + trn(multipleClassname, multipleClassname + "s", size) + ": " + multipleName;
     67                else if(firstName != null)
     68                        displayName = size + " " + trn(multipleClassname, multipleClassname + "s", size) + ": " + tr("{0}, ...", firstName);
     69                else
     70                        displayName = size + " " + trn(multipleClassname, multipleClassname + "s", size);
    4271        }
    4372
     
    4574        public JLabel toLabel()
    4675        {
    47                 if( size == 1 )
    48                         return super.toLabel();
    49                 else
    50                         return new JLabel( size + " " + trn(multipleClassname, multipleClassname + "s", size), ImageProvider.get("data", multipleClassname), JLabel.HORIZONTAL);
     76                return new JLabel(getText(), getIcon(), JLabel.HORIZONTAL);
    5177        }
    5278       
     
    5783        public String getText()
    5884        {
    59                 if( size == 1 )
    60                         return name;
    61                 else
    62                         return size + " " + trn(multipleClassname, multipleClassname + "s", size);
     85                return displayName;
    6386        }
    6487
Note: See TracChangeset for help on using the changeset viewer.