Changeset 17887 in josm for trunk/src/org
- Timestamp:
- 2021-05-12T23:31:56+02:00 (4 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/history/History.java
r17838 r17887 7 7 import java.util.Comparator; 8 8 import java.util.List; 9 import java.util.Objects; 9 10 import java.util.stream.Collectors; 10 11 … … 190 191 191 192 /** 193 * Replies the history primitive which changed the given key. 194 * @param version the version 195 * @param key the OSM key 196 * @return the history primitive which changed the given key 197 */ 198 public HistoryOsmPrimitive getWhichChangedTag(long version, String key) { 199 HistoryOsmPrimitive primitive = getByVersion(version); 200 if (primitive == null) { 201 return null; 202 } 203 for (int i = versions.indexOf(primitive); i > 0; i--) { 204 if (!Objects.equals(versions.get(i).get(key), versions.get(i - 1).get(key))) { 205 return versions.get(i); 206 } 207 } 208 return versions.get(0); 209 } 210 211 /** 192 212 * Replies the history primitive at given <code>date</code>. null, 193 213 * if no such primitive exists. -
trunk/src/org/openstreetmap/josm/gui/history/TagTableCellRenderer.java
r17886 r17887 7 7 import javax.swing.JLabel; 8 8 import javax.swing.JTable; 9 import javax.swing.SwingConstants; 9 10 import javax.swing.table.TableCellRenderer; 10 11 12 import org.openstreetmap.josm.data.osm.history.HistoryOsmPrimitive; 11 13 import org.openstreetmap.josm.gui.util.GuiHelper; 14 15 import static org.openstreetmap.josm.tools.I18n.tr; 12 16 13 17 /** … … 43 47 44 48 String text = ""; 49 String tooltip = null; 45 50 if (model.hasTag(key)) { 46 51 switch(column) { … … 53 58 text = model.getValue(key); 54 59 break; 60 case TagTableColumnModel.COLUMN_VERSION: 61 HistoryOsmPrimitive primitive = model.getWhichChangedTag(key); 62 if (primitive != null) { 63 text = "v" + primitive.getVersion(); 64 tooltip = tr("Key ''{0}'' was changed in version {1}", key, primitive.getVersion()); 65 } 55 66 default: // Do nothing 56 67 } … … 58 69 59 70 setText(text); 60 setToolTipText(text); 71 setToolTipText(tooltip != null ? tooltip : text); 72 setHorizontalAlignment(column == TagTableColumnModel.COLUMN_VERSION ? SwingConstants.TRAILING : SwingConstants.LEADING); 61 73 TwoColumnDiff.Item.DiffItemType diffItemType = model.getDiffItemType(key, column == TagTableColumnModel.COLUMN_VALUE); 62 74 GuiHelper.setBackgroundReadable(this, diffItemType.getColor(isSelected, table.hasFocus())); -
trunk/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java
r10637 r17887 14 14 protected static final int COLUMN_KEY = 0; 15 15 protected static final int COLUMN_VALUE = 1; 16 protected static final int COLUMN_VERSION = 2; 16 17 17 18 /** … … 25 26 TagTableCellRenderer renderer = new TagTableCellRenderer(); 26 27 27 // column 0 - Key 28 TableColumn col = new TableColumn(0); 28 TableColumn col = new TableColumn(COLUMN_KEY); 29 29 col.setHeaderValue(tr("Key")); 30 30 col.setCellRenderer(renderer); 31 col.setPreferredWidth(100); 31 32 addColumn(col); 32 33 33 // column 1 - Value 34 col = new TableColumn(1); 34 col = new TableColumn(COLUMN_VALUE); 35 35 col.setHeaderValue(tr("Value")); 36 36 col.setCellRenderer(renderer); 37 col.setPreferredWidth(100); 38 addColumn(col); 39 40 col = new TableColumn(COLUMN_VERSION); 41 col.setHeaderValue(tr("Since")); 42 col.setCellRenderer(renderer); 43 col.setPreferredWidth(10); 37 44 addColumn(col); 38 45 } -
trunk/src/org/openstreetmap/josm/gui/history/TagTableModel.java
r17886 r17887 84 84 85 85 /** 86 * Returns the history primitive which changed the given key. 87 * @param key the OSM key 88 * @return the history primitive which changed the given key 89 */ 90 public HistoryOsmPrimitive getWhichChangedTag(String key) { 91 HistoryOsmPrimitive primitive = model.getPointInTime(pointInTimeType); 92 if (primitive == null) 93 return null; 94 return model.getHistory().getWhichChangedTag(primitive.getVersion(), key); 95 } 96 97 /** 86 98 * Determines if a tag exists in the opposite point in time for the given key. 87 99 * @param key tag key … … 142 154 @Override 143 155 public int getColumnCount() { 144 return 2;156 return 3; 145 157 } 146 158
Note:
See TracChangeset
for help on using the changeset viewer.