1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package p3j.gui.misc;
17
18 import java.util.ArrayList;
19 import java.util.List;
20
21 import javax.swing.AbstractListModel;
22
23 import p3j.pppm.parameters.ParameterInstance;
24 import p3j.pppm.sets.SetType;
25
26
27
28
29
30
31
32
33
34
35 public class ParameterListModel extends AbstractListModel {
36
37
38 private static final long serialVersionUID = 5605809577849847910L;
39
40
41 private List<ParameterInstance> parameters;
42
43
44 private static final List<ParameterInstance> EMPTY_LIST = new ArrayList<ParameterInstance>();
45
46 @Override
47 public Object getElementAt(int index) {
48 if (parameters == null) {
49 return null;
50 }
51 return parameters.get(index);
52 }
53
54 @Override
55 public int getSize() {
56 if (parameters == null) {
57 return 0;
58 }
59 return parameters.size();
60 }
61
62
63
64
65
66
67
68 public void updateSetType(SetType newSetType) {
69 int oldIndex = this.parameters == null ? 0 : this.parameters.size();
70 this.parameters = newSetType == null ? EMPTY_LIST : newSetType
71 .getDefinedParameters();
72 this.fireContentsChanged(this, 0, Math.max(oldIndex, getSize()));
73 }
74
75
76
77
78 public void refresh() {
79 this.fireContentsChanged(this, 0, getSize());
80 }
81
82 }