source: josm/trunk/src/org/openstreetmap/josm/gui/conflict/pair/PairTable.java@ 11318

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

refactor conflict classes

  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.conflict.pair;
3
4import javax.swing.JTable;
5import javax.swing.ListSelectionModel;
6import javax.swing.table.TableColumnModel;
7
8import org.openstreetmap.josm.command.conflict.ConflictResolveCommand;
9import org.openstreetmap.josm.data.osm.OsmPrimitive;
10import org.openstreetmap.josm.data.osm.PrimitiveId;
11import org.openstreetmap.josm.gui.layer.OsmDataLayer;
12import org.openstreetmap.josm.gui.widgets.OsmPrimitivesTable;
13import org.openstreetmap.josm.gui.widgets.OsmPrimitivesTableModel;
14
15public abstract class PairTable extends OsmPrimitivesTable {
16
17 private final transient ListMergeModel<? extends PrimitiveId, ? extends ConflictResolveCommand> model;
18
19 /**
20 * Constructs a new {@code PairTable}.
21 * @param name table name
22 * @param model merge model
23 * @param dm table model
24 * @param cm column model
25 * @param sm selection model
26 */
27 public PairTable(String name, ListMergeModel<? extends PrimitiveId, ? extends ConflictResolveCommand> model,
28 OsmPrimitivesTableModel dm, TableColumnModel cm, ListSelectionModel sm) {
29 super(dm, cm, sm);
30 this.model = model;
31 setName(name);
32 setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
33 }
34
35 @Override
36 public OsmPrimitive getPrimitiveInLayer(int row, OsmDataLayer layer) {
37 OsmPrimitive result = super.getPrimitiveInLayer(row, layer);
38 if (model != null && result != null && layer != null && result.getDataSet() != layer.data) {
39 result = model.getMyPrimitiveById(result);
40 }
41 return result;
42 }
43}
Note: See TracBrowser for help on using the repository browser.