source: josm/trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableCellRenderer.java@ 14029

Last change on this file since 14029 was 10089, checked in by Don-vip, 8 years ago

add unit test, javadoc

  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.relation;
3
4import java.awt.Color;
5
6import javax.swing.JTable;
7import javax.swing.UIManager;
8import javax.swing.table.TableCellRenderer;
9
10import org.openstreetmap.josm.data.osm.OsmPrimitive;
11import org.openstreetmap.josm.gui.util.GuiHelper;
12
13/**
14 * This is the {@link TableCellRenderer} used in {@link SelectionTable}.
15 * @since 1806
16 */
17public class SelectionTableCellRenderer extends MemberTableMemberCellRenderer {
18 public static final Color BGCOLOR_SINGLE_ENTRY = BGCOLOR_IN_JOSM_SELECTION;
19
20 /**
21 * reference to the member table model; required, in order to check whether a
22 * selected primitive is already used in the member list of the currently edited relation
23 */
24 private final MemberTableModel model;
25
26 /**
27 * constructor
28 * @param model member table model
29 */
30 public SelectionTableCellRenderer(MemberTableModel model) {
31 this.model = model;
32 }
33
34 @Override
35 protected void renderBackgroundForeground(MemberTableModel model, OsmPrimitive primitive, boolean isSelected) {
36 Color bgc = UIManager.getColor("Table.background");
37 if (primitive != null && model != null && model.getNumMembersWithPrimitive(primitive) == 1) {
38 bgc = BGCOLOR_SINGLE_ENTRY;
39 } else if (primitive != null && model != null && model.getNumMembersWithPrimitive(primitive) > 1) {
40 bgc = BGCOLOR_DOUBLE_ENTRY;
41 }
42 GuiHelper.setBackgroundReadable(this, bgc);
43 }
44
45 @Override
46 protected MemberTableModel getModel(JTable table) {
47 return model;
48 }
49}
Note: See TracBrowser for help on using the repository browser.