1 Clazz.declarePackage ("javax.swing.text");
\r
2 Clazz.load (["javax.swing.text.BoxView", "$.CompositeView"], "javax.swing.text.FlowView", ["java.util.Vector", "javax.swing.SizeRequirements", "javax.swing.text.ComponentView", "$.LabelView", "$.Position", "$.TabExpander", "$.TabableView"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
5 this.layoutPool = null;
\r
6 this.strategy = null;
\r
7 Clazz.instantialize (this, arguments);
\r
8 }, javax.swing.text, "FlowView", javax.swing.text.BoxView);
\r
9 Clazz.makeConstructor (c$,
\r
10 function (elem, axis) {
\r
11 Clazz.superConstructor (this, javax.swing.text.FlowView, [elem, axis]);
\r
12 this.layoutSpan = 2147483647;
\r
13 this.strategy = new javax.swing.text.FlowView.FlowStrategy ();
\r
14 }, "javax.swing.text.Element,~N");
\r
15 Clazz.defineMethod (c$, "getFlowAxis",
\r
17 if (this.getAxis () == 1) {
\r
21 Clazz.defineMethod (c$, "getFlowSpan",
\r
23 return this.layoutSpan;
\r
25 Clazz.defineMethod (c$, "getFlowStart",
\r
29 Clazz.defineMethod (c$, "loadChildren",
\r
31 if (this.layoutPool == null) {
\r
32 this.layoutPool = new javax.swing.text.FlowView.LogicalView (this.getElement ());
\r
33 }this.layoutPool.setParent (this);
\r
34 this.strategy.insertUpdate (this, null, null);
\r
35 }, "javax.swing.text.ViewFactory");
\r
36 Clazz.defineMethod (c$, "getViewIndexAtPosition",
\r
38 if (pos >= this.getStartOffset () && (pos < this.getEndOffset ())) {
\r
39 for (var counter = 0; counter < this.getViewCount (); counter++) {
\r
40 var v = this.getView (counter);
\r
41 if (pos >= v.getStartOffset () && pos < v.getEndOffset ()) {
\r
46 Clazz.defineMethod (c$, "layout",
\r
47 function (width, height) {
\r
48 var faxis = this.getFlowAxis ();
\r
54 }if (this.layoutSpan != newSpan) {
\r
55 this.layoutChanged (faxis);
\r
56 this.layoutChanged (this.getAxis ());
\r
57 this.layoutSpan = newSpan;
\r
58 }if (!this.isLayoutValid (faxis)) {
\r
59 var heightAxis = this.getAxis ();
\r
60 var oldFlowHeight = ((heightAxis == 0) ? this.getWidth () : this.getHeight ());
\r
61 this.strategy.layout (this);
\r
62 var newFlowHeight = Clazz.floatToInt (this.getPreferredSpan (heightAxis));
\r
63 if (oldFlowHeight != newFlowHeight) {
\r
64 var p = this.getParent ();
\r
66 p.preferenceChanged (this, (heightAxis == 0), (heightAxis == 1));
\r
67 }var host = this.getContainer ();
\r
70 }}}Clazz.superCall (this, javax.swing.text.FlowView, "layout", [width, height]);
\r
72 Clazz.overrideMethod (c$, "calculateMinorAxisRequirements",
\r
73 function (axis, r) {
\r
75 r = new javax.swing.SizeRequirements ();
\r
76 }var pref = this.layoutPool.getPreferredSpan (axis);
\r
77 var min = this.layoutPool.getMinimumSpan (axis);
\r
78 r.minimum = Clazz.floatToInt (min);
\r
79 r.preferred = Math.max (r.minimum, Clazz.floatToInt (pref));
\r
80 r.maximum = 2147483647;
\r
83 }, "~N,javax.swing.SizeRequirements");
\r
84 Clazz.defineMethod (c$, "insertUpdate",
\r
85 function (changes, a, f) {
\r
86 this.layoutPool.insertUpdate (changes, a, f);
\r
87 this.strategy.insertUpdate (this, changes, this.getInsideAllocation (a));
\r
88 }, "javax.swing.event.DocumentEvent,java.awt.Shape,javax.swing.text.ViewFactory");
\r
89 Clazz.defineMethod (c$, "removeUpdate",
\r
90 function (changes, a, f) {
\r
91 this.layoutPool.removeUpdate (changes, a, f);
\r
92 this.strategy.removeUpdate (this, changes, this.getInsideAllocation (a));
\r
93 }, "javax.swing.event.DocumentEvent,java.awt.Shape,javax.swing.text.ViewFactory");
\r
94 Clazz.defineMethod (c$, "changedUpdate",
\r
95 function (changes, a, f) {
\r
96 this.layoutPool.changedUpdate (changes, a, f);
\r
97 this.strategy.changedUpdate (this, changes, this.getInsideAllocation (a));
\r
98 }, "javax.swing.event.DocumentEvent,java.awt.Shape,javax.swing.text.ViewFactory");
\r
99 Clazz.defineMethod (c$, "setParent",
\r
100 function (parent) {
\r
101 Clazz.superCall (this, javax.swing.text.FlowView, "setParent", [parent]);
\r
102 if (parent == null && this.layoutPool != null) {
\r
103 this.layoutPool.setParent (null);
\r
104 }}, "javax.swing.text.View");
\r
105 Clazz.pu$h(self.c$);
\r
106 c$ = Clazz.decorateAsClass (function () {
\r
107 this.damageStart = 2147483647;
\r
108 this.viewBuffer = null;
\r
109 Clazz.instantialize (this, arguments);
\r
110 }, javax.swing.text.FlowView, "FlowStrategy");
\r
111 Clazz.defineMethod (c$, "addDamage",
\r
113 if (b >= a.getStartOffset () && b < a.getEndOffset ()) {
\r
114 this.damageStart = Math.min (this.damageStart, b);
\r
115 }}, "javax.swing.text.FlowView,~N");
\r
116 Clazz.defineMethod (c$, "unsetDamage",
\r
118 this.damageStart = 2147483647;
\r
120 Clazz.defineMethod (c$, "insertUpdate",
\r
121 function (a, b, c) {
\r
123 this.addDamage (a, b.getOffset ());
\r
125 var d = a.getContainer ();
\r
127 d.repaint (c.x, c.y, c.width, c.height);
\r
129 a.preferenceChanged (null, true, true);
\r
130 }}, "javax.swing.text.FlowView,javax.swing.event.DocumentEvent,java.awt.Rectangle");
\r
131 Clazz.defineMethod (c$, "removeUpdate",
\r
132 function (a, b, c) {
\r
133 this.addDamage (a, b.getOffset ());
\r
135 var d = a.getContainer ();
\r
137 d.repaint (c.x, c.y, c.width, c.height);
\r
139 a.preferenceChanged (null, true, true);
\r
140 }}, "javax.swing.text.FlowView,javax.swing.event.DocumentEvent,java.awt.Rectangle");
\r
141 Clazz.defineMethod (c$, "changedUpdate",
\r
142 function (a, b, c) {
\r
143 this.addDamage (a, b.getOffset ());
\r
145 var d = a.getContainer ();
\r
147 d.repaint (c.x, c.y, c.width, c.height);
\r
149 a.preferenceChanged (null, true, true);
\r
150 }}, "javax.swing.text.FlowView,javax.swing.event.DocumentEvent,java.awt.Rectangle");
\r
151 Clazz.defineMethod (c$, "getLogicalView",
\r
153 return a.layoutPool;
\r
154 }, "javax.swing.text.FlowView");
\r
155 Clazz.defineMethod (c$, "layout",
\r
157 var b = this.getLogicalView (a);
\r
160 var e = a.getEndOffset ();
\r
161 if (a.majorAllocValid) {
\r
162 if (this.damageStart == 2147483647) {
\r
164 }while ((c = a.getViewIndexAtPosition (this.damageStart)) < 0) {
\r
165 this.damageStart--;
\r
169 }d = a.getView (c).getStartOffset ();
\r
172 d = a.getStartOffset ();
\r
173 }this.reparentViews (b, d);
\r
174 this.viewBuffer = new java.util.Vector (10, 10);
\r
175 var f = a.getViewCount ();
\r
179 g = a.createRow ();
\r
183 }d = this.layoutRow (a, c, d);
\r
186 this.viewBuffer = null;
\r
188 a.replace (c, f - c, null);
\r
189 }this.unsetDamage ();
\r
190 }, "javax.swing.text.FlowView");
\r
191 Clazz.defineMethod (c$, "layoutRow",
\r
192 function (a, b, c) {
\r
193 var d = a.getView (b);
\r
194 var e = a.getFlowStart (b);
\r
195 var f = a.getFlowSpan (b);
\r
196 var g = a.getEndOffset ();
\r
197 var h = (Clazz.instanceOf (a, javax.swing.text.TabExpander)) ? a : null;
\r
198 var i = a.getFlowAxis ();
\r
204 this.viewBuffer.clear ();
\r
205 while (c < g && f >= 0) {
\r
206 var o = this.createView (a, c, Clazz.floatToInt (f), b);
\r
209 }var p = o.getBreakWeight (i, e, f);
\r
211 var q = o.breakView (i, c, e, f);
\r
213 this.viewBuffer.add (q);
\r
214 } else if (n == 0) {
\r
215 this.viewBuffer.add (o);
\r
217 } else if (p >= j && p > 0) {
\r
223 if (i == 0 && Clazz.instanceOf (o, javax.swing.text.TabableView)) {
\r
224 q = (o).getTabbedSpan (e, h);
\r
226 q = o.getPreferredSpan (i);
\r
227 }if (q > f && m >= 0) {
\r
229 o = this.viewBuffer.get (m);
\r
230 }for (var r = n - 1; r >= m; r--) {
\r
231 this.viewBuffer.remove (r);
\r
233 o = o.breakView (i, o.getStartOffset (), k, l);
\r
236 this.viewBuffer.add (o);
\r
237 c = o.getEndOffset ();
\r
240 var o = new Array (this.viewBuffer.size ());
\r
241 this.viewBuffer.toArray (o);
\r
242 d.replace (0, d.getViewCount (), o);
\r
243 return (o.length > 0 ? d.getEndOffset () : c);
\r
244 }, "javax.swing.text.FlowView,~N,~N");
\r
245 Clazz.defineMethod (c$, "adjustRow",
\r
246 function (a, b, c, d) {
\r
247 var e = a.getFlowAxis ();
\r
248 var f = a.getView (b);
\r
249 var g = f.getViewCount ();
\r
255 for (var m = 0; m < g; m++) {
\r
258 var o = l.getBreakWeight (e, d + h, n);
\r
259 if ((o >= i) && (o > 0)) {
\r
265 }}h += l.getPreferredSpan (e);
\r
271 l = l.breakView (e, l.getStartOffset (), d + j, n);
\r
272 var o = new Array (1);
\r
274 var p = this.getLogicalView (a);
\r
275 var q = f.getView (k).getStartOffset ();
\r
276 var r = f.getEndOffset ();
\r
277 for (var s = 0; s < p.getViewCount (); s++) {
\r
278 var t = p.getView (s);
\r
279 if (t.getEndOffset () > r) {
\r
281 }if (t.getStartOffset () >= q) {
\r
284 f.replace (k, g - k, o);
\r
285 }, "javax.swing.text.FlowView,~N,~N,~N");
\r
286 Clazz.defineMethod (c$, "reparentViews",
\r
288 var c = a.getViewIndex (b, javax.swing.text.Position.Bias.Forward);
\r
290 for (var d = c; d < a.getViewCount (); d++) {
\r
291 a.getView (d).setParent (a);
\r
293 }}, "javax.swing.text.View,~N");
\r
294 Clazz.defineMethod (c$, "createView",
\r
295 function (a, b, c, d) {
\r
296 var e = this.getLogicalView (a);
\r
297 var f = e.getViewIndex (b, javax.swing.text.Position.Bias.Forward);
\r
298 var g = e.getView (f);
\r
299 if (b == g.getStartOffset ()) {
\r
301 }g = g.createFragment (b, g.getEndOffset ());
\r
303 }, "javax.swing.text.FlowView,~N,~N,~N");
\r
305 Clazz.pu$h(self.c$);
\r
306 c$ = Clazz.declareType (javax.swing.text.FlowView, "LogicalView", javax.swing.text.CompositeView);
\r
307 Clazz.defineMethod (c$, "getViewIndexAtPosition",
\r
309 var b = this.getElement ();
\r
312 }return Clazz.superCall (this, javax.swing.text.FlowView.LogicalView, "getViewIndexAtPosition", [a]);
\r
314 Clazz.defineMethod (c$, "loadChildren",
\r
316 var b = this.getElement ();
\r
318 var c = new javax.swing.text.LabelView (b);
\r
321 Clazz.superCall (this, javax.swing.text.FlowView.LogicalView, "loadChildren", [a]);
\r
322 }}, "javax.swing.text.ViewFactory");
\r
323 Clazz.defineMethod (c$, "getAttributes",
\r
325 var a = this.getParent ();
\r
326 return (a != null) ? a.getAttributes () : null;
\r
328 Clazz.defineMethod (c$, "getPreferredSpan",
\r
332 var d = this.getViewCount ();
\r
333 for (var e = 0; e < d; e++) {
\r
334 var f = this.getView (e);
\r
335 c += f.getPreferredSpan (a);
\r
336 if (f.getBreakWeight (a, 0, 2147483647) >= 3000) {
\r
337 b = Math.max (b, c);
\r
340 b = Math.max (b, c);
\r
343 Clazz.defineMethod (c$, "getMinimumSpan",
\r
348 var e = this.getViewCount ();
\r
349 for (var f = 0; f < e; f++) {
\r
350 var g = this.getView (f);
\r
351 if (g.getBreakWeight (a, 0, 2147483647) == 0) {
\r
352 c += g.getPreferredSpan (a);
\r
355 b = Math.max (c, b);
\r
358 }if (Clazz.instanceOf (g, javax.swing.text.ComponentView)) {
\r
359 b = Math.max (b, g.getMinimumSpan (a));
\r
361 b = Math.max (b, c);
\r
364 Clazz.defineMethod (c$, "forwardUpdateToView",
\r
365 function (a, b, c, d) {
\r
366 var e = a.getParent ();
\r
367 a.setParent (this);
\r
368 Clazz.superCall (this, javax.swing.text.FlowView.LogicalView, "forwardUpdateToView", [a, b, c, d]);
\r
370 }, "javax.swing.text.View,javax.swing.event.DocumentEvent,java.awt.Shape,javax.swing.text.ViewFactory");
\r
371 Clazz.overrideMethod (c$, "paint",
\r
373 }, "java.awt.Graphics,java.awt.Shape");
\r
374 Clazz.overrideMethod (c$, "isBefore",
\r
375 function (a, b, c) {
\r
377 }, "~N,~N,java.awt.Rectangle");
\r
378 Clazz.overrideMethod (c$, "isAfter",
\r
379 function (a, b, c) {
\r
381 }, "~N,~N,java.awt.Rectangle");
\r
382 Clazz.overrideMethod (c$, "getViewAtPoint",
\r
383 function (a, b, c) {
\r
385 }, "~N,~N,java.awt.Rectangle");
\r
386 Clazz.overrideMethod (c$, "childAllocation",
\r
388 }, "~N,java.awt.Rectangle");
\r