1 Clazz.declarePackage ("javax.swing");
\r
2 c$ = Clazz.decorateAsClass (function () {
\r
4 Clazz.instantialize (this, arguments);
\r
5 }, javax.swing, "SizeSequence");
\r
6 Clazz.makeConstructor (c$,
\r
8 this.a = javax.swing.SizeSequence.emptyArray;
\r
10 Clazz.makeConstructor (c$,
\r
11 function (numEntries) {
\r
12 this.construct (numEntries, 0);
\r
14 Clazz.makeConstructor (c$,
\r
15 function (numEntries, value) {
\r
17 this.insertEntries (0, numEntries, value);
\r
19 Clazz.makeConstructor (c$,
\r
22 this.setSizes (sizes);
\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
30 Clazz.defineMethod (c$, "setSizes",
\r
31 function (from, to, size) {
\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
38 Clazz.defineMethod (c$, "setSizes",
\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
44 Clazz.defineMethod (c$, "setSizes",
\r
45 function (from, to, sizes) {
\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
52 Clazz.defineMethod (c$, "getSizes",
\r
54 var n = this.a.length;
\r
55 var sizes = Clazz.newIntArray (n, 0);
\r
56 this.getSizes (0, n, sizes);
\r
59 Clazz.defineMethod (c$, "getSizes",
\r
60 function (from, to, sizes) {
\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
67 Clazz.defineMethod (c$, "getPosition",
\r
69 return this.getPosition (0, this.a.length, index);
\r
71 Clazz.defineMethod (c$, "getPosition",
\r
72 function (from, to, index) {
\r
75 }var m = Clazz.doubleToInt ((from + to) / 2);
\r
77 return this.getPosition (from, m, index);
\r
79 return this.a[m] + this.getPosition (m + 1, to, index);
\r
81 Clazz.defineMethod (c$, "getIndex",
\r
82 function (position) {
\r
83 return this.getIndex (0, this.a.length, position);
\r
85 Clazz.defineMethod (c$, "getIndex",
\r
86 function (from, to, position) {
\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
94 return this.getIndex (m + 1, to, position - pivot);
\r
96 Clazz.defineMethod (c$, "getSize",
\r
98 return this.getPosition (index + 1) - this.getPosition (index);
\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
104 Clazz.defineMethod (c$, "changeSize",
\r
105 function (from, to, index, delta) {
\r
108 }var m = Clazz.doubleToInt ((from + to) / 2);
\r
110 this.a[m] += delta;
\r
111 this.changeSize (from, m, index, delta);
\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
124 for (var i = start; i < end; i++) {
\r
127 for (var i = end; i < n; i++) {
\r
128 this.a[i] = sizes[i - length];
\r
130 this.setSizes (this.a);
\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
141 for (var i = start; i < n; i++) {
\r
142 this.a[i] = sizes[i + length];
\r
144 this.setSizes (this.a);
\r
146 Clazz.defineStatics (c$,
\r
147 "emptyArray", Clazz.newIntArray (0, 0));
\r