source: simplerunner/src/main/java/geniusweb/simplerunner/gui/SelectionModel.java@ 52

Last change on this file since 52 was 52, checked in by ruud, 14 months ago

Fixed small issues in domaineditor.

File size: 2.0 KB
Line 
1package geniusweb.simplerunner.gui;
2
3import java.util.Arrays;
4import java.util.LinkedList;
5import java.util.List;
6
7import javax.swing.event.TableModelEvent;
8import javax.swing.event.TableModelListener;
9import javax.swing.table.TableModel;
10
11import geniusweb.protocol.session.TeamInfo;
12import geniusweb.references.PartyWithProfile;
13
14/**
15 * The selected parties, profiles etc
16 *
17 */
18public class SelectionModel implements TableModel {
19 private final List<TeamInfo> teams = new LinkedList<>();
20 private final List<TableModelListener> listeners = new LinkedList<>();
21
22 private final List<String> colnames = Arrays.asList("Party", "Parameters",
23 "Profile");
24
25 public List<TeamInfo> getTeams() {
26 return teams;
27 }
28
29 public void addTeam(TeamInfo team) {
30 teams.add(team);
31 notifyListeners();
32 }
33
34 private void notifyListeners() {
35 for (TableModelListener l : listeners) {
36 l.tableChanged(new TableModelEvent(this));
37 }
38 }
39
40 @Override
41 public int getRowCount() {
42 return teams.size();
43 }
44
45 @Override
46 public int getColumnCount() {
47 return 3;
48 }
49
50 @Override
51 public String getColumnName(int columnIndex) {
52 return colnames.get(columnIndex);
53 }
54
55 @Override
56 public Class<?> getColumnClass(int columnIndex) {
57 return String.class;
58 }
59
60 @Override
61 public boolean isCellEditable(int rowIndex, int columnIndex) {
62 return false;
63 }
64
65 @Override
66 public Object getValueAt(int rowIndex, int columnIndex) {
67 PartyWithProfile party = teams.get(rowIndex).getParties().get(0);
68 switch (columnIndex) {
69 case 0:
70 return party.getParty().getPartyRef().getURI().toString();
71 case 1:
72 return party.getParty().getParameters().toString();
73 case 2:
74 return party.getProfile().getURI().toString();
75 }
76 return null;
77 }
78
79 @Override
80 public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
81 throw new UnsupportedOperationException();
82 }
83
84 @Override
85 public void addTableModelListener(TableModelListener l) {
86 listeners.add(l);
87 }
88
89 @Override
90 public void removeTableModelListener(TableModelListener l) {
91 listeners.remove(l);
92 }
93
94}
Note: See TracBrowser for help on using the repository browser.