source: josm/trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableMemberCellRenderer.java@ 1930

Last change on this file since 1930 was 1822, checked in by Gubaer, 15 years ago

applied #2953: patch by cjw - Sorting a relation adds new members or crashes
applied the patch but disabled the sort action because first smoke test resulted in an exception

File size: 1.9 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.relation;
3
4import java.awt.Component;
5import java.util.HashMap;
6
7import javax.swing.ImageIcon;
8import javax.swing.JTable;
9
10import org.openstreetmap.josm.data.osm.OsmPrimitive;
11import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
12import org.openstreetmap.josm.gui.PrimitiveNameFormatter;
13import org.openstreetmap.josm.tools.ImageProvider;
14
15public class MemberTableMemberCellRenderer extends MemberTableCellRenderer {
16 private HashMap<OsmPrimitiveType, ImageIcon> icons;
17 static private final PrimitiveNameFormatter NAME_FORMATTER = new PrimitiveNameFormatter();
18
19 public MemberTableMemberCellRenderer() {
20 super();
21 loadIcons();
22 }
23
24 /**
25 * Load the image icon for an OSM primitive of type node
26 *
27 * @return the icon; null, if not found
28 */
29 protected void loadIcons() {
30 icons = new HashMap<OsmPrimitiveType, ImageIcon>();
31 icons.put(OsmPrimitiveType.NODE, ImageProvider.get("data", "node"));
32 icons.put(OsmPrimitiveType.WAY, ImageProvider.get("data", "way"));
33 icons.put(OsmPrimitiveType.RELATION, ImageProvider.get("data", "relation"));
34 }
35
36 protected void renderPrimitive(OsmPrimitive primitive) {
37 setIcon(icons.get(OsmPrimitiveType.from(primitive)));
38 setText(NAME_FORMATTER.getName(primitive));
39 setToolTipText(buildToolTipText(primitive));
40 }
41
42 @Override
43 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
44 int row, int column) {
45
46 reset();
47
48 renderForeground(isSelected);
49 OsmPrimitive primitive = (OsmPrimitive) value;
50 renderBackground(getModel(table), primitive, isSelected);
51 renderPrimitive(primitive);
52 return this;
53 }
54}
Note: See TracBrowser for help on using the repository browser.