1 Clazz.declarePackage ("javax.swing");
\r
2 Clazz.load (null, "javax.swing.LayoutComparator", ["java.lang.ClassCastException", "java.util.LinkedList", "java.awt.Window"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.horizontal = true;
\r
5 this.leftToRight = true;
\r
6 Clazz.instantialize (this, arguments);
\r
7 }, javax.swing, "LayoutComparator", null, [java.util.Comparator, java.io.Serializable]);
\r
8 Clazz.defineMethod (c$, "setComponentOrientation",
\r
9 function (orientation) {
\r
10 this.horizontal = orientation.isHorizontal ();
\r
11 this.leftToRight = orientation.isLeftToRight ();
\r
12 }, "java.awt.ComponentOrientation");
\r
13 Clazz.overrideMethod (c$, "compare",
\r
19 }if (a.getParent () !== b.getParent ()) {
\r
22 for (aAncestory = new java.util.LinkedList (); a != null; a = a.getParent ()) {
\r
24 if (Clazz.instanceOf (a, java.awt.Window)) {
\r
28 throw new ClassCastException ();
\r
29 }for (bAncestory = new java.util.LinkedList (); b != null; b = b.getParent ()) {
\r
31 if (Clazz.instanceOf (b, java.awt.Window)) {
\r
35 throw new ClassCastException ();
\r
36 }for (var aIter = aAncestory.listIterator (aAncestory.size ()), bIter = bAncestory.listIterator (bAncestory.size ()); ; ) {
\r
37 if (aIter.hasPrevious ()) {
\r
38 a = aIter.previous ();
\r
41 }if (bIter.hasPrevious ()) {
\r
42 b = bIter.previous ();
\r
48 }var ax = a.getX ();
\r
52 var zOrder = a.getParent ().getComponentZOrder (a) - b.getParent ().getComponentZOrder (b);
\r
53 if (this.horizontal) {
\r
54 if (this.leftToRight) {
\r
55 if (Math.abs (ay - by) < 10) {
\r
56 return (ax < bx) ? -1 : ((ax > bx) ? 1 : zOrder);
\r
58 return (ay < by) ? -1 : 1;
\r
60 if (Math.abs (ay - by) < 10) {
\r
61 return (ax > bx) ? -1 : ((ax < bx) ? 1 : zOrder);
\r
63 return (ay < by) ? -1 : 1;
\r
65 if (this.leftToRight) {
\r
66 if (Math.abs (ax - bx) < 10) {
\r
67 return (ay < by) ? -1 : ((ay > by) ? 1 : zOrder);
\r
69 return (ax < bx) ? -1 : 1;
\r
71 if (Math.abs (ax - bx) < 10) {
\r
72 return (ay < by) ? -1 : ((ay > by) ? 1 : zOrder);
\r
74 return (ax > bx) ? -1 : 1;
\r
76 Clazz.defineStatics (c$,
\r
77 "ROW_TOLERANCE", 10);
\r