Changeset 2563 in josm for trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableCellRenderer.java
- Timestamp:
- 03.12.2009 19:02:25 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableCellRenderer.java
r2512 r2563 4 4 import java.awt.Color; 5 5 import java.awt.Component; 6 import java.util.ArrayList;7 import java.util.Collections;8 import java.util.HashMap;9 6 10 import javax.swing.ImageIcon;11 7 import javax.swing.JLabel; 12 8 import javax.swing.JTable; 9 import javax.swing.UIManager; 13 10 import javax.swing.table.TableCellRenderer; 14 11 15 12 import org.openstreetmap.josm.data.osm.OsmPrimitive; 16 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;17 13 import org.openstreetmap.josm.gui.DefaultNameFormatter; 18 14 import org.openstreetmap.josm.tools.ImageProvider; 19 15 20 16 /** 21 * This is the {@see TableCellRenderer} used in the tables of {@see RelationMemberMerger}.17 * This is the {@see TableCellRenderer} used in {@see SelectionTable}. 22 18 * 23 19 */ 24 20 public class SelectionTableCellRenderer extends JLabel implements TableCellRenderer { 25 public final static Color BGCOLOR_ SELECTED = new Color(143,170,255);26 public final static Color BGCOLOR_ DOUBLE_ENTRY = new Color(255,234,213);21 public final static Color BGCOLOR_DOUBLE_ENTRY = new Color(254,226,214); 22 public final static Color BGCOLOR_SINGLE_ENTRY = new Color(235,255,177); 27 23 28 private HashMap<OsmPrimitiveType, ImageIcon> icons;29 24 /** 30 25 * reference to the member table model; required, in order to check whether a … … 35 30 36 31 /** 37 * Load the image icon for an OSM primitive of type node38 *39 * @return the icon; null, if not found40 */41 protected void loadIcons() {42 icons = new HashMap<OsmPrimitiveType, ImageIcon>();43 icons.put(OsmPrimitiveType.NODE,ImageProvider.get("data", "node"));44 icons.put(OsmPrimitiveType.WAY, ImageProvider.get("data", "way"));45 icons.put(OsmPrimitiveType.RELATION, ImageProvider.get("data", "relation"));46 }47 48 /**49 32 * constructor 50 33 */ … … 52 35 setIcon(null); 53 36 setOpaque(true); 54 loadIcons();55 }56 57 public String buildToolTipText(OsmPrimitive primitive) {58 StringBuilder sb = new StringBuilder();59 sb.append("<html>");60 sb.append("<strong>id</strong>=")61 .append(primitive.getId())62 .append("<br>");63 ArrayList<String> keyList = new ArrayList<String>(primitive.keySet());64 Collections.sort(keyList);65 for (int i = 0; i < keyList.size(); i++) {66 if (i > 0) {67 sb.append("<br>");68 }69 String key = keyList.get(i);70 sb.append("<strong>")71 .append(key)72 .append("</strong>")73 .append("=");74 String value = primitive.get(key);75 while(value.length() != 0) {76 sb.append(value.substring(0,Math.min(50, value.length())));77 if (value.length() > 50) {78 sb.append("<br>");79 value = value.substring(50);80 } else {81 value = "";82 }83 }84 }85 sb.append("</html>");86 return sb.toString();87 37 } 88 38 … … 91 41 */ 92 42 protected void reset() { 93 setBackground( Color.WHITE);94 setForeground( Color.BLACK);43 setBackground(UIManager.getColor("Table.background")); 44 setForeground(UIManager.getColor("Table.foreground")); 95 45 setBorder(null); 96 46 setIcon(null); … … 99 49 100 50 protected void renderBackground(OsmPrimitive primitive, boolean isSelected) { 101 Color bgc = Color.WHITE;102 if ( isSelected) {103 bgc = BGCOLOR_S ELECTED;104 } else if (primitive != null && model != null && model.getNumMembersWithPrimitive(primitive) > 0) {51 Color bgc = UIManager.getColor("Table.background"); 52 if (primitive != null && model != null && model.getNumMembersWithPrimitive(primitive) == 1) { 53 bgc = BGCOLOR_SINGLE_ENTRY; 54 } else if (primitive != null && model != null && model.getNumMembersWithPrimitive(primitive) > 1) { 105 55 bgc = BGCOLOR_DOUBLE_ENTRY; 106 56 } … … 108 58 } 109 59 110 protected void renderForeground(boolean isSelected) {111 Color fgc = Color.BLACK;112 setForeground(fgc);113 }114 60 115 61 protected void renderPrimitive(OsmPrimitive primitive) { 116 setIcon( icons.get(OsmPrimitiveType.from(primitive)));62 setIcon(ImageProvider.get(primitive.getPrimitiveId().getType())); 117 63 setText(primitive.getDisplayName(DefaultNameFormatter.getInstance())); 118 setToolTipText( buildToolTipText(primitive));64 setToolTipText(DefaultNameFormatter.getInstance().buildDefaultToolTip(primitive)); 119 65 } 120 66 … … 123 69 124 70 reset(); 125 renderForeground(isSelected);126 71 renderBackground((OsmPrimitive)value, isSelected); 127 72 renderPrimitive((OsmPrimitive)value);
Note: See TracChangeset
for help on using the changeset viewer.
