JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / swingjs / j2s / javax / swing / text / ParagraphView.js
1 Clazz.declarePackage ("javax.swing.text");\r
2 Clazz.load (["javax.swing.text.BoxView", "$.FlowView", "$.TabExpander"], "javax.swing.text.ParagraphView", ["java.lang.Boolean", "$.IllegalArgumentException", "java.util.Arrays", "java.awt.Rectangle", "java.awt.font.TextAttribute", "javax.swing.text.AbstractDocument", "javax.swing.text.FlowView.FlowStrategy", "javax.swing.text.GlyphView", "$.Position", "$.Segment", "$.StateInvariantError", "$.StyleConstants", "$.TabableView"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.justification = 0;\r
5 this.lineSpacing = 0;\r
6 this.firstLineIndent = 0;\r
7 this.tabBase = 0;\r
8 if (!Clazz.isClassDefined ("javax.swing.text.ParagraphView.Row")) {\r
9 javax.swing.text.ParagraphView.$ParagraphView$Row$ ();\r
10 }\r
11 Clazz.instantialize (this, arguments);\r
12 }, javax.swing.text, "ParagraphView", javax.swing.text.FlowView, javax.swing.text.TabExpander);\r
13 Clazz.makeConstructor (c$, \r
14 function (elem) {\r
15 Clazz.superConstructor (this, javax.swing.text.ParagraphView, [elem, 1]);\r
16 this.setPropertiesFromAttributes ();\r
17 var doc = elem.getDocument ();\r
18 var i18nFlag = doc.getProperty ("i18n");\r
19 if ((i18nFlag != null) && i18nFlag.equals (Boolean.TRUE)) {\r
20 try {\r
21 if (javax.swing.text.ParagraphView.i18nStrategy == null) {\r
22 var classname = "javax.swing.text.TextLayoutStrategy";\r
23 var loader = this.getClass ().getClassLoader ();\r
24 if (loader != null) {\r
25 javax.swing.text.ParagraphView.i18nStrategy = loader.loadClass (classname);\r
26 } else {\r
27 javax.swing.text.ParagraphView.i18nStrategy = Clazz._4Name (classname);\r
28 }}var o = javax.swing.text.ParagraphView.i18nStrategy.newInstance ();\r
29 if (Clazz.instanceOf (o, javax.swing.text.FlowView.FlowStrategy)) {\r
30 this.strategy = o;\r
31 }} catch (e) {\r
32 throw  new javax.swing.text.StateInvariantError ("ParagraphView: Can't create i18n strategy: " + e.getMessage ());\r
33 }\r
34 }}, "javax.swing.text.Element");\r
35 Clazz.defineMethod (c$, "setJustification", \r
36 function (j) {\r
37 this.justification = j;\r
38 }, "~N");\r
39 Clazz.defineMethod (c$, "setLineSpacing", \r
40 function (ls) {\r
41 this.lineSpacing = ls;\r
42 }, "~N");\r
43 Clazz.defineMethod (c$, "setFirstLineIndent", \r
44 function (fi) {\r
45 this.firstLineIndent = Clazz.floatToInt (fi);\r
46 }, "~N");\r
47 Clazz.defineMethod (c$, "setPropertiesFromAttributes", \r
48 function () {\r
49 var attr = this.getAttributes ();\r
50 if (attr != null) {\r
51 this.setParagraphInsets (attr);\r
52 var a = attr.getAttribute (javax.swing.text.StyleConstants.Alignment);\r
53 var alignment;\r
54 if (a == null) {\r
55 var doc = this.getElement ().getDocument ();\r
56 var o = doc.getProperty (java.awt.font.TextAttribute.RUN_DIRECTION);\r
57 if ((o != null) && o.equals (java.awt.font.TextAttribute.RUN_DIRECTION_RTL)) {\r
58 alignment = 2;\r
59 } else {\r
60 alignment = 0;\r
61 }} else {\r
62 alignment = a.intValue ();\r
63 }this.setJustification (alignment);\r
64 this.setLineSpacing (javax.swing.text.StyleConstants.getLineSpacing (attr));\r
65 this.setFirstLineIndent (javax.swing.text.StyleConstants.getFirstLineIndent (attr));\r
66 }});\r
67 Clazz.defineMethod (c$, "getLayoutViewCount", \r
68 function () {\r
69 return this.layoutPool.getViewCount ();\r
70 });\r
71 Clazz.defineMethod (c$, "getLayoutView", \r
72 function (index) {\r
73 return this.layoutPool.getView (index);\r
74 }, "~N");\r
75 Clazz.defineMethod (c$, "adjustRow", \r
76 function (r, desiredSpan, x) {\r
77 }, "javax.swing.text.ParagraphView.Row,~N,~N");\r
78 Clazz.overrideMethod (c$, "getNextNorthSouthVisualPositionFrom", \r
79 function (pos, b, a, direction, biasRet) {\r
80 var vIndex;\r
81 if (pos == -1) {\r
82 vIndex = (direction == 1) ? this.getViewCount () - 1 : 0;\r
83 } else {\r
84 if (b === javax.swing.text.Position.Bias.Backward && pos > 0) {\r
85 vIndex = this.getViewIndexAtPosition (pos - 1);\r
86 } else {\r
87 vIndex = this.getViewIndexAtPosition (pos);\r
88 }if (direction == 1) {\r
89 if (vIndex == 0) {\r
90 return -1;\r
91 }vIndex--;\r
92 } else if (++vIndex >= this.getViewCount ()) {\r
93 return -1;\r
94 }}var text = this.getContainer ();\r
95 var c = text.getCaret ();\r
96 var magicPoint;\r
97 magicPoint = (c != null) ? c.getMagicCaretPosition () : null;\r
98 var x;\r
99 if (magicPoint == null) {\r
100 var posBounds;\r
101 try {\r
102 posBounds = text.getUI ().modelToView (text, pos, b);\r
103 } catch (exc) {\r
104 if (Clazz.exceptionOf (exc, javax.swing.text.BadLocationException)) {\r
105 posBounds = null;\r
106 } else {\r
107 throw exc;\r
108 }\r
109 }\r
110 if (posBounds == null) {\r
111 x = 0;\r
112 } else {\r
113 x = posBounds.getBounds ().x;\r
114 }} else {\r
115 x = magicPoint.x;\r
116 }return this.getClosestPositionTo (pos, b, a, direction, biasRet, vIndex, x);\r
117 }, "~N,javax.swing.text.Position.Bias,java.awt.Shape,~N,~A");\r
118 Clazz.defineMethod (c$, "getClosestPositionTo", \r
119 function (pos, b, a, direction, biasRet, rowIndex, x) {\r
120 var text = this.getContainer ();\r
121 var doc = this.getDocument ();\r
122 var aDoc = (Clazz.instanceOf (doc, javax.swing.text.AbstractDocument)) ? doc : null;\r
123 var row = this.getView (rowIndex);\r
124 var lastPos = -1;\r
125 biasRet[0] = javax.swing.text.Position.Bias.Forward;\r
126 for (var vc = 0, numViews = row.getViewCount (); vc < numViews; vc++) {\r
127 var v = row.getView (vc);\r
128 var start = v.getStartOffset ();\r
129 var ltr = (aDoc != null) ? aDoc.isLeftToRight (start, start + 1) : true;\r
130 if (ltr) {\r
131 lastPos = start;\r
132 for (var end = v.getEndOffset (); lastPos < end; lastPos++) {\r
133 var xx = text.modelToView (lastPos).getBounds ().x;\r
134 if (xx >= x) {\r
135 while (++lastPos < end && text.modelToView (lastPos).getBounds ().x == xx) {\r
136 }\r
137 return --lastPos;\r
138 }}\r
139 lastPos--;\r
140 } else {\r
141 for (lastPos = v.getEndOffset () - 1; lastPos >= start; lastPos--) {\r
142 var xx = text.modelToView (lastPos).getBounds ().x;\r
143 if (xx >= x) {\r
144 while (--lastPos >= start && text.modelToView (lastPos).getBounds ().x == xx) {\r
145 }\r
146 return ++lastPos;\r
147 }}\r
148 lastPos++;\r
149 }}\r
150 if (lastPos == -1) {\r
151 return this.getStartOffset ();\r
152 }return lastPos;\r
153 }, "~N,javax.swing.text.Position.Bias,java.awt.Shape,~N,~A,~N,~N");\r
154 Clazz.overrideMethod (c$, "flipEastAndWestAtEnds", \r
155 function (position, bias) {\r
156 var doc = this.getDocument ();\r
157 if (Clazz.instanceOf (doc, javax.swing.text.AbstractDocument) && !(doc).isLeftToRight (this.getStartOffset (), this.getStartOffset () + 1)) {\r
158 return true;\r
159 }return false;\r
160 }, "~N,javax.swing.text.Position.Bias");\r
161 Clazz.overrideMethod (c$, "getFlowSpan", \r
162 function (index) {\r
163 var child = this.getView (index);\r
164 var adjust = 0;\r
165 if (Clazz.instanceOf (child, javax.swing.text.ParagraphView.Row)) {\r
166 var row = child;\r
167 adjust = row.getLeftInset () + row.getRightInset ();\r
168 }return (this.layoutSpan == 2147483647) ? this.layoutSpan : (this.layoutSpan - adjust);\r
169 }, "~N");\r
170 Clazz.overrideMethod (c$, "getFlowStart", \r
171 function (index) {\r
172 var child = this.getView (index);\r
173 var adjust = 0;\r
174 if (Clazz.instanceOf (child, javax.swing.text.ParagraphView.Row)) {\r
175 var row = child;\r
176 adjust = row.getLeftInset ();\r
177 }return this.tabBase + adjust;\r
178 }, "~N");\r
179 Clazz.overrideMethod (c$, "createRow", \r
180 function () {\r
181 return Clazz.innerTypeInstance (javax.swing.text.ParagraphView.Row, this, null, this.getElement ());\r
182 });\r
183 Clazz.overrideMethod (c$, "nextTabStop", \r
184 function (x, tabOffset) {\r
185 if (this.justification != 0) return x + 10.0;\r
186 x -= this.tabBase;\r
187 var tabs = this.getTabSet ();\r
188 if (tabs == null) {\r
189 return (this.tabBase + ((Clazz.doubleToInt (Clazz.floatToInt (x) / 72) + 1) * 72));\r
190 }var tab = tabs.getTabAfter (x + .01);\r
191 if (tab == null) {\r
192 return this.tabBase + x + 5.0;\r
193 }var alignment = tab.getAlignment ();\r
194 var offset;\r
195 switch (alignment) {\r
196 default:\r
197 case 0:\r
198 return this.tabBase + tab.getPosition ();\r
199 case 5:\r
200 return this.tabBase + tab.getPosition ();\r
201 case 1:\r
202 case 2:\r
203 offset = this.findOffsetToCharactersInString (javax.swing.text.ParagraphView.tabChars, tabOffset + 1);\r
204 break;\r
205 case 4:\r
206 offset = this.findOffsetToCharactersInString (javax.swing.text.ParagraphView.tabDecimalChars, tabOffset + 1);\r
207 break;\r
208 }\r
209 if (offset == -1) {\r
210 offset = this.getEndOffset ();\r
211 }var charsSize = this.getPartialSize (tabOffset + 1, offset);\r
212 switch (alignment) {\r
213 case 1:\r
214 case 4:\r
215 return this.tabBase + Math.max (x, tab.getPosition () - charsSize);\r
216 case 2:\r
217 return this.tabBase + Math.max (x, tab.getPosition () - charsSize / 2.0);\r
218 }\r
219 return x;\r
220 }, "~N,~N");\r
221 Clazz.defineMethod (c$, "getTabSet", \r
222 function () {\r
223 return javax.swing.text.StyleConstants.getTabSet (this.getElement ().getAttributes ());\r
224 });\r
225 Clazz.defineMethod (c$, "getPartialSize", \r
226 function (startOffset, endOffset) {\r
227 var size = 0.0;\r
228 var viewIndex;\r
229 var numViews = this.getViewCount ();\r
230 var view;\r
231 var viewEnd;\r
232 var tempEnd;\r
233 viewIndex = this.getElement ().getElementIndex (startOffset);\r
234 numViews = this.layoutPool.getViewCount ();\r
235 while (startOffset < endOffset && viewIndex < numViews) {\r
236 view = this.layoutPool.getView (viewIndex++);\r
237 viewEnd = view.getEndOffset ();\r
238 tempEnd = Math.min (endOffset, viewEnd);\r
239 if (Clazz.instanceOf (view, javax.swing.text.TabableView)) size += (view).getPartialSpan (startOffset, tempEnd);\r
240  else if (startOffset == view.getStartOffset () && tempEnd == view.getEndOffset ()) size += view.getPreferredSpan (0);\r
241  else return 0.0;\r
242 startOffset = viewEnd;\r
243 }\r
244 return size;\r
245 }, "~N,~N");\r
246 Clazz.defineMethod (c$, "findOffsetToCharactersInString", \r
247 function (string, start) {\r
248 var stringLength = string.length;\r
249 var end = this.getEndOffset ();\r
250 var seg =  new javax.swing.text.Segment ();\r
251 try {\r
252 this.getDocument ().getText (start, end - start, seg);\r
253 } catch (ble) {\r
254 if (Clazz.exceptionOf (ble, javax.swing.text.BadLocationException)) {\r
255 return -1;\r
256 } else {\r
257 throw ble;\r
258 }\r
259 }\r
260 for (var counter = seg.offset, maxCounter = seg.offset + seg.count; counter < maxCounter; counter++) {\r
261 var currentChar = seg.array[counter];\r
262 for (var subCounter = 0; subCounter < stringLength; subCounter++) {\r
263 if (currentChar == string[subCounter]) return counter - seg.offset + start;\r
264 }\r
265 }\r
266 return -1;\r
267 }, "~A,~N");\r
268 Clazz.defineMethod (c$, "getTabBase", \r
269 function () {\r
270 return this.tabBase;\r
271 });\r
272 Clazz.defineMethod (c$, "paint", \r
273 function (g, a) {\r
274 var alloc = (Clazz.instanceOf (a, java.awt.Rectangle)) ? a : a.getBounds ();\r
275 this.tabBase = alloc.x + this.getLeftInset ();\r
276 Clazz.superCall (this, javax.swing.text.ParagraphView, "paint", [g, a]);\r
277 if (this.firstLineIndent < 0) {\r
278 var sh = this.getChildAllocation (0, a);\r
279 if ((sh != null) && sh.intersects (alloc)) {\r
280 var x = alloc.x + this.getLeftInset () + this.firstLineIndent;\r
281 var y = alloc.y + this.getTopInset ();\r
282 var clip = g.getClipBounds ();\r
283 this.tempRect.x = x + this.getOffset (0, 0);\r
284 this.tempRect.y = y + this.getOffset (1, 0);\r
285 this.tempRect.width = this.getSpan (0, 0) - this.firstLineIndent;\r
286 this.tempRect.height = this.getSpan (1, 0);\r
287 if (this.tempRect.intersects (clip)) {\r
288 this.tempRect.x = this.tempRect.x - this.firstLineIndent;\r
289 this.paintChild (g, this.tempRect, 0);\r
290 }}}}, "java.awt.Graphics,java.awt.Shape");\r
291 Clazz.defineMethod (c$, "getAlignment", \r
292 function (axis) {\r
293 switch (axis) {\r
294 case 1:\r
295 var a = 0.5;\r
296 if (this.getViewCount () != 0) {\r
297 var paragraphSpan = Clazz.floatToInt (this.getPreferredSpan (1));\r
298 var v = this.getView (0);\r
299 var rowSpan = Clazz.floatToInt (v.getPreferredSpan (1));\r
300 a = (paragraphSpan != 0) ? ((Clazz.doubleToInt (rowSpan / 2))) / paragraphSpan : 0;\r
301 }return a;\r
302 case 0:\r
303 return 0.5;\r
304 default:\r
305 throw  new IllegalArgumentException ("Invalid axis: " + axis);\r
306 }\r
307 }, "~N");\r
308 Clazz.defineMethod (c$, "breakView", \r
309 function (axis, len, a) {\r
310 if (axis == 1) {\r
311 if (a != null) {\r
312 var alloc = a.getBounds ();\r
313 this.setSize (alloc.width, alloc.height);\r
314 }return this;\r
315 }return this;\r
316 }, "~N,~N,java.awt.Shape");\r
317 Clazz.defineMethod (c$, "getBreakWeight", \r
318 function (axis, len) {\r
319 if (axis == 1) {\r
320 return 0;\r
321 }return 0;\r
322 }, "~N,~N");\r
323 Clazz.defineMethod (c$, "changedUpdate", \r
324 function (changes, a, f) {\r
325 this.setPropertiesFromAttributes ();\r
326 this.layoutChanged (0);\r
327 this.layoutChanged (1);\r
328 Clazz.superCall (this, javax.swing.text.ParagraphView, "changedUpdate", [changes, a, f]);\r
329 }, "javax.swing.event.DocumentEvent,java.awt.Shape,javax.swing.text.ViewFactory");\r
330 c$.$ParagraphView$Row$ = function () {\r
331 Clazz.pu$h(self.c$);\r
332 c$ = Clazz.decorateAsClass (function () {\r
333 Clazz.prepareCallback (this, arguments);\r
334 this.justificationData = null;\r
335 Clazz.instantialize (this, arguments);\r
336 }, javax.swing.text.ParagraphView, "Row", javax.swing.text.BoxView);\r
337 Clazz.makeConstructor (c$, \r
338 function (a) {\r
339 Clazz.superConstructor (this, javax.swing.text.ParagraphView.Row, [a, 0]);\r
340 }, "javax.swing.text.Element");\r
341 Clazz.overrideMethod (c$, "loadChildren", \r
342 function (a) {\r
343 }, "javax.swing.text.ViewFactory");\r
344 Clazz.defineMethod (c$, "getAttributes", \r
345 function () {\r
346 var a = this.getParent ();\r
347 return (a != null) ? a.getAttributes () : null;\r
348 });\r
349 Clazz.defineMethod (c$, "getAlignment", \r
350 function (a) {\r
351 if (a == 0) {\r
352 switch (this.b$["javax.swing.text.ParagraphView"].justification) {\r
353 case 0:\r
354 return 0;\r
355 case 2:\r
356 return 1;\r
357 case 1:\r
358 return 0.5;\r
359 case 3:\r
360 var b = 0.5;\r
361 if (this.isJustifiableDocument ()) {\r
362 b = 0;\r
363 }return b;\r
364 }\r
365 }return Clazz.superCall (this, javax.swing.text.ParagraphView.Row, "getAlignment", [a]);\r
366 }, "~N");\r
367 Clazz.defineMethod (c$, "modelToView", \r
368 function (a, b, c) {\r
369 var d = b.getBounds ();\r
370 var e = this.getViewAtPosition (a, d);\r
371 if ((e != null) && (!e.getElement ().isLeaf ())) {\r
372 return Clazz.superCall (this, javax.swing.text.ParagraphView.Row, "modelToView", [a, b, c]);\r
373 }d = b.getBounds ();\r
374 var f = d.height;\r
375 var g = d.y;\r
376 var h = Clazz.superCall (this, javax.swing.text.ParagraphView.Row, "modelToView", [a, b, c]);\r
377 d = h.getBounds ();\r
378 d.height = f;\r
379 d.y = g;\r
380 return d;\r
381 }, "~N,java.awt.Shape,javax.swing.text.Position.Bias");\r
382 Clazz.defineMethod (c$, "getStartOffset", \r
383 function () {\r
384 var a = 2147483647;\r
385 var b = this.getViewCount ();\r
386 for (var c = 0; c < b; c++) {\r
387 var d = this.getView (c);\r
388 a = Math.min (a, d.getStartOffset ());\r
389 }\r
390 return a;\r
391 });\r
392 Clazz.defineMethod (c$, "getEndOffset", \r
393 function () {\r
394 var a = 0;\r
395 var b = this.getViewCount ();\r
396 for (var c = 0; c < b; c++) {\r
397 var d = this.getView (c);\r
398 a = Math.max (a, d.getEndOffset ());\r
399 }\r
400 return a;\r
401 });\r
402 Clazz.overrideMethod (c$, "layoutMinorAxis", \r
403 function (a, b, c, d) {\r
404 this.baselineLayout (a, b, c, d);\r
405 }, "~N,~N,~A,~A");\r
406 Clazz.overrideMethod (c$, "calculateMinorAxisRequirements", \r
407 function (a, b) {\r
408 return this.baselineRequirements (a, b);\r
409 }, "~N,javax.swing.SizeRequirements");\r
410 Clazz.defineMethod (c$, "isLastRow", \r
411  function () {\r
412 var a;\r
413 return ((a = this.getParent ()) == null || this === a.getView (a.getViewCount () - 1));\r
414 });\r
415 Clazz.defineMethod (c$, "isBrokenRow", \r
416  function () {\r
417 var a = false;\r
418 var b = this.getViewCount ();\r
419 if (b > 0) {\r
420 var c = this.getView (b - 1);\r
421 if (c.getBreakWeight (0, 0, 0) >= 3000) {\r
422 a = true;\r
423 }}return a;\r
424 });\r
425 Clazz.defineMethod (c$, "isJustifiableDocument", \r
426  function () {\r
427 return (!Boolean.TRUE.equals (this.getDocument ().getProperty ("i18n")));\r
428 });\r
429 Clazz.defineMethod (c$, "isJustifyEnabled", \r
430  function () {\r
431 var a = (this.b$["javax.swing.text.ParagraphView"].justification == 3);\r
432 a = a && this.isJustifiableDocument ();\r
433 a = a && !this.isLastRow ();\r
434 a = a && !this.isBrokenRow ();\r
435 return a;\r
436 });\r
437 Clazz.defineMethod (c$, "calculateMajorAxisRequirements", \r
438 function (a, b) {\r
439 var c = this.justificationData;\r
440 this.justificationData = null;\r
441 var d = Clazz.superCall (this, javax.swing.text.ParagraphView.Row, "calculateMajorAxisRequirements", [a, b]);\r
442 if (this.isJustifyEnabled ()) {\r
443 this.justificationData = c;\r
444 }return d;\r
445 }, "~N,javax.swing.SizeRequirements");\r
446 Clazz.defineMethod (c$, "layoutMajorAxis", \r
447 function (a, b, c, d) {\r
448 var e = this.justificationData;\r
449 this.justificationData = null;\r
450 Clazz.superCall (this, javax.swing.text.ParagraphView.Row, "layoutMajorAxis", [a, b, c, d]);\r
451 if (!this.isJustifyEnabled ()) {\r
452 return;\r
453 }var f = 0;\r
454 for (var span, $span = 0, $$span = d; $span < $$span.length && ((span = $$span[$span]) || true); $span++) {\r
455 f += span;\r
456 }\r
457 if (f == a) {\r
458 return;\r
459 }var g = 0;\r
460 var h = -1;\r
461 var i = -1;\r
462 var j = 0;\r
463 var k = this.getStartOffset ();\r
464 var l = this.getEndOffset ();\r
465 var m =  Clazz.newIntArray (l - k, 0);\r
466 java.util.Arrays.fill (m, 0);\r
467 for (var n = this.getViewCount () - 1; n >= 0; n--) {\r
468 var o = this.getView (n);\r
469 if (Clazz.instanceOf (o, javax.swing.text.GlyphView)) {\r
470 var p = (o).getJustificationInfo (k);\r
471 var q = o.getStartOffset ();\r
472 var r = q - k;\r
473 for (var s = 0; s < p.spaceMap.length (); s++) {\r
474 if (p.spaceMap.get (s)) {\r
475 m[s + r] = 1;\r
476 }}\r
477 if (h > 0) {\r
478 if (p.end >= 0) {\r
479 g += p.trailingSpaces;\r
480 } else {\r
481 j += p.trailingSpaces;\r
482 }}if (p.start >= 0) {\r
483 h = p.start + q;\r
484 g += j;\r
485 }if (p.end >= 0 && i < 0) {\r
486 i = p.end + q;\r
487 }g += p.contentSpaces;\r
488 j = p.leadingSpaces;\r
489 if (p.hasTab) {\r
490 break;\r
491 }}}\r
492 if (g <= 0) {\r
493 return;\r
494 }var o = (a - f);\r
495 var p = (g > 0) ? Clazz.doubleToInt (o / g) : 0;\r
496 var q = -1;\r
497 for (var r = h - k, s = o - p * g; s > 0; s -= m[r], r++) {\r
498 q = r;\r
499 }\r
500 if (p > 0 || q >= 0) {\r
501 this.justificationData = (e != null) ? e :  Clazz.newIntArray (4, 0);\r
502 this.justificationData[0] = p;\r
503 this.justificationData[1] = q;\r
504 this.justificationData[2] = h - k;\r
505 this.justificationData[3] = i - k;\r
506 Clazz.superCall (this, javax.swing.text.ParagraphView.Row, "layoutMajorAxis", [a, b, c, d]);\r
507 }}, "~N,~N,~A,~A");\r
508 Clazz.defineMethod (c$, "getMaximumSpan", \r
509 function (a) {\r
510 var b;\r
511 if (0 == a && this.isJustifyEnabled ()) {\r
512 b = 3.4028235E38;\r
513 } else {\r
514 b = Clazz.superCall (this, javax.swing.text.ParagraphView.Row, "getMaximumSpan", [a]);\r
515 }return b;\r
516 }, "~N");\r
517 Clazz.overrideMethod (c$, "getViewIndexAtPosition", \r
518 function (a) {\r
519 if (a < this.getStartOffset () || a >= this.getEndOffset ()) return -1;\r
520 for (var b = this.getViewCount () - 1; b >= 0; b--) {\r
521 var c = this.getView (b);\r
522 if (a >= c.getStartOffset () && a < c.getEndOffset ()) {\r
523 return b;\r
524 }}\r
525 return -1;\r
526 }, "~N");\r
527 Clazz.defineMethod (c$, "getLeftInset", \r
528 function () {\r
529 var a;\r
530 var b = 0;\r
531 if ((a = this.getParent ()) != null) {\r
532 if (this === a.getView (0)) {\r
533 b = this.b$["javax.swing.text.ParagraphView"].firstLineIndent;\r
534 }}return (Clazz.superCall (this, javax.swing.text.ParagraphView.Row, "getLeftInset", []) + b);\r
535 });\r
536 Clazz.defineMethod (c$, "getBottomInset", \r
537 function () {\r
538 return Clazz.floatToShort (Clazz.superCall (this, javax.swing.text.ParagraphView.Row, "getBottomInset", []) + ((this.minorRequest != null) ? this.minorRequest.preferred : 0) * this.b$["javax.swing.text.ParagraphView"].lineSpacing);\r
539 });\r
540 Clazz.defineStatics (c$,\r
541 "SPACE_ADDON", 0,\r
542 "SPACE_ADDON_LEFTOVER_END", 1,\r
543 "START_JUSTIFIABLE", 2,\r
544 "END_JUSTIFIABLE", 3);\r
545 c$ = Clazz.p0p ();\r
546 };\r
547 Clazz.defineStatics (c$,\r
548 "i18nStrategy", null,\r
549 "tabChars", null,\r
550 "tabDecimalChars", null);\r
551 {\r
552 javax.swing.text.ParagraphView.tabChars =  Clazz.newCharArray (1, '\0');\r
553 javax.swing.text.ParagraphView.tabChars[0] = '\t';\r
554 javax.swing.text.ParagraphView.tabDecimalChars =  Clazz.newCharArray (2, '\0');\r
555 javax.swing.text.ParagraphView.tabDecimalChars[0] = '\t';\r
556 javax.swing.text.ParagraphView.tabDecimalChars[1] = '.';\r
557 }});\r