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