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