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

Last change on this file since 13486 was 12663, checked in by Don-vip, 7 years ago

see #15182 - move NameFormatter* from gui to data.osm

  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.relation;
3
4import java.awt.Component;
5import java.awt.Dimension;
6
7import javax.swing.JTable;
8
9import org.openstreetmap.josm.data.osm.DefaultNameFormatter;
10import org.openstreetmap.josm.data.osm.OsmPrimitive;
11import org.openstreetmap.josm.tools.ImageProvider;
12
13/**
14 * "Refers to" column in relation editor's member list.
15 */
16public class MemberTableMemberCellRenderer extends MemberTableCellRenderer {
17
18 /**
19 * Constructs a new {@code MemberTableMemberCellRenderer}.
20 */
21 public MemberTableMemberCellRenderer() {
22 super();
23 // Explicit default constructor is needed for intantiation via reflection
24 }
25
26 protected void renderPrimitive(OsmPrimitive primitive, Dimension cellSize) {
27 // Make icon the full height of the table cell. Icon background is square.
28 int size = Math.min(cellSize.width, cellSize.height);
29 setIcon(ImageProvider.getPadded(primitive, new Dimension(size, size)));
30 setText(primitive.getDisplayName(DefaultNameFormatter.getInstance()));
31 setToolTipText(DefaultNameFormatter.getInstance().buildDefaultToolTip(primitive));
32 }
33
34 @Override
35 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
36 int row, int column) {
37
38 reset();
39 if (value == null)
40 return this;
41
42 Dimension cellSize = table.getCellRect(row, column, false).getSize();
43
44 OsmPrimitive primitive = (OsmPrimitive) value;
45 renderBackgroundForeground(getModel(table), primitive, isSelected);
46 renderPrimitive(primitive, cellSize);
47 return this;
48 }
49}
Note: See TracBrowser for help on using the repository browser.