852a97133b6f0204bd998b7bf675f28bc8ec2c92
[jalviewjs.git] / site / swingjs / j2s / javax / swing / DefaultComboBoxModel.js
1 Clazz.declarePackage ("javax.swing");\r
2 Clazz.load (["javax.swing.AbstractListModel", "$.MutableComboBoxModel"], "javax.swing.DefaultComboBoxModel", ["java.util.Vector"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.objects = null;\r
5 this.selectedObject = null;\r
6 Clazz.instantialize (this, arguments);\r
7 }, javax.swing, "DefaultComboBoxModel", javax.swing.AbstractListModel, javax.swing.MutableComboBoxModel);\r
8 Clazz.makeConstructor (c$, \r
9 function () {\r
10 Clazz.superConstructor (this, javax.swing.DefaultComboBoxModel, []);\r
11 this.objects =  new java.util.Vector ();\r
12 });\r
13 Clazz.makeConstructor (c$, \r
14 function (items) {\r
15 Clazz.superConstructor (this, javax.swing.DefaultComboBoxModel, []);\r
16 this.objects =  new java.util.Vector ();\r
17 this.objects.ensureCapacity (items.length);\r
18 var i;\r
19 var c;\r
20 for (i = 0, c = items.length; i < c; i++) this.objects.addElement (items[i]);\r
21 \r
22 if (this.getSize () > 0) {\r
23 this.selectedObject = this.getElementAt (0);\r
24 }}, "~A");\r
25 Clazz.makeConstructor (c$, \r
26 function (v) {\r
27 Clazz.superConstructor (this, javax.swing.DefaultComboBoxModel, []);\r
28 this.objects = v;\r
29 if (this.getSize () > 0) {\r
30 this.selectedObject = this.getElementAt (0);\r
31 }}, "java.util.Vector");\r
32 Clazz.overrideMethod (c$, "setSelectedItem", \r
33 function (anObject) {\r
34 if ((this.selectedObject != null && !this.selectedObject.equals (anObject)) || this.selectedObject == null && anObject != null) {\r
35 this.selectedObject = anObject;\r
36 this.fireContentsChanged (this, -1, -1);\r
37 }}, "~O");\r
38 Clazz.overrideMethod (c$, "getSelectedItem", \r
39 function () {\r
40 return this.selectedObject;\r
41 });\r
42 Clazz.overrideMethod (c$, "getSize", \r
43 function () {\r
44 return this.objects.size ();\r
45 });\r
46 Clazz.overrideMethod (c$, "getElementAt", \r
47 function (index) {\r
48 if (index >= 0 && index < this.objects.size ()) return this.objects.elementAt (index);\r
49  else return null;\r
50 }, "~N");\r
51 Clazz.defineMethod (c$, "getIndexOf", \r
52 function (anObject) {\r
53 return this.objects.indexOf (anObject);\r
54 }, "~O");\r
55 Clazz.overrideMethod (c$, "addElement", \r
56 function (anObject) {\r
57 this.objects.addElement (anObject);\r
58 this.fireIntervalAdded (this, this.objects.size () - 1, this.objects.size () - 1);\r
59 if (this.objects.size () == 1 && this.selectedObject == null && anObject != null) {\r
60 this.setSelectedItem (anObject);\r
61 }}, "~O");\r
62 Clazz.overrideMethod (c$, "insertElementAt", \r
63 function (anObject, index) {\r
64 this.objects.insertElementAt (anObject, index);\r
65 this.fireIntervalAdded (this, index, index);\r
66 }, "~O,~N");\r
67 Clazz.overrideMethod (c$, "removeElementAt", \r
68 function (index) {\r
69 if (this.getElementAt (index) === this.selectedObject) {\r
70 if (index == 0) {\r
71 this.setSelectedItem (this.getSize () == 1 ? null : this.getElementAt (index + 1));\r
72 } else {\r
73 this.setSelectedItem (this.getElementAt (index - 1));\r
74 }}this.objects.removeElementAt (index);\r
75 this.fireIntervalRemoved (this, index, index);\r
76 }, "~N");\r
77 Clazz.overrideMethod (c$, "removeElement", \r
78 function (anObject) {\r
79 var index = this.objects.indexOf (anObject);\r
80 if (index != -1) {\r
81 this.removeElementAt (index);\r
82 }}, "~O");\r
83 Clazz.defineMethod (c$, "removeAllElements", \r
84 function () {\r
85 if (this.objects.size () > 0) {\r
86 var firstIndex = 0;\r
87 var lastIndex = this.objects.size () - 1;\r
88 this.objects.removeAllElements ();\r
89 this.selectedObject = null;\r
90 this.fireIntervalRemoved (this, firstIndex, lastIndex);\r
91 } else {\r
92 this.selectedObject = null;\r
93 }});\r
94 });\r