JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / swingjs / j2s / javax / swing / SizeSequence.js
1 Clazz.declarePackage ("javax.swing");\r
2 c$ = Clazz.decorateAsClass (function () {\r
3 this.a = null;\r
4 Clazz.instantialize (this, arguments);\r
5 }, javax.swing, "SizeSequence");\r
6 Clazz.makeConstructor (c$, \r
7 function () {\r
8 this.a = javax.swing.SizeSequence.emptyArray;\r
9 });\r
10 Clazz.makeConstructor (c$, \r
11 function (numEntries) {\r
12 this.construct (numEntries, 0);\r
13 }, "~N");\r
14 Clazz.makeConstructor (c$, \r
15 function (numEntries, value) {\r
16 this.construct ();\r
17 this.insertEntries (0, numEntries, value);\r
18 }, "~N,~N");\r
19 Clazz.makeConstructor (c$, \r
20 function (sizes) {\r
21 this.construct ();\r
22 this.setSizes (sizes);\r
23 }, "~A");\r
24 Clazz.defineMethod (c$, "setSizes", \r
25 function (length, size) {\r
26 if (this.a.length != length) {\r
27 this.a =  Clazz.newIntArray (length, 0);\r
28 }this.setSizes (0, length, size);\r
29 }, "~N,~N");\r
30 Clazz.defineMethod (c$, "setSizes", \r
31  function (from, to, size) {\r
32 if (to <= from) {\r
33 return 0;\r
34 }var m = Clazz.doubleToInt ((from + to) / 2);\r
35 this.a[m] = size + this.setSizes (from, m, size);\r
36 return this.a[m] + this.setSizes (m + 1, to, size);\r
37 }, "~N,~N,~N");\r
38 Clazz.defineMethod (c$, "setSizes", \r
39 function (sizes) {\r
40 if (this.a.length != sizes.length) {\r
41 this.a =  Clazz.newIntArray (sizes.length, 0);\r
42 }this.setSizes (0, this.a.length, sizes);\r
43 }, "~A");\r
44 Clazz.defineMethod (c$, "setSizes", \r
45  function (from, to, sizes) {\r
46 if (to <= from) {\r
47 return 0;\r
48 }var m = Clazz.doubleToInt ((from + to) / 2);\r
49 this.a[m] = sizes[m] + this.setSizes (from, m, sizes);\r
50 return this.a[m] + this.setSizes (m + 1, to, sizes);\r
51 }, "~N,~N,~A");\r
52 Clazz.defineMethod (c$, "getSizes", \r
53 function () {\r
54 var n = this.a.length;\r
55 var sizes =  Clazz.newIntArray (n, 0);\r
56 this.getSizes (0, n, sizes);\r
57 return sizes;\r
58 });\r
59 Clazz.defineMethod (c$, "getSizes", \r
60  function (from, to, sizes) {\r
61 if (to <= from) {\r
62 return 0;\r
63 }var m = Clazz.doubleToInt ((from + to) / 2);\r
64 sizes[m] = this.a[m] - this.getSizes (from, m, sizes);\r
65 return this.a[m] + this.getSizes (m + 1, to, sizes);\r
66 }, "~N,~N,~A");\r
67 Clazz.defineMethod (c$, "getPosition", \r
68 function (index) {\r
69 return this.getPosition (0, this.a.length, index);\r
70 }, "~N");\r
71 Clazz.defineMethod (c$, "getPosition", \r
72  function (from, to, index) {\r
73 if (to <= from) {\r
74 return 0;\r
75 }var m = Clazz.doubleToInt ((from + to) / 2);\r
76 if (index <= m) {\r
77 return this.getPosition (from, m, index);\r
78 } else {\r
79 return this.a[m] + this.getPosition (m + 1, to, index);\r
80 }}, "~N,~N,~N");\r
81 Clazz.defineMethod (c$, "getIndex", \r
82 function (position) {\r
83 return this.getIndex (0, this.a.length, position);\r
84 }, "~N");\r
85 Clazz.defineMethod (c$, "getIndex", \r
86  function (from, to, position) {\r
87 if (to <= from) {\r
88 return from;\r
89 }var m = Clazz.doubleToInt ((from + to) / 2);\r
90 var pivot = this.a[m];\r
91 if (position < pivot) {\r
92 return this.getIndex (from, m, position);\r
93 } else {\r
94 return this.getIndex (m + 1, to, position - pivot);\r
95 }}, "~N,~N,~N");\r
96 Clazz.defineMethod (c$, "getSize", \r
97 function (index) {\r
98 return this.getPosition (index + 1) - this.getPosition (index);\r
99 }, "~N");\r
100 Clazz.defineMethod (c$, "setSize", \r
101 function (index, size) {\r
102 this.changeSize (0, this.a.length, index, size - this.getSize (index));\r
103 }, "~N,~N");\r
104 Clazz.defineMethod (c$, "changeSize", \r
105  function (from, to, index, delta) {\r
106 if (to <= from) {\r
107 return;\r
108 }var m = Clazz.doubleToInt ((from + to) / 2);\r
109 if (index <= m) {\r
110 this.a[m] += delta;\r
111 this.changeSize (from, m, index, delta);\r
112 } else {\r
113 this.changeSize (m + 1, to, index, delta);\r
114 }}, "~N,~N,~N,~N");\r
115 Clazz.defineMethod (c$, "insertEntries", \r
116 function (start, length, value) {\r
117 var sizes = this.getSizes ();\r
118 var end = start + length;\r
119 var n = this.a.length + length;\r
120 this.a =  Clazz.newIntArray (n, 0);\r
121 for (var i = 0; i < start; i++) {\r
122 this.a[i] = sizes[i];\r
123 }\r
124 for (var i = start; i < end; i++) {\r
125 this.a[i] = value;\r
126 }\r
127 for (var i = end; i < n; i++) {\r
128 this.a[i] = sizes[i - length];\r
129 }\r
130 this.setSizes (this.a);\r
131 }, "~N,~N,~N");\r
132 Clazz.defineMethod (c$, "removeEntries", \r
133 function (start, length) {\r
134 var sizes = this.getSizes ();\r
135 var end = start + length;\r
136 var n = this.a.length - length;\r
137 this.a =  Clazz.newIntArray (n, 0);\r
138 for (var i = 0; i < start; i++) {\r
139 this.a[i] = sizes[i];\r
140 }\r
141 for (var i = start; i < n; i++) {\r
142 this.a[i] = sizes[i + length];\r
143 }\r
144 this.setSizes (this.a);\r
145 }, "~N,~N");\r
146 Clazz.defineStatics (c$,\r
147 "emptyArray",  Clazz.newIntArray (0, 0));\r