cb93f7791de504e09d187bdeebeb6afdff21ecbc
[jalviewjs.git] / site / j2s / javax / swing / DefaultBoundedRangeModel.js
1 Clazz.declarePackage ("javax.swing");\r
2 Clazz.load (["javax.swing.BoundedRangeModel", "javax.swing.event.EventListenerList"], "javax.swing.DefaultBoundedRangeModel", ["java.lang.IllegalArgumentException", "javax.swing.event.ChangeEvent", "$.ChangeListener"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.changeEvent = null;\r
5 this.listenerList = null;\r
6 this.value = 0;\r
7 this.extent = 0;\r
8 this.min = 0;\r
9 this.max = 100;\r
10 this.isAdjusting = false;\r
11 Clazz.instantialize (this, arguments);\r
12 }, javax.swing, "DefaultBoundedRangeModel", null, javax.swing.BoundedRangeModel);\r
13 Clazz.prepareFields (c$, function () {\r
14 this.listenerList =  new javax.swing.event.EventListenerList ();\r
15 });\r
16 Clazz.makeConstructor (c$, \r
17 function () {\r
18 });\r
19 Clazz.makeConstructor (c$, \r
20 function (value, extent, min, max) {\r
21 if ((max >= min) && (value >= min) && ((value + extent) >= value) && ((value + extent) <= max)) {\r
22 this.value = value;\r
23 this.extent = extent;\r
24 this.min = min;\r
25 this.max = max;\r
26 } else {\r
27 throw  new IllegalArgumentException ("invalid range properties");\r
28 }}, "~N,~N,~N,~N");\r
29 Clazz.overrideMethod (c$, "getValue", \r
30 function () {\r
31 return this.value;\r
32 });\r
33 Clazz.overrideMethod (c$, "getExtent", \r
34 function () {\r
35 return this.extent;\r
36 });\r
37 Clazz.overrideMethod (c$, "getMinimum", \r
38 function () {\r
39 return this.min;\r
40 });\r
41 Clazz.overrideMethod (c$, "getMaximum", \r
42 function () {\r
43 return this.max;\r
44 });\r
45 Clazz.overrideMethod (c$, "setValue", \r
46 function (n) {\r
47 n = Math.min (n, 2147483647 - this.extent);\r
48 var newValue = Math.max (n, this.min);\r
49 if (newValue + this.extent > this.max) {\r
50 newValue = this.max - this.extent;\r
51 }this.setRangeProperties (newValue, this.extent, this.min, this.max, this.isAdjusting);\r
52 }, "~N");\r
53 Clazz.overrideMethod (c$, "setExtent", \r
54 function (n) {\r
55 var newExtent = Math.max (0, n);\r
56 if (this.value + newExtent > this.max) {\r
57 newExtent = this.max - this.value;\r
58 }this.setRangeProperties (this.value, newExtent, this.min, this.max, this.isAdjusting);\r
59 }, "~N");\r
60 Clazz.overrideMethod (c$, "setMinimum", \r
61 function (n) {\r
62 var newMax = Math.max (n, this.max);\r
63 var newValue = Math.max (n, this.value);\r
64 var newExtent = Math.min (newMax - newValue, this.extent);\r
65 this.setRangeProperties (newValue, newExtent, n, newMax, this.isAdjusting);\r
66 }, "~N");\r
67 Clazz.overrideMethod (c$, "setMaximum", \r
68 function (n) {\r
69 var newMin = Math.min (n, this.min);\r
70 var newExtent = Math.min (n - newMin, this.extent);\r
71 var newValue = Math.min (n - newExtent, this.value);\r
72 this.setRangeProperties (newValue, newExtent, newMin, n, this.isAdjusting);\r
73 }, "~N");\r
74 Clazz.overrideMethod (c$, "setValueIsAdjusting", \r
75 function (b) {\r
76 this.setRangeProperties (this.value, this.extent, this.min, this.max, b);\r
77 }, "~B");\r
78 Clazz.overrideMethod (c$, "getValueIsAdjusting", \r
79 function () {\r
80 return this.isAdjusting;\r
81 });\r
82 Clazz.overrideMethod (c$, "setRangeProperties", \r
83 function (newValue, newExtent, newMin, newMax, adjusting) {\r
84 if (newMin > newMax) {\r
85 newMin = newMax;\r
86 }if (newValue > newMax) {\r
87 newMax = newValue;\r
88 }if (newValue < newMin) {\r
89 newMin = newValue;\r
90 }if ((newExtent + newValue) > newMax) {\r
91 newExtent = newMax - newValue;\r
92 }if (newExtent < 0) {\r
93 newExtent = 0;\r
94 }var isChange = (newValue != this.value) || (newExtent != this.extent) || (newMin != this.min) || (newMax != this.max) || (adjusting != this.isAdjusting);\r
95 if (isChange) {\r
96 this.value = newValue;\r
97 this.extent = newExtent;\r
98 this.min = newMin;\r
99 this.max = newMax;\r
100 this.isAdjusting = adjusting;\r
101 this.fireStateChanged ();\r
102 }}, "~N,~N,~N,~N,~B");\r
103 Clazz.overrideMethod (c$, "addChangeListener", \r
104 function (l) {\r
105 this.listenerList.add (javax.swing.event.ChangeListener, l);\r
106 }, "javax.swing.event.ChangeListener");\r
107 Clazz.overrideMethod (c$, "removeChangeListener", \r
108 function (l) {\r
109 this.listenerList.remove (javax.swing.event.ChangeListener, l);\r
110 }, "javax.swing.event.ChangeListener");\r
111 Clazz.defineMethod (c$, "getChangeListeners", \r
112 function () {\r
113 return this.listenerList.getListeners (javax.swing.event.ChangeListener);\r
114 });\r
115 Clazz.defineMethod (c$, "fireStateChanged", \r
116 function () {\r
117 var listeners = this.listenerList.getListenerList ();\r
118 for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
119 if (listeners[i] === javax.swing.event.ChangeListener) {\r
120 if (this.changeEvent == null) {\r
121 this.changeEvent =  new javax.swing.event.ChangeEvent (this);\r
122 }(listeners[i + 1]).stateChanged (this.changeEvent);\r
123 }}\r
124 });\r
125 Clazz.overrideMethod (c$, "toString", \r
126 function () {\r
127 var modelString = "value=" + this.getValue () + ", " + "extent=" + this.getExtent () + ", " + "min=" + this.getMinimum () + ", " + "max=" + this.getMaximum () + ", " + "adj=" + this.getValueIsAdjusting ();\r
128 return this.getClass ().getName () + "[" + modelString + "]";\r
129 });\r
130 Clazz.defineMethod (c$, "getListeners", \r
131 function (listenerType) {\r
132 return this.listenerList.getListeners (listenerType);\r
133 }, "Class");\r
134 });\r