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

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

Checkstyle 6.19: enable SingleSpaceSeparator and fix violations

  • Property svn:eol-style set to native
File size: 2.5 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.ListMerger;
11
12/**
13 * A UI component for resolving conflicts in the member lists of two {@link Relation}s.
14 * @since 1631
15 */
16public class RelationMemberMerger extends ListMerger<RelationMember> {
17
18 /**
19 * Constructs a new {@code RelationMemberMerger}.
20 */
21 public RelationMemberMerger() {
22 super(new RelationMemberListMergeModel());
23 }
24
25 @Override
26 protected JScrollPane buildMyElementsTable() {
27 myEntriesTable = new RelationMemberTable(
28 "table.mymembers",
29 model,
30 model.getMyTableModel(),
31 model.getMySelectionModel()
32 );
33 return embeddInScrollPane(myEntriesTable);
34 }
35
36 @Override
37 protected JScrollPane buildMergedElementsTable() {
38 mergedEntriesTable = new RelationMemberTable(
39 "table.mergedmembers",
40 model,
41 model.getMergedTableModel(),
42 model.getMergedSelectionModel()
43 );
44 mergedEntriesTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
45 return embeddInScrollPane(mergedEntriesTable);
46 }
47
48 @Override
49 protected JScrollPane buildTheirElementsTable() {
50 theirEntriesTable = new RelationMemberTable(
51 "table.theirmembers",
52 model,
53 model.getTheirTableModel(),
54 model.getTheirSelectionModel()
55 );
56 return embeddInScrollPane(theirEntriesTable);
57 }
58
59 @Override
60 public void populate(Conflict<? extends OsmPrimitive> conflict) {
61 Relation myRel = (Relation) conflict.getMy();
62 Relation theirRel = (Relation) conflict.getTheir();
63 ((RelationMemberListMergeModel) model).populate(myRel, theirRel, conflict.getMergedMap());
64 myEntriesTable.setLayer(findLayerFor(myRel));
65 theirEntriesTable.setLayer(findLayerFor(theirRel));
66 }
67
68 @Override
69 public void deletePrimitive(boolean deleted) {
70 if (deleted) {
71 model.clearMerged();
72 model.setFrozen(true);
73 } else {
74 model.setFrozen(false);
75 }
76 }
77}
Note: See TracBrowser for help on using the repository browser.