79910fb3a8800b3368c1a89e7a698ecb556b0ca5
[jalviewjs.git] / site / j2s / javax / swing / text / TabSet.js
1 Clazz.declarePackage ("javax.swing.text");\r
2 Clazz.load (null, "javax.swing.text.TabSet", ["java.lang.IllegalArgumentException", "$.StringBuffer"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.tabs = null;\r
5 this.$hashCode = 2147483647;\r
6 Clazz.instantialize (this, arguments);\r
7 }, javax.swing.text, "TabSet");\r
8 Clazz.makeConstructor (c$, \r
9 function (tabs) {\r
10 if (tabs != null) {\r
11 var tabCount = tabs.length;\r
12 this.tabs =  new Array (tabCount);\r
13 System.arraycopy (tabs, 0, this.tabs, 0, tabCount);\r
14 } else this.tabs = null;\r
15 }, "~A");\r
16 Clazz.defineMethod (c$, "getTabCount", \r
17 function () {\r
18 return (this.tabs == null) ? 0 : this.tabs.length;\r
19 });\r
20 Clazz.defineMethod (c$, "getTab", \r
21 function (index) {\r
22 var numTabs = this.getTabCount ();\r
23 if (index < 0 || index >= numTabs) throw  new IllegalArgumentException (index + " is outside the range of tabs");\r
24 return this.tabs[index];\r
25 }, "~N");\r
26 Clazz.defineMethod (c$, "getTabAfter", \r
27 function (location) {\r
28 var index = this.getTabIndexAfter (location);\r
29 return (index == -1) ? null : this.tabs[index];\r
30 }, "~N");\r
31 Clazz.defineMethod (c$, "getTabIndex", \r
32 function (tab) {\r
33 for (var counter = this.getTabCount () - 1; counter >= 0; counter--) if (this.getTab (counter) === tab) return counter;\r
34 \r
35 return -1;\r
36 }, "javax.swing.text.TabStop");\r
37 Clazz.defineMethod (c$, "getTabIndexAfter", \r
38 function (location) {\r
39 var current;\r
40 var min;\r
41 var max;\r
42 min = 0;\r
43 max = this.getTabCount ();\r
44 while (min != max) {\r
45 current = Clazz.doubleToInt ((max - min) / 2) + min;\r
46 if (location > this.tabs[current].getPosition ()) {\r
47 if (min == current) min = max;\r
48  else min = current;\r
49 } else {\r
50 if (current == 0 || location > this.tabs[current - 1].getPosition ()) return current;\r
51 max = current;\r
52 }}\r
53 return -1;\r
54 }, "~N");\r
55 Clazz.overrideMethod (c$, "equals", \r
56 function (o) {\r
57 if (o === this) {\r
58 return true;\r
59 }if (Clazz.instanceOf (o, javax.swing.text.TabSet)) {\r
60 var ts = o;\r
61 var count = this.getTabCount ();\r
62 if (ts.getTabCount () != count) {\r
63 return false;\r
64 }for (var i = 0; i < count; i++) {\r
65 var ts1 = this.getTab (i);\r
66 var ts2 = ts.getTab (i);\r
67 if ((ts1 == null && ts2 != null) || (ts1 != null && !this.getTab (i).equals (ts.getTab (i)))) {\r
68 return false;\r
69 }}\r
70 return true;\r
71 }return false;\r
72 }, "~O");\r
73 Clazz.overrideMethod (c$, "hashCode", \r
74 function () {\r
75 if (this.$hashCode == 2147483647) {\r
76 this.$hashCode = 0;\r
77 var len = this.getTabCount ();\r
78 for (var i = 0; i < len; i++) {\r
79 var ts = this.getTab (i);\r
80 this.$hashCode ^= ts != null ? this.getTab (i).hashCode () : 0;\r
81 }\r
82 if (this.$hashCode == 2147483647) {\r
83 this.$hashCode -= 1;\r
84 }}return this.$hashCode;\r
85 });\r
86 Clazz.overrideMethod (c$, "toString", \r
87 function () {\r
88 var tabCount = this.getTabCount ();\r
89 var buffer =  new StringBuffer ("[ ");\r
90 for (var counter = 0; counter < tabCount; counter++) {\r
91 if (counter > 0) buffer.append (" - ");\r
92 buffer.append (this.getTab (counter).toString ());\r
93 }\r
94 buffer.append (" ]");\r
95 return buffer.toString ();\r
96 });\r
97 });\r