Changeset 8510 in josm for trunk/src/org/openstreetmap/josm/gui/conflict
- Timestamp:
- 2015-06-20T23:42:21+02:00 (9 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/gui/conflict
- Files:
-
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/conflict/ConflictColors.java
r7937 r8510 11 11 public enum ConflictColors implements ColorKey { 12 12 13 BGCOLOR_NO_CONFLICT(marktr("Conflict background: no conflict"), new Color(234, 234,234)),14 BGCOLOR_DECIDED(marktr("Conflict background: decided"), new Color(217, 255,217)),15 BGCOLOR_UNDECIDED(marktr("Conflict background: undecided"), new Color(255, 197,197)),13 BGCOLOR_NO_CONFLICT(marktr("Conflict background: no conflict"), new Color(234, 234, 234)), 14 BGCOLOR_DECIDED(marktr("Conflict background: decided"), new Color(217, 255, 217)), 15 BGCOLOR_UNDECIDED(marktr("Conflict background: undecided"), new Color(255, 197, 197)), 16 16 BGCOLOR_DROP(marktr("Conflict background: drop"), Color.white), 17 BGCOLOR_KEEP(marktr("Conflict background: keep"), new Color(217, 255,217)),18 BGCOLOR_COMBINED(marktr("Conflict background: combined"), new Color(217, 255,217)),19 BGCOLOR_SELECTED(marktr("Conflict background: selected"), new Color(143, 170,255)),17 BGCOLOR_KEEP(marktr("Conflict background: keep"), new Color(217, 255, 217)), 18 BGCOLOR_COMBINED(marktr("Conflict background: combined"), new Color(217, 255, 217)), 19 BGCOLOR_SELECTED(marktr("Conflict background: selected"), new Color(143, 170, 255)), 20 20 21 21 FGCOLOR_UNDECIDED(marktr("Conflict foreground: undecided"), Color.black), … … 23 23 FGCOLOR_KEEP(marktr("Conflict foreground: keep"), Color.black), 24 24 25 BGCOLOR_EMPTY_ROW(marktr("Conflict background: empty row"), new Color(234, 234,234)),26 BGCOLOR_FROZEN(marktr("Conflict background: frozen"), new Color(234, 234,234)),25 BGCOLOR_EMPTY_ROW(marktr("Conflict background: empty row"), new Color(234, 234, 234)), 26 BGCOLOR_FROZEN(marktr("Conflict background: frozen"), new Color(234, 234, 234)), 27 27 BGCOLOR_PARTICIPATING_IN_COMPARISON(marktr("Conflict background: in comparison"), Color.black), 28 28 FGCOLOR_PARTICIPATING_IN_COMPARISON(marktr("Conflict foreground: in comparison"), Color.white), … … 30 30 FGCOLOR(marktr("Conflict foreground"), Color.black), 31 31 32 BGCOLOR_NOT_IN_OPPOSITE(marktr("Conflict background: not in opposite"), new Color(255, 197,197)),33 BGCOLOR_IN_OPPOSITE(marktr("Conflict background: in opposite"), new Color(255, 234,213)),34 BGCOLOR_SAME_POSITION_IN_OPPOSITE(marktr("Conflict background: same position in opposite"), new Color(217, 255,217)),32 BGCOLOR_NOT_IN_OPPOSITE(marktr("Conflict background: not in opposite"), new Color(255, 197, 197)), 33 BGCOLOR_IN_OPPOSITE(marktr("Conflict background: in opposite"), new Color(255, 234, 213)), 34 BGCOLOR_SAME_POSITION_IN_OPPOSITE(marktr("Conflict background: same position in opposite"), new Color(217, 255, 217)), 35 35 36 BGCOLOR_TAG_KEEP_ONE (marktr("Conflict background: keep one tag"), new Color(217, 255,217)),36 BGCOLOR_TAG_KEEP_ONE (marktr("Conflict background: keep one tag"), new Color(217, 255, 217)), 37 37 FGCOLOR_TAG_KEEP_ONE (marktr("Conflict foreground: keep one tag"), Color.black), 38 38 BGCOLOR_TAG_KEEP_NONE(marktr("Conflict background: drop tag"), Color.lightGray), 39 39 FGCOLOR_TAG_KEEP_NONE(marktr("Conflict foreground: drop tag"), Color.black), 40 BGCOLOR_TAG_KEEP_ALL (marktr("Conflict background: keep all tags"), new Color(255, 234,213)),40 BGCOLOR_TAG_KEEP_ALL (marktr("Conflict background: keep all tags"), new Color(255, 234, 213)), 41 41 FGCOLOR_TAG_KEEP_ALL (marktr("Conflict foreground: keep all tags"), Color.black), 42 BGCOLOR_TAG_SUM_ALL_NUM(marktr("Conflict background: sum all numeric tags"), new Color(255, 234,213)),42 BGCOLOR_TAG_SUM_ALL_NUM(marktr("Conflict background: sum all numeric tags"), new Color(255, 234, 213)), 43 43 FGCOLOR_TAG_SUM_ALL_NUM(marktr("Conflict foreground: sum all numeric tags"), Color.black), 44 44 45 BGCOLOR_MEMBER_KEEP (marktr("Conflict background: keep member"), new Color(217, 255,217)),45 BGCOLOR_MEMBER_KEEP (marktr("Conflict background: keep member"), new Color(217, 255, 217)), 46 46 FGCOLOR_MEMBER_KEEP (marktr("Conflict foreground: keep member"), Color.black), 47 47 BGCOLOR_MEMBER_REMOVE(marktr("Conflict background: remove member"), Color.lightGray), -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java
r8509 r8510 171 171 public void propertyChange(PropertyChangeEvent evt) { 172 172 if (evt.getPropertyName().equals(TagMergeModel.PROP_NUM_UNDECIDED_TAGS)) { 173 int newValue = (Integer) evt.getNewValue();173 int newValue = (Integer) evt.getNewValue(); 174 174 if (newValue == 0) { 175 175 tabbedPane.setTitleAt(1, tr("Tags")); … … 184 184 updateResolvedCompletely(); 185 185 } else if (evt.getPropertyName().equals(ListMergeModel.FROZEN_PROP)) { 186 boolean frozen = (Boolean) evt.getNewValue();186 boolean frozen = (Boolean) evt.getNewValue(); 187 187 if (evt.getSource() == nodeListMerger.getModel() && my instanceof Way) { 188 188 if (frozen) { … … 192 192 } else { 193 193 tabbedPane.setTitleAt(2, tr("Nodes(with conflicts)")); 194 tabbedPane.setToolTipTextAt(2, tr("Pending conflicts in the node list of this way"));194 tabbedPane.setToolTipTextAt(2, tr("Pending conflicts in the node list of this way")); 195 195 tabbedPane.setIconAt(2, mergeIncomplete); 196 196 } … … 208 208 updateResolvedCompletely(); 209 209 } else if (evt.getPropertyName().equals(PropertiesMergeModel.RESOLVED_COMPLETELY_PROP)) { 210 boolean resolved = (Boolean) evt.getNewValue();210 boolean resolved = (Boolean) evt.getNewValue(); 211 211 if (resolved) { 212 212 tabbedPane.setTitleAt(0, tr("Properties")); … … 242 242 243 243 if (my instanceof Node) { 244 tabbedPane.setEnabledAt(2, false);245 tabbedPane.setEnabledAt(3, false);244 tabbedPane.setEnabledAt(2, false); 245 tabbedPane.setEnabledAt(3, false); 246 246 } else if (my instanceof Way) { 247 247 nodeListMerger.populate(conflict); 248 248 tabbedPane.setEnabledAt(2, true); 249 249 tabbedPane.setEnabledAt(3, false); 250 tabbedPane.setTitleAt(3, tr("Members"));250 tabbedPane.setTitleAt(3, tr("Members")); 251 251 tabbedPane.setIconAt(3, null); 252 252 } else if (my instanceof Relation) { 253 253 relationMemberMerger.populate(conflict); 254 254 tabbedPane.setEnabledAt(2, false); 255 tabbedPane.setTitleAt(2, tr("Nodes"));255 tabbedPane.setTitleAt(2, tr("Nodes")); 256 256 tabbedPane.setIconAt(2, null); 257 257 tabbedPane.setEnabledAt(3, true); -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/IConflictResolver.java
r5170 r8510 8 8 9 9 void deletePrimitive(boolean deleted); 10 10 11 void populate(Conflict<? extends OsmPrimitive> conflict); 11 12 12 } -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java
r8470 r8510 139 139 PrimitiveId id = mergedMap.get(entry); 140 140 if (id == null && entry instanceof OsmPrimitive) { 141 id = mergedMap.get(((OsmPrimitive) entry).getPrimitiveId());141 id = mergedMap.get(((OsmPrimitive) entry).getPrimitiveId()); 142 142 } 143 143 if (id != null) { … … 208 208 209 209 public void addPropertyChangeListener(PropertyChangeListener listener) { 210 synchronized (listeners) {210 synchronized (listeners) { 211 211 if (listener != null && !listeners.contains(listener)) { 212 212 listeners.add(listener); … … 216 216 217 217 public void removePropertyChangeListener(PropertyChangeListener listener) { 218 synchronized (listeners) {218 synchronized (listeners) { 219 219 if (listener != null && listeners.contains(listener)) { 220 220 listeners.remove(listener); … … 224 224 225 225 protected void fireFrozenChanged(boolean oldValue, boolean newValue) { 226 synchronized (listeners) {226 synchronized (listeners) { 227 227 PropertyChangeEvent evt = new PropertyChangeEvent(this, FROZEN_PROP, oldValue, newValue); 228 228 for (PropertyChangeListener listener: listeners) { … … 355 355 protected void alertCopyFailedForDeletedPrimitives(List<PrimitiveId> deletedIds) { 356 356 List<String> items = new ArrayList<>(); 357 for (int i =0; i<Math.min(MAX_DELETED_PRIMITIVE_IN_DIALOG, deletedIds.size()); i++) {357 for (int i = 0; i < Math.min(MAX_DELETED_PRIMITIVE_IN_DIALOG, deletedIds.size()); i++) { 358 358 items.add(deletedIds.get(i).toString()); 359 359 } … … 402 402 403 403 int[] rows = new int[entries.get(source).size()]; 404 for (int i =0; i<rows.length; i++) {404 for (int i = 0; i < rows.length; i++) { 405 405 rows[i] = i; 406 406 } … … 525 525 // can't move down 526 526 return; 527 for (int i = rows.length-1; i >=0;i--) {527 for (int i = rows.length-1; i >= 0; i--) { 528 528 int row = rows[i]; 529 529 T n = mergedEntries.get(row); … … 551 551 List<T> mergedEntries = getMergedEntries(); 552 552 553 for (int i = rows.length-1; i >=0;i--) {553 for (int i = rows.length-1; i >= 0; i--) { 554 554 mergedEntries.remove(rows[i]); 555 555 } … … 569 569 if (getMyEntriesSize() != getTheirEntriesSize()) 570 570 return false; 571 for (int i =0; i < getMyEntriesSize(); i++) {571 for (int i = 0; i < getMyEntriesSize(); i++) { 572 572 if (!isEqualEntry(getMyEntries().get(i), getTheirEntries().get(i))) 573 573 return false; … … 617 617 @Override 618 618 public void setValueAt(Object value, int row, int col) { 619 ListMergeModel.this.setValueAt(this, value, row,col);619 ListMergeModel.this.setValueAt(this, value, row, col); 620 620 } 621 621 … … 712 712 return (OsmPrimitive) value; 713 713 } else if (value instanceof RelationMember) { 714 return ((RelationMember) value).getMember();714 return ((RelationMember) value).getMember(); 715 715 } else { 716 716 Main.error("Unknown object type: "+value); -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMerger.java
r8509 r8510 82 82 83 83 protected abstract JScrollPane buildMyElementsTable(); 84 84 85 protected abstract JScrollPane buildMergedElementsTable(); 86 85 87 protected abstract JScrollPane buildTheirElementsTable(); 86 88 … … 268 270 gc.weightx = 0.0; 269 271 gc.weighty = 0.0; 270 gc.insets = new Insets(10, 0,0,0);272 gc.insets = new Insets(10, 0, 0, 0); 271 273 lblMyVersion = new JLabel(tr("My version")); 272 274 lblMyVersion.setToolTipText(tr("List of elements in my dataset, i.e. the local dataset")); … … 295 297 gc.weightx = 0.33; 296 298 gc.weighty = 0.0; 297 gc.insets = new Insets(0, 0,0,0);299 gc.insets = new Insets(0, 0, 0, 0); 298 300 JCheckBox cbLockMyScrolling = new JCheckBox(); 299 301 cbLockMyScrolling.setName("checkbox.lockmyscrolling"); … … 321 323 gc.weightx = 0.33; 322 324 gc.weighty = 1.0; 323 gc.insets = new Insets(0, 0,0,0);325 gc.insets = new Insets(0, 0, 0, 0); 324 326 JScrollPane pane = buildMyElementsTable(); 325 327 lblMyVersion.setLabelFor(pane); … … 809 811 public void propertyChange(PropertyChangeEvent evt) { 810 812 if (evt.getPropertyName().equals(PROP_SELECTED)) { 811 btn.setSelected((Boolean) evt.getNewValue());813 btn.setSelected((Boolean) evt.getNewValue()); 812 814 } 813 815 } … … 828 830 model.setFrozen(false); 829 831 } 830 boolean isSelected = (Boolean) getValue(PROP_SELECTED);832 boolean isSelected = (Boolean) getValue(PROP_SELECTED); 831 833 if (isSelected != (e.getStateChange() == ItemEvent.SELECTED)) { 832 834 putValue(PROP_SELECTED, e.getStateChange() == ItemEvent.SELECTED); … … 860 862 public void propertyChange(PropertyChangeEvent evt) { 861 863 if (evt.getPropertyName().equals(ListMergeModel.FROZEN_PROP)) { 862 handlePropertyChangeFrozen((Boolean) evt.getOldValue(), (Boolean)evt.getNewValue());864 handlePropertyChangeFrozen((Boolean) evt.getOldValue(), (Boolean) evt.getNewValue()); 863 865 } 864 866 } -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMerger.java
r8426 r8510 59 59 @Override 60 60 public void populate(Conflict<? extends OsmPrimitive> conflict) { 61 Way myWay = (Way) conflict.getMy();62 Way theirWay = (Way) conflict.getTheir();63 ((NodeListMergeModel) model).populate(myWay, theirWay, conflict.getMergedMap());61 Way myWay = (Way) conflict.getMy(); 62 Way theirWay = (Way) conflict.getTheir(); 63 ((NodeListMergeModel) model).populate(myWay, theirWay, conflict.getMergedMap()); 64 64 myEntriesTable.setLayer(findLayerFor(myWay)); 65 65 theirEntriesTable.setLayer(findLayerFor(theirWay)); -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java
r8444 r8510 32 32 public NodeListTableCellRenderer() { 33 33 icon = ImageProvider.get("data", "node"); 34 rowNumberBorder = BorderFactory.createEmptyBorder(0, 4,0,0);34 rowNumberBorder = BorderFactory.createEmptyBorder(0, 4, 0, 0); 35 35 setOpaque(true); 36 36 } … … 104 104 int row, int column) { 105 105 106 Node node = (Node) value;106 Node node = (Node) value; 107 107 reset(); 108 108 if (node == null) { … … 111 111 switch(column) { 112 112 case 0: 113 renderRowId(getModel(table), row, isSelected);113 renderRowId(getModel(table), row, isSelected); 114 114 break; 115 115 case 1: … … 126 126 /** 127 127 * replies the model 128 * @param table 128 * @param table the table 129 129 * @return the table model 130 130 */ 131 131 @SuppressWarnings("unchecked") 132 132 protected ListMergeModel<Node>.EntriesTableModel getModel(JTable table) { 133 return (ListMergeModel<Node>.EntriesTableModel) table.getModel();133 return (ListMergeModel<Node>.EntriesTableModel) table.getModel(); 134 134 } 135 135 } -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergeModel.java
r8444 r8510 128 128 OsmPrimitive their = conflict.getTheir(); 129 129 if (my instanceof Node) { 130 myCoords = ((Node) my).getCoor();131 theirCoords = ((Node) their).getCoor();130 myCoords = ((Node) my).getCoor(); 131 theirCoords = ((Node) their).getCoor(); 132 132 } else { 133 133 myCoords = null; … … 138 138 theirDeletedState = their.isDeleted(); 139 139 140 myReferrers = my.getDataSet() == null ?Collections.<OsmPrimitive>emptyList():my.getReferrers();141 theirReferrers = their.getDataSet() == null ?Collections.<OsmPrimitive>emptyList():their.getReferrers();140 myReferrers = my.getDataSet() == null ? Collections.<OsmPrimitive>emptyList() : my.getReferrers(); 141 theirReferrers = their.getDataSet() == null ? Collections.<OsmPrimitive>emptyList() : their.getReferrers(); 142 142 143 143 coordMergeDecision = UNDECIDED; -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java
r8509 r8510 78 78 gc.weightx = 0.0; 79 79 gc.weighty = 0.0; 80 gc.insets = new Insets(10, 0,10,0);80 gc.insets = new Insets(10, 0, 10, 0); 81 81 JLabel lblMyVersion = new JLabel(tr("My version")); 82 82 lblMyVersion.setToolTipText(tr("Properties in my dataset, i.e. the local dataset")); … … 108 108 gc.weightx = 0.0; 109 109 gc.weighty = 0.0; 110 gc.insets = new Insets(0, 5,0,5);110 gc.insets = new Insets(0, 5, 0, 5); 111 111 add(new JLabel(tr("Coordinates:")), gc); 112 112 … … 182 182 gc.weightx = 0.0; 183 183 gc.weighty = 0.0; 184 gc.insets = new Insets(0, 5,0,5);184 gc.insets = new Insets(0, 5, 0, 5); 185 185 add(new JLabel(tr("Deleted State:")), gc); 186 186 … … 258 258 gc.weightx = 0.0; 259 259 gc.weighty = 0.0; 260 gc.insets = new Insets(0, 5,0,5);260 gc.insets = new Insets(0, 5, 0, 5); 261 261 add(new JLabel(tr("Referenced by:")), gc); 262 262 -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListMergeModel.java
r8465 r8510 48 48 if (model == getMergedTableModel() && col == 1) { 49 49 RelationMember memberOld = getMergedEntries().get(row); 50 RelationMember memberNew = new RelationMember((String) value,memberOld.getMember());50 RelationMember memberNew = new RelationMember((String) value, memberOld.getMember()); 51 51 getMergedEntries().remove(row); 52 getMergedEntries().add(row, memberNew);52 getMergedEntries().add(row, memberNew); 53 53 fireModelDataChanged(); 54 54 } -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberMerger.java
r8426 r8510 60 60 @Override 61 61 public void populate(Conflict<? extends OsmPrimitive> conflict) { 62 Relation myRel = (Relation) conflict.getMy();63 Relation theirRel = (Relation) conflict.getTheir();64 ((RelationMemberListMergeModel) model).populate(myRel, theirRel, conflict.getMergedMap());62 Relation myRel = (Relation) conflict.getMy(); 63 Relation theirRel = (Relation) conflict.getTheir(); 64 ((RelationMemberListMergeModel) model).populate(myRel, theirRel, conflict.getMergedMap()); 65 65 myEntriesTable.setLayer(findLayerFor(myRel)); 66 66 theirEntriesTable.setLayer(findLayerFor(theirRel)); -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTableCellEditor.java
r6912 r8510 42 42 return null; 43 43 44 RelationMember member = (RelationMember) value;44 RelationMember member = (RelationMember) value; 45 45 46 46 editor.setText(member.getRole()); -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTableCellRenderer.java
r8444 r8510 31 31 setIcon(null); 32 32 setOpaque(true); 33 rowNumberBorder = BorderFactory.createEmptyBorder(0, 4,0,0);33 rowNumberBorder = BorderFactory.createEmptyBorder(0, 4, 0, 0); 34 34 } 35 35 … … 116 116 int row, int column) { 117 117 118 RelationMember member = (RelationMember) value;118 RelationMember member = (RelationMember) value; 119 119 reset(); 120 120 if (member == null) { … … 147 147 @SuppressWarnings("unchecked") 148 148 protected ListMergeModel<Node>.EntriesTableModel getModel(JTable table) { 149 return (ListMergeModel<Node>.EntriesTableModel) table.getModel();149 return (ListMergeModel<Node>.EntriesTableModel) table.getModel(); 150 150 } 151 151 } -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/MergedTableCellRenderer.java
r4162 r8510 24 24 @Override 25 25 protected void renderKey(TagMergeItem item, boolean isSelected) { 26 setBackgroundColor(item, isSelected);26 setBackgroundColor(item, isSelected); 27 27 if (MergeDecisionType.KEEP_MINE.equals(item.getMergeDecision()) && item.getMyTagValue() == null) { 28 28 setText(tr("<undefined>")); … … 41 41 @Override 42 42 protected void renderValue(TagMergeItem item, boolean isSelected) { 43 setBackgroundColor(item, isSelected);43 setBackgroundColor(item, isSelected); 44 44 if (MergeDecisionType.KEEP_MINE.equals(item.getMergeDecision()) && item.getMyTagValue() == null) { 45 45 setText(tr("<undefined>")); -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/MineTableCellRenderer.java
r4163 r8510 48 48 @Override 49 49 protected void renderValue(TagMergeItem item, boolean isSelected) { 50 setBackgroundColor(item, isSelected);50 setBackgroundColor(item, isSelected); 51 51 setTextColor(item); 52 52 if (item.getMyTagValue() == null) { -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeModel.java
r8444 r8510 49 49 50 50 public void addPropertyChangeListener(PropertyChangeListener listener) { 51 synchronized (listeners) {51 synchronized (listeners) { 52 52 if (listener == null) return; 53 53 if (listeners.contains(listener)) return; … … 57 57 58 58 public void removePropertyChangeListener(PropertyChangeListener listener) { 59 synchronized (listeners) {59 synchronized (listeners) { 60 60 if (listener == null) return; 61 61 if (!listeners.contains(listener)) return; … … 71 71 */ 72 72 protected void fireNumUndecidedTagsChanged(int oldValue, int newValue) { 73 PropertyChangeEvent evt = new PropertyChangeEvent(this, PROP_NUM_UNDECIDED_TAGS,oldValue, newValue);74 synchronized (listeners) {75 for (PropertyChangeListener l : listeners) {73 PropertyChangeEvent evt = new PropertyChangeEvent(this, PROP_NUM_UNDECIDED_TAGS, oldValue, newValue); 74 synchronized (listeners) { 75 for (PropertyChangeListener l : listeners) { 76 76 l.propertyChange(evt); 77 77 } … … 85 85 */ 86 86 protected void refreshNumUndecidedTags() { 87 int newValue =0;88 for (TagMergeItem item: tagMergeItems) {87 int newValue = 0; 88 for (TagMergeItem item: tagMergeItems) { 89 89 if (MergeDecisionType.UNDECIDED.equals(item.getMergeDecision())) { 90 90 newValue++; … … 110 110 keys.addAll(my.keySet()); 111 111 keys.addAll(their.keySet()); 112 for (String key : keys) {112 for (String key : keys) { 113 113 String myValue = my.get(key); 114 114 String theirValue = their.get(key); … … 214 214 215 215 public int getFirstUndecided(int startIndex) { 216 for (int i =startIndex; i<tagMergeItems.size(); i++) {216 for (int i = startIndex; i < tagMergeItems.size(); i++) { 217 217 if (tagMergeItems.get(i).getMergeDecision() == MergeDecisionType.UNDECIDED) 218 218 return i; -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeTableCellRenderer.java
r8444 r8510 31 31 return this; 32 32 33 TagMergeItem item = (TagMergeItem) value;33 TagMergeItem item = (TagMergeItem) value; 34 34 switch(col) { 35 35 case 0: … … 45 45 return this; 46 46 } 47 48 47 } -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMerger.java
r8426 r8510 131 131 gc.weightx = 0.0; 132 132 gc.weighty = 0.0; 133 gc.insets = new Insets(10, 0,10,0);133 gc.insets = new Insets(10, 0, 10, 0); 134 134 JLabel lblMy = new JLabel(tr("My version (local dataset)")); 135 135 add(lblMy, gc); … … 154 154 gc.weightx = 0.0; 155 155 gc.weighty = 0.0; 156 gc.insets = new Insets(0, 0,0,0);156 gc.insets = new Insets(0, 0, 0, 0); 157 157 JLabel lblTheir = new JLabel(tr("Their version (server dataset)")); 158 158 add(lblTheir, gc); … … 429 429 public void deletePrimitive(boolean deleted) { 430 430 // Use my entries, as it doesn't really matter 431 MergeDecisionType decision = deleted ?MergeDecisionType.KEEP_MINE:MergeDecisionType.UNDECIDED;432 for (int i =0; i<model.getRowCount(); i++) {431 MergeDecisionType decision = deleted ? MergeDecisionType.KEEP_MINE : MergeDecisionType.UNDECIDED; 432 for (int i = 0; i < model.getRowCount(); i++) { 433 433 model.decide(i, decision); 434 434 } -
trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TheirTableCellRenderer.java
r4163 r8510 48 48 @Override 49 49 protected void renderValue(TagMergeItem item, boolean isSelected) { 50 setBackgroundColor(item, isSelected);50 setBackgroundColor(item, isSelected); 51 51 setTextColor(item); 52 52 if (item.getTheirTagValue() == null) { -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java
r8509 r8510 280 280 cmds.addAll(buildTagChangeCommand(targetPrimitive, allResolutions)); 281 281 } 282 for (String p : OsmPrimitive.getDiscardableKeys()) {282 for (String p : OsmPrimitive.getDiscardableKeys()) { 283 283 if (targetPrimitive.get(p) != null) { 284 284 cmds.add(new ChangePropertyCommand(targetPrimitive, p, null)); -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueCellEditor.java
r8444 r8510 122 122 @Override 123 123 public void itemStateChanged(ItemEvent e) { 124 if (e.getStateChange() == ItemEvent.SELECTED)124 if (e.getStateChange() == ItemEvent.SELECTED) 125 125 fireEditingStopped(); 126 126 } … … 175 175 @Override 176 176 public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { 177 MultiValueResolutionDecision decision = (MultiValueResolutionDecision) value;177 MultiValueResolutionDecision decision = (MultiValueResolutionDecision) value; 178 178 initEditor(decision); 179 179 editor.requestFocus(); -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueCellRenderer.java
r8509 r8510 149 149 return this; 150 150 151 MultiValueResolutionDecision decision = (MultiValueResolutionDecision) value;151 MultiValueResolutionDecision decision = (MultiValueResolutionDecision) value; 152 152 TagConflictResolverModel tagModel = (TagConflictResolverModel) table.getModel(); 153 153 boolean conflict = tagModel.getKeysWithConflicts().contains(tagModel.getKey(row)); -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueResolutionDecision.java
r8509 r8510 307 307 case SUM_ALL_NUMERIC: return new Tag(getKey(), tags.getSummedValues(getKey())); 308 308 case KEEP_ALL: return new Tag(getKey(), tags.getJoinedValues(getKey())); 309 case KEEP_ONE: return new Tag(getKey(), value);309 case KEEP_ONE: return new Tag(getKey(), value); 310 310 case KEEP_NONE: return new Tag(getKey(), ""); 311 311 case UNDECIDED: -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java
r8509 r8510 146 146 * @param targetStatistics histogram of paste targets, number of primitives of each type in the paste target 147 147 */ 148 protected void initResolver(OsmPrimitiveType type, TagCollection tc, Map<OsmPrimitiveType, Integer> targetStatistics) {149 resolvers.get(type).getModel().populate(tc, tc.getKeysWithMultipleValues());148 protected void initResolver(OsmPrimitiveType type, TagCollection tc, Map<OsmPrimitiveType, Integer> targetStatistics) { 149 resolvers.get(type).getModel().populate(tc, tc.getKeysWithMultipleValues()); 150 150 resolvers.get(type).getModel().prepareDefaultTagDecisions(); 151 151 if (!tc.isEmpty() && targetStatistics.get(type) != null && targetStatistics.get(type) > 0) { … … 162 162 */ 163 163 public void populate(TagCollection tagsForAllPrimitives, Map<OsmPrimitiveType, Integer> sourceStatistics, 164 Map<OsmPrimitiveType, Integer> targetStatistics) {164 Map<OsmPrimitiveType, Integer> targetStatistics) { 165 165 mode = Mode.RESOLVING_ONE_TAGCOLLECTION_ONLY; 166 tagsForAllPrimitives = tagsForAllPrimitives == null ? new TagCollection() : tagsForAllPrimitives;167 sourceStatistics = sourceStatistics == null ? new HashMap<OsmPrimitiveType, Integer>() : sourceStatistics;166 tagsForAllPrimitives = tagsForAllPrimitives == null ? new TagCollection() : tagsForAllPrimitives; 167 sourceStatistics = sourceStatistics == null ? new HashMap<OsmPrimitiveType, Integer>() : sourceStatistics; 168 168 targetStatistics = targetStatistics == null ? new HashMap<OsmPrimitiveType, Integer>() : targetStatistics; 169 169 170 170 // init the resolver 171 171 // 172 allPrimitivesResolver.getModel().populate(tagsForAllPrimitives, tagsForAllPrimitives.getKeysWithMultipleValues());172 allPrimitivesResolver.getModel().populate(tagsForAllPrimitives, tagsForAllPrimitives.getKeysWithMultipleValues()); 173 173 allPrimitivesResolver.getModel().prepareDefaultTagDecisions(); 174 174 … … 192 192 193 193 protected TagConflictResolver getResolver(int idx) { 194 return (TagConflictResolver) tpResolvers.getComponentAt(idx);194 return (TagConflictResolver) tpResolvers.getComponentAt(idx); 195 195 } 196 196 … … 205 205 */ 206 206 public void populate(TagCollection tagsForNodes, TagCollection tagsForWays, TagCollection tagsForRelations, 207 Map<OsmPrimitiveType, Integer> sourceStatistics, Map<OsmPrimitiveType, Integer> targetStatistics) {207 Map<OsmPrimitiveType, Integer> sourceStatistics, Map<OsmPrimitiveType, Integer> targetStatistics) { 208 208 tagsForNodes = (tagsForNodes == null) ? new TagCollection() : tagsForNodes; 209 209 tagsForWays = (tagsForWays == null) ? new TagCollection() : tagsForWays; 210 210 tagsForRelations = (tagsForRelations == null) ? new TagCollection() : tagsForRelations; 211 211 if (tagsForNodes.isEmpty() && tagsForWays.isEmpty() && tagsForRelations.isEmpty()) { 212 populate(null, null,null);212 populate(null, null, null); 213 213 return; 214 214 } 215 215 tpResolvers.removeAll(); 216 initResolver(OsmPrimitiveType.NODE, tagsForNodes, targetStatistics);217 initResolver(OsmPrimitiveType.WAY, tagsForWays, targetStatistics);218 initResolver(OsmPrimitiveType.RELATION, tagsForRelations, targetStatistics);216 initResolver(OsmPrimitiveType.NODE, tagsForNodes, targetStatistics); 217 initResolver(OsmPrimitiveType.WAY, tagsForWays, targetStatistics); 218 initResolver(OsmPrimitiveType.RELATION, tagsForRelations, targetStatistics); 219 219 220 220 pnlTagResolver.setLayout(new BorderLayout()); … … 255 255 } 256 256 257 for (int i = 0; i < getNumResolverTabs(); i++) {257 for (int i = 0; i < getNumResolverTabs(); i++) { 258 258 if (!getResolver(i).getModel().isResolvedCompletely()) { 259 259 tpResolvers.setSelectedIndex(i); … … 328 328 new WindowGeometry( 329 329 getClass().getName() + ".geometry", 330 WindowGeometry.centerOnScreen(new Dimension(400, 300))330 WindowGeometry.centerOnScreen(new Dimension(400, 300)) 331 331 ).applySafe(this); 332 332 } else if (isShowing()) { // Avoid IllegalComponentStateException like in #8775 … … 348 348 public void propertyChange(PropertyChangeEvent evt) { 349 349 if (evt.getPropertyName().equals(TagConflictResolverModel.NUM_CONFLICTS_PROP)) { 350 TagConflictResolverModel model = (TagConflictResolverModel) evt.getSource();351 for (int i =0; i < tpResolvers.getTabCount();i++) {352 TagConflictResolver resolver = (TagConflictResolver) tpResolvers.getComponentAt(i);350 TagConflictResolverModel model = (TagConflictResolverModel) evt.getSource(); 351 for (int i = 0; i < tpResolvers.getTabCount(); i++) { 352 TagConflictResolver resolver = (TagConflictResolver) tpResolvers.getComponentAt(i); 353 353 if (model == resolver.getModel()) { 354 354 tpResolvers.setIconAt(i, 355 (Boolean) evt.getNewValue() ? iconResolved : iconUnresolved355 (Boolean) evt.getNewValue() ? iconResolved : iconUnresolved 356 356 357 357 ); … … 445 445 setFont(UIManager.getFont("Table.font")); 446 446 } 447 447 448 protected void renderNumTags(StatisticsInfo info) { 448 449 if (info == null) return; … … 467 468 String msg = ""; 468 469 switch(type) { 469 case NODE: msg = trn("{0} node", "{0} nodes", numPrimitives, numPrimitives); break;470 case NODE: msg = trn("{0} node", "{0} nodes", numPrimitives, numPrimitives); break; 470 471 case WAY: msg = trn("{0} way", "{0} ways", numPrimitives, numPrimitives); break; 471 472 case RELATION: msg = trn("{0} relation", "{0} relations", numPrimitives, numPrimitives); break; … … 496 497 if (row == 0) { 497 498 setFont(getFont().deriveFont(Font.BOLD)); 498 setText((String) value);499 setText((String) value); 499 500 } else { 500 501 StatisticsInfo info = (StatisticsInfo) value; -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecision.java
r8509 r8510 27 27 this.pos = pos; 28 28 this.originalPrimitive = member.getMember(); 29 this.role = member.hasRole() ? member.getRole() : "";29 this.role = member.hasRole() ? member.getRole() : ""; 30 30 this.decision = UNDECIDED; 31 31 } -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionEditor.java
r8308 r8510 30 30 public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { 31 31 setSelectedItem(value); 32 this.originalValue = (RelationMemberConflictDecisionType) value;32 this.originalValue = (RelationMemberConflictDecisionType) value; 33 33 return this; 34 34 } -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionRenderer.java
r8509 r8510 55 55 setForeground(UIManager.getColor("Table.selectionForeground")); 56 56 } 57 RelationMemberConflictDecisionType decision = (RelationMemberConflictDecisionType) value;57 RelationMemberConflictDecisionType decision = (RelationMemberConflictDecisionType) value; 58 58 cbDecisionTypes.setSelectedItem(decision); 59 59 return cbDecisionTypes; -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolver.java
r7661 r8510 57 57 gc.weighty = 0.0; 58 58 gc.weightx = 1.0; 59 gc.insets = new Insets(5, 5,5,5);59 gc.insets = new Insets(5, 5, 5, 5); 60 60 add(pnl, gc); 61 61 … … 63 63 gc.weighty = 1.0; 64 64 gc.fill = GridBagConstraints.BOTH; 65 gc.insets = new Insets(0, 0,0,0);65 gc.insets = new Insets(0, 0, 0, 0); 66 66 add(new JScrollPane(tblResolver = new RelationMemberConflictResolverTable(model)), gc); 67 67 pnl = new JPanel(); … … 72 72 gc.weighty = 0.0; 73 73 gc.fill = GridBagConstraints.HORIZONTAL; 74 add(pnl, gc);74 add(pnl, gc); 75 75 } 76 76 -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverModel.java
r8470 r8510 117 117 switch(column) { 118 118 case 2: /* role */ 119 d.setRole((String) value);119 d.setRole((String) value); 120 120 break; 121 121 case 4: /* decision */ 122 d.decide((RelationMemberConflictDecisionType) value);122 d.decide((RelationMemberConflictDecisionType) value); 123 123 refresh(); 124 124 break; … … 135 135 */ 136 136 protected void populate(Relation relation, OsmPrimitive primitive) { 137 for (int i = 0; i<relation.getMembersCount();i++) {137 for (int i = 0; i < relation.getMembersCount(); i++) { 138 138 if (relation.getMember(i).refersTo(primitive)) { 139 139 decisions.add(new RelationMemberConflictDecision(relation, i)); … … 155 155 for (Relation r : relations) { 156 156 for (OsmPrimitive p: memberPrimitives) { 157 populate(r, p);157 populate(r, p); 158 158 } 159 159 } … … 226 226 227 227 protected RelationMemberConflictDecision getDecision(Relation relation, int pos) { 228 for (RelationMemberConflictDecision decision: decisions) {228 for (RelationMemberConflictDecision decision: decisions) { 229 229 if (decision.matches(relation, pos)) return decision; 230 230 } … … 236 236 modifiedRelation.setMembers(null); 237 237 boolean isChanged = false; 238 for (int i =0; i < relation.getMembersCount(); i++) {238 for (int i = 0; i < relation.getMembersCount(); i++) { 239 239 final RelationMember member = relation.getMember(i); 240 240 RelationMemberConflictDecision decision = getDecision(relation, i); … … 244 244 switch(decision.getDecision()) { 245 245 case KEEP: 246 final RelationMember newMember = new RelationMember(decision.getRole(), newPrimitive);246 final RelationMember newMember = new RelationMember(decision.getRole(), newPrimitive); 247 247 modifiedRelation.addMember(newMember); 248 248 isChanged |= !member.equals(newMember); … … 281 281 282 282 protected boolean isChanged(Relation relation, OsmPrimitive newPrimitive) { 283 for (int i =0; i < relation.getMembersCount(); i++) {283 for (int i = 0; i < relation.getMembersCount(); i++) { 284 284 RelationMemberConflictDecision decision = getDecision(relation, i); 285 285 if (decision == null) { -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverTable.java
r7027 r8510 40 40 getActionMap().put("selectPreviousColumnCell", selectPreviousColumnCellAction); 41 41 42 setRowHeight((int) new JosmComboBox<String>().getPreferredSize().getHeight());42 setRowHeight((int) new JosmComboBox<String>().getPreferredSize().getHeight()); 43 43 } 44 44 -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolutionUtil.java
r8413 r8510 35 35 // remove irrelevant tags 36 36 // 37 for (String key : OsmPrimitive.getDiscardableKeys()) {37 for (String key : OsmPrimitive.getDiscardableKeys()) { 38 38 tc.removeByKey(key); 39 39 } … … 86 86 // in the conflict dialog if necessary 87 87 // 88 tc.add(new Tag(key, ""));88 tc.add(new Tag(key, "")); 89 89 } 90 90 } -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolver.java
r6890 r8510 34 34 protected JPanel buildInfoPanel() { 35 35 JPanel pnl = new JPanel(); 36 pnl.setBorder(BorderFactory.createEmptyBorder(5, 5,5,5));36 pnl.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); 37 37 pnl.setLayout(new GridBagLayout()); 38 38 GridBagConstraints gc = new GridBagConstraints(); -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java
r8509 r8510 87 87 public void rebuild() { 88 88 if (tags == null) return; 89 for (String key: tags.getKeys()) {89 for (String key: tags.getKeys()) { 90 90 MultiValueResolutionDecision decision = new MultiValueResolutionDecision(tags.getTagsFor(key)); 91 91 if (decisions.get(key) == null) { 92 decisions.put(key, decision);92 decisions.put(key, decision); 93 93 } 94 94 } … … 168 168 MultiValueResolutionDecision decision = getDecision(row); 169 169 if (value instanceof String) { 170 decision.keepOne((String) value);170 decision.keepOne((String) value); 171 171 } else if (value instanceof MultiValueDecisionType) { 172 MultiValueDecisionType type = (MultiValueDecisionType) value;172 MultiValueDecisionType type = (MultiValueDecisionType) value; 173 173 switch(type) { 174 174 case KEEP_NONE: -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverTable.java
r7743 r8510 40 40 getActionMap().put("selectPreviousColumnCell", selectPreviousColumnCellAction); 41 41 42 ((MultiValueCellEditor) getColumnModel().getColumn(2).getCellEditor()).addNavigationListener(this);42 ((MultiValueCellEditor) getColumnModel().getColumn(2).getCellEditor()).addNavigationListener(this); 43 43 44 setRowHeight((int) new JosmComboBox<String>().getPreferredSize().getHeight());44 setRowHeight((int) new JosmComboBox<String>().getPreferredSize().getHeight()); 45 45 } 46 46
Note:
See TracChangeset
for help on using the changeset viewer.