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
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
10 Clazz.superConstructor (this, javax.swing.DefaultComboBoxModel, []);
\r
11 this.objects = new java.util.Vector ();
\r
13 Clazz.makeConstructor (c$,
\r
15 Clazz.superConstructor (this, javax.swing.DefaultComboBoxModel, []);
\r
16 this.objects = new java.util.Vector ();
\r
17 this.objects.ensureCapacity (items.length);
\r
20 for (i = 0, c = items.length; i < c; i++) this.objects.addElement (items[i]);
\r
22 if (this.getSize () > 0) {
\r
23 this.selectedObject = this.getElementAt (0);
\r
25 Clazz.makeConstructor (c$,
\r
27 Clazz.superConstructor (this, javax.swing.DefaultComboBoxModel, []);
\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
38 Clazz.overrideMethod (c$, "getSelectedItem",
\r
40 return this.selectedObject;
\r
42 Clazz.overrideMethod (c$, "getSize",
\r
44 return this.objects.size ();
\r
46 Clazz.overrideMethod (c$, "getElementAt",
\r
48 if (index >= 0 && index < this.objects.size ()) return this.objects.elementAt (index);
\r
51 Clazz.defineMethod (c$, "getIndexOf",
\r
52 function (anObject) {
\r
53 return this.objects.indexOf (anObject);
\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
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
67 Clazz.overrideMethod (c$, "removeElementAt",
\r
69 if (this.getElementAt (index) === this.selectedObject) {
\r
71 this.setSelectedItem (this.getSize () == 1 ? null : this.getElementAt (index + 1));
\r
73 this.setSelectedItem (this.getElementAt (index - 1));
\r
74 }}this.objects.removeElementAt (index);
\r
75 this.fireIntervalRemoved (this, index, index);
\r
77 Clazz.overrideMethod (c$, "removeElement",
\r
78 function (anObject) {
\r
79 var index = this.objects.indexOf (anObject);
\r
81 this.removeElementAt (index);
\r
83 Clazz.defineMethod (c$, "removeAllElements",
\r
85 if (this.objects.size () > 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
92 this.selectedObject = null;
\r