source: josm/trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberMerger.java@ 5335

Last change on this file since 5335 was 5335, checked in by Don-vip, 12 years ago

fix #7855 - conflict dialog: CCE selecting a way in members tab

  • Property svn:eol-style set to native
File size: 2.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.conflict.pair.relation;
3
4import javax.swing.JScrollPane;
5
6import org.openstreetmap.josm.data.conflict.Conflict;
7import org.openstreetmap.josm.data.osm.OsmPrimitive;
8import org.openstreetmap.josm.data.osm.Relation;
9import org.openstreetmap.josm.data.osm.RelationMember;
10import org.openstreetmap.josm.gui.conflict.pair.IConflictResolver;
11import org.openstreetmap.josm.gui.conflict.pair.ListMerger;
12
13/**
14 * A UI component for resolving conflicts in the member lists of two {@link Relation}
15 */
16public class RelationMemberMerger extends ListMerger<RelationMember> implements IConflictResolver {
17 @Override
18 protected JScrollPane buildMyElementsTable() {
19 myEntriesTable = new RelationMemberTable(
20 "table.mymembers",
21 model,
22 model.getMyTableModel(),
23 model.getMySelectionModel()
24 );
25 return embeddInScrollPane(myEntriesTable);
26 }
27
28 @Override
29 protected JScrollPane buildMergedElementsTable() {
30 mergedEntriesTable = new RelationMemberTable(
31 "table.mergedmembers",
32 model,
33 model.getMergedTableModel(),
34 model.getMergedSelectionModel()
35 );
36 mergedEntriesTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
37 return embeddInScrollPane(mergedEntriesTable);
38 }
39
40 @Override
41 protected JScrollPane buildTheirElementsTable() {
42 theirEntriesTable = new RelationMemberTable(
43 "table.theirmembers",
44 model,
45 model.getTheirTableModel(),
46 model.getTheirSelectionModel()
47 );
48 return embeddInScrollPane(theirEntriesTable);
49 }
50
51 public void populate(Conflict<? extends OsmPrimitive> conflict) {
52 Relation myRel = (Relation)conflict.getMy();
53 Relation theirRel = (Relation)conflict.getTheir();
54 ((RelationMemberListMergeModel)model).populate(myRel, theirRel, conflict.getMergedMap());
55 myEntriesTable.setLayer(findLayerFor(myRel));
56 theirEntriesTable.setLayer(findLayerFor(theirRel));
57 }
58
59 public RelationMemberMerger() {
60 super(new RelationMemberListMergeModel());
61 }
62
63 public void deletePrimitive(boolean deleted) {
64 if (deleted) {
65 model.clearMerged();
66 model.setFrozen(true);
67 } else {
68 model.setFrozen(false);
69 }
70 }
71}
Note: See TracBrowser for help on using the repository browser.