Changeset 2448 in josm for trunk/src/org/openstreetmap/josm/gui/history/VersionTableCellRenderer.java
- Timestamp:
- 2009-11-14T17:59:10+01:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/history/VersionTableCellRenderer.java
r2250 r2448 15 15 import javax.swing.table.TableCellRenderer; 16 16 17 import org.openstreetmap.josm.Main; 18 import org.openstreetmap.josm.data.osm.OsmPrimitive; 17 19 import org.openstreetmap.josm.data.osm.OsmPrimitiveType; 18 20 import org.openstreetmap.josm.data.osm.history.HistoryOsmPrimitive; 21 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 19 22 import org.openstreetmap.josm.tools.ImageProvider; 20 23 … … 44 47 } 45 48 46 protected void renderIcon(HistoryOsmPrimitive primitive) { 47 ImageIcon icon = null; 48 if (primitive != null) { 49 icon = icons.get(primitive.getType()); 50 } 49 protected void renderIcon(OsmPrimitiveType type) { 50 ImageIcon icon = type == null? null : icons.get(type); 51 51 setIcon(icon); 52 52 } 53 53 54 54 protected void renderText(HistoryOsmPrimitive primitive) { 55 // render lab letext55 // render label text 56 56 // 57 57 StringBuilder sb = new StringBuilder(); … … 86 86 } 87 87 88 protected OsmDataLayer getEditLayer() { 89 try { 90 return Main.map.mapView.getEditLayer(); 91 } catch(NullPointerException e) { 92 return null; 93 } 94 } 95 96 protected void renderLatestText(OsmPrimitive primitive) { 97 // -- label text 98 StringBuffer sb = new StringBuffer(); 99 if (primitive == null) { 100 setText(""); 101 return; 102 } 103 if (primitive.isModified()) { 104 sb.append("*"); 105 } 106 sb.append(tr("Version {0} in editor", primitive.getVersion())); 107 if (primitive.isDeleted()) { 108 sb.append(tr("[deleted]")); 109 } 110 setText(sb.toString()); 111 112 // -- tooltip text 113 sb = new StringBuffer(); 114 OsmDataLayer l = getEditLayer(); 115 116 sb.append( 117 tr( 118 "Version {0} currently edited in data layer ''{1}''", 119 primitive.getId(), 120 l == null ? tr("unknown") : l.getName() 121 ) 122 ); 123 setToolTipText(sb.toString()); 124 } 125 88 126 protected void renderBackground(JTable table, int row, boolean isSelected) { 89 127 Color bgColor = Color.WHITE; … … 96 134 } 97 135 136 public void renderVersionFromHistory(HistoryOsmPrimitive primitive, JTable table, int row, boolean isSelected) { 137 renderIcon(primitive.getType()); 138 renderText(primitive); 139 renderBackground(table, row, isSelected); 140 } 141 142 public void renderLatest(OsmPrimitive primitive, JTable table, int row, boolean isSelected) { 143 renderIcon(primitive.getType()); 144 renderLatestText(getModel(table).getLatest()); 145 renderBackground(table, row, isSelected); 146 } 147 98 148 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, 99 149 int row, int column) { 100 101 HistoryOsmPrimitive primitive = (HistoryOsmPrimitive)value;102 renderIcon(primitive);103 renderText(primitive);104 renderBackground(table, row, isSelected);150 if (getModel(table).isLatest(row)) { 151 renderLatest(getModel(table).getLatest(),table, row, isSelected); 152 } else { 153 renderVersionFromHistory((HistoryOsmPrimitive)value, table, row, isSelected); 154 } 105 155 return this; 106 156 }
Note:
See TracChangeset
for help on using the changeset viewer.