source: josm/trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTable.java@ 9078

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

sonar - Immutable Field

  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.relation;
3
4import java.awt.event.MouseAdapter;
5import java.awt.event.MouseEvent;
6import java.util.Collections;
7
8import javax.swing.JTable;
9import javax.swing.ListSelectionModel;
10import javax.swing.SwingUtilities;
11
12import org.openstreetmap.josm.data.osm.OsmPrimitive;
13
14public class SelectionTable extends JTable {
15
16 private final SelectionTableModel model;
17 private MemberTableModel memberTableModel;
18
19 protected void build() {
20 setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
21 addMouseListener(new DoubleClickAdapter());
22 }
23
24 public SelectionTable(SelectionTableModel model, SelectionTableColumnModel columnModel) {
25 super(model, columnModel);
26 this.model = model;
27 build();
28 }
29
30 public void setMemberTableModel(MemberTableModel memberTableModel) {
31 this.memberTableModel = memberTableModel;
32 }
33
34 class DoubleClickAdapter extends MouseAdapter {
35 @Override
36 public void mouseClicked(MouseEvent evt) {
37 if (!(SwingUtilities.isLeftMouseButton(evt) && evt.getClickCount() > 1))
38 return;
39 int row = rowAtPoint(evt.getPoint());
40 OsmPrimitive primitive = model.getPrimitive(row);
41 memberTableModel.selectMembersReferringTo(Collections.singleton(primitive));
42 }
43 }
44}
Note: See TracBrowser for help on using the repository browser.