source: src/main/java/genius/gui/panels/SpinnerToBoundeRangeAdapter.java@ 88

Last change on this file since 88 was 88, checked in by Wouter Pasman, 7 years ago

#28 SpinnerModel restricted to Integer because of lacking type checking in lower layers and because sliders don't suport Doubles

File size: 1.6 KB
Line 
1package genius.gui.panels;
2
3import java.util.LinkedList;
4import java.util.List;
5
6import javax.swing.BoundedRangeModel;
7import javax.swing.event.ChangeListener;
8
9/**
10 * Only supports integers because BoundedRangeModel only supports Integer.
11 */
12public class SpinnerToBoundeRangeAdapter implements BoundedRangeModel {
13
14 private SpinnerModel model;
15 private boolean valueIsAdjusting = false;
16 private List<ChangeListener> listeners = new LinkedList<>();
17
18 public SpinnerToBoundeRangeAdapter(SpinnerModel model) {
19 this.model = model;
20 }
21
22 @Override
23 public int getMinimum() {
24 return model.getMinimum();
25 }
26
27 @Override
28 public void setMinimum(int newMinimum) {
29 // HACK. Does this work?? Problems down the line?
30 model.setMinimum(newMinimum);
31 }
32
33 @Override
34 public int getMaximum() {
35 return model.getMaximum().intValue();
36 }
37
38 @Override
39 public void setMaximum(int newMaximum) {
40 model.setMaximum(newMaximum);
41
42 }
43
44 @Override
45 public int getValue() {
46 return model.getValue();
47 }
48
49 @Override
50 public void setValue(int newValue) {
51 model.setValue(newValue);
52 }
53
54 @Override
55 public void setValueIsAdjusting(boolean b) {
56 valueIsAdjusting = b;
57 }
58
59 @Override
60 public boolean getValueIsAdjusting() {
61 return valueIsAdjusting;
62 }
63
64 @Override
65 public int getExtent() {
66 return 0;
67 }
68
69 @Override
70 public void setExtent(int newExtent) {
71 // not supported
72 }
73
74 @Override
75 public void setRangeProperties(int value, int extent, int min, int max,
76 boolean adjusting) {
77 // not supported
78 }
79
80 @Override
81 public void addChangeListener(ChangeListener x) {
82 listeners.add(x);
83 }
84
85 @Override
86 public void removeChangeListener(ChangeListener x) {
87 listeners.remove(x);
88 }
89
90}
Note: See TracBrowser for help on using the repository browser.