Changeset 2885 in josm for trunk


Ignore:
Timestamp:
2010-01-23T17:00:44+01:00 (10 years ago)
Author:
bastiK
Message:

Show in relation list if a relation has incomplete members.
Remove tooltips in relation list (fixes #3639, fixes #4227).

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

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java

    r2801 r2885  
    1919import org.openstreetmap.josm.data.osm.OsmPrimitive;
    2020import org.openstreetmap.josm.data.osm.Relation;
     21import org.openstreetmap.josm.data.osm.RelationMember;
    2122import org.openstreetmap.josm.data.osm.Way;
    2223import org.openstreetmap.josm.data.osm.history.HistoryNameFormatter;
     
    197198
    198199            int mbno = relation.getMembersCount();
    199             name += trn("{0} member", "{0} members", mbno, mbno) + ")";
     200            name += trn("{0} member", "{0} members", mbno, mbno);
     201
     202            boolean incomplete = false;
     203            for (RelationMember m : relation.getMembers()) {
     204                if (m.getMember().isIncomplete()) {
     205                    incomplete = true;
     206                    break;
     207                }
     208            }
     209            if (incomplete) {
     210                name += ", "+tr("incomplete");
     211            }
     212
     213            name += ")";
    200214        }
    201215        name = decorateNameWithId(name, relation);
  • trunk/src/org/openstreetmap/josm/gui/OsmPrimitivRenderer.java

    r2689 r2885  
    6767    private Component renderer(Component def, OsmPrimitive value) {
    6868        if (def != null && value != null && def instanceof JLabel) {
    69             ((JLabel)def).setText(value.getDisplayName(DefaultNameFormatter.getInstance()));
     69            ((JLabel)def).setText(getComponentText(value));
    7070            ((JLabel)def).setIcon(ImageProvider.get(value.getType()));
    71             ((JLabel)def).setToolTipText(formatter.buildDefaultToolTip(value));
     71            ((JLabel)def).setToolTipText(getComponentToolTipText(value));
    7272        }
    7373        return def;
     
    8989        return def;
    9090    }
     91
     92    /**
     93     * Can be overridden to customize the Text
     94     */
     95    protected String getComponentText(OsmPrimitive value) {
     96        return value.getDisplayName(DefaultNameFormatter.getInstance());
     97    }
     98
     99    /**
     100     * Can be overridden to customize the ToolTipText
     101     */
     102    protected String getComponentToolTipText(OsmPrimitive value) {
     103        return formatter.buildDefaultToolTip(value);
     104    }
    91105}
  • trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java

    r2860 r2885  
    9595        displaylist = new JList(model);
    9696        displaylist.setSelectionModel(selectionModel);
    97         displaylist.setCellRenderer(new OsmPrimitivRenderer());
     97        displaylist.setCellRenderer(new OsmPrimitivRenderer() {
     98            /**
     99             * Don't show the default tooltip in the relation list.
     100             */
     101            @Override
     102            protected String getComponentToolTipText(OsmPrimitive value) {
     103                return null;
     104            }
     105        });
    98106        displaylist.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    99107        displaylist.addMouseListener(new MouseEventHandler());
Note: See TracChangeset for help on using the changeset viewer.