JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / swingjs / j2s / javax / swing / JComboBox.js
1 Clazz.declarePackage ("javax.swing");\r
2 Clazz.load (["java.awt.ItemSelectable", "java.awt.event.ActionListener", "javax.swing.ActionPropertyChangeListener", "$.JComponent", "javax.swing.event.ListDataListener", "javax.swing.JPopupMenu"], "javax.swing.JComboBox", ["java.lang.IllegalArgumentException", "$.RuntimeException", "java.awt.Component", "$.EventQueue", "java.awt.event.ActionEvent", "$.InputEvent", "$.ItemEvent", "$.ItemListener", "javax.swing.AbstractAction", "$.DefaultComboBoxModel", "$.MutableComboBoxModel", "$.SwingUtilities", "$.UIManager", "javax.swing.event.AncestorListener", "$.PopupMenuEvent", "$.PopupMenuListener"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.dataModel = null;\r
5 this.renderer = null;\r
6 this.editor = null;\r
7 this.maximumRowCount = 8;\r
8 this.$isEditable = false;\r
9 this.keySelectionManager = null;\r
10 this.actionCommand = "comboBoxChanged";\r
11 this.lightWeightPopupEnabled = false;\r
12 this.selectedItemReminder = null;\r
13 this.prototypeDisplayValue = null;\r
14 this.firingActionEvent = false;\r
15 this.selectingItem = false;\r
16 this.$action = null;\r
17 this.actionPropertyChangeListener = null;\r
18 if (!Clazz.isClassDefined ("javax.swing.JComboBox.DefaultKeySelectionManager")) {\r
19 javax.swing.JComboBox.$JComboBox$DefaultKeySelectionManager$ ();\r
20 }\r
21 Clazz.instantialize (this, arguments);\r
22 }, javax.swing, "JComboBox", javax.swing.JComponent, [java.awt.ItemSelectable, javax.swing.event.ListDataListener, java.awt.event.ActionListener]);\r
23 Clazz.prepareFields (c$, function () {\r
24 this.lightWeightPopupEnabled = javax.swing.JPopupMenu.getDefaultLightWeightPopupEnabled ();\r
25 });\r
26 Clazz.makeConstructor (c$, \r
27 function (aModel) {\r
28 Clazz.superConstructor (this, javax.swing.JComboBox);\r
29 this.setModel (aModel);\r
30 this.init ();\r
31 }, "javax.swing.ComboBoxModel");\r
32 Clazz.makeConstructor (c$, \r
33 function (items) {\r
34 Clazz.superConstructor (this, javax.swing.JComboBox);\r
35 this.setModel ( new javax.swing.DefaultComboBoxModel (items));\r
36 this.init ();\r
37 }, "~A");\r
38 Clazz.makeConstructor (c$, \r
39 function (items) {\r
40 Clazz.superConstructor (this, javax.swing.JComboBox);\r
41 this.setModel ( new javax.swing.DefaultComboBoxModel (items));\r
42 this.init ();\r
43 }, "java.util.Vector");\r
44 Clazz.makeConstructor (c$, \r
45 function () {\r
46 Clazz.superConstructor (this, javax.swing.JComboBox);\r
47 this.setModel ( new javax.swing.DefaultComboBoxModel ());\r
48 this.init ();\r
49 });\r
50 Clazz.defineMethod (c$, "init", \r
51  function () {\r
52 this.installAncestorListener ();\r
53 this.setUIProperty ("opaque", new Boolean (true));\r
54 this.updateUI ();\r
55 });\r
56 Clazz.defineMethod (c$, "installAncestorListener", \r
57 function () {\r
58 this.addAncestorListener (((Clazz.isClassDefined ("javax.swing.JComboBox$1") ? 0 : javax.swing.JComboBox.$JComboBox$1$ ()), Clazz.innerTypeInstance (javax.swing.JComboBox$1, this, null)));\r
59 });\r
60 Clazz.overrideMethod (c$, "updateUI", \r
61 function () {\r
62 this.setUI (javax.swing.UIManager.getUI (this));\r
63 var renderer = this.getRenderer ();\r
64 if (Clazz.instanceOf (renderer, java.awt.Component)) {\r
65 javax.swing.SwingUtilities.updateComponentTreeUI (renderer);\r
66 }});\r
67 Clazz.overrideMethod (c$, "getUIClassID", \r
68 function () {\r
69 return "ComboBoxUI";\r
70 });\r
71 Clazz.overrideMethod (c$, "getUI", \r
72 function () {\r
73 return this.ui;\r
74 });\r
75 Clazz.defineMethod (c$, "setModel", \r
76 function (aModel) {\r
77 var oldModel = this.dataModel;\r
78 if (oldModel != null) {\r
79 oldModel.removeListDataListener (this);\r
80 }this.dataModel = aModel;\r
81 this.dataModel.addListDataListener (this);\r
82 this.selectedItemReminder = this.dataModel.getSelectedItem ();\r
83 this.firePropertyChangeObject ("model", oldModel, this.dataModel);\r
84 }, "javax.swing.ComboBoxModel");\r
85 Clazz.defineMethod (c$, "getModel", \r
86 function () {\r
87 return this.dataModel;\r
88 });\r
89 Clazz.defineMethod (c$, "setLightWeightPopupEnabled", \r
90 function (aFlag) {\r
91 var oldFlag = this.lightWeightPopupEnabled;\r
92 this.lightWeightPopupEnabled = aFlag;\r
93 this.firePropertyChangeBool ("lightWeightPopupEnabled", oldFlag, this.lightWeightPopupEnabled);\r
94 }, "~B");\r
95 Clazz.defineMethod (c$, "isLightWeightPopupEnabled", \r
96 function () {\r
97 return this.lightWeightPopupEnabled;\r
98 });\r
99 Clazz.defineMethod (c$, "setEditable", \r
100 function (aFlag) {\r
101 var oldFlag = this.$isEditable;\r
102 this.$isEditable = aFlag;\r
103 this.firePropertyChangeBool ("editable", oldFlag, this.$isEditable);\r
104 }, "~B");\r
105 Clazz.defineMethod (c$, "isEditable", \r
106 function () {\r
107 return this.$isEditable;\r
108 });\r
109 Clazz.defineMethod (c$, "setMaximumRowCount", \r
110 function (count) {\r
111 var oldCount = this.maximumRowCount;\r
112 this.maximumRowCount = count;\r
113 this.firePropertyChangeInt ("maximumRowCount", oldCount, this.maximumRowCount);\r
114 }, "~N");\r
115 Clazz.defineMethod (c$, "getMaximumRowCount", \r
116 function () {\r
117 return this.maximumRowCount;\r
118 });\r
119 Clazz.defineMethod (c$, "setRenderer", \r
120 function (aRenderer) {\r
121 var oldRenderer = this.renderer;\r
122 this.renderer = aRenderer;\r
123 this.firePropertyChangeObject ("renderer", oldRenderer, this.renderer);\r
124 this.invalidate ();\r
125 }, "javax.swing.ListCellRenderer");\r
126 Clazz.defineMethod (c$, "getRenderer", \r
127 function () {\r
128 return this.renderer;\r
129 });\r
130 Clazz.defineMethod (c$, "setEditor", \r
131 function (anEditor) {\r
132 var oldEditor = this.editor;\r
133 if (this.editor != null) {\r
134 this.editor.removeActionListener (this);\r
135 }this.editor = anEditor;\r
136 if (this.editor != null) {\r
137 this.editor.addActionListener (this);\r
138 }this.firePropertyChangeObject ("editor", oldEditor, this.editor);\r
139 }, "javax.swing.ComboBoxEditor");\r
140 Clazz.defineMethod (c$, "getEditor", \r
141 function () {\r
142 return this.editor;\r
143 });\r
144 Clazz.defineMethod (c$, "setSelectedItem", \r
145 function (anObject) {\r
146 var oldSelection = this.selectedItemReminder;\r
147 var objectToSelect = anObject;\r
148 if (oldSelection == null || !oldSelection.equals (anObject)) {\r
149 if (anObject != null && !this.isEditable ()) {\r
150 var found = false;\r
151 for (var i = 0; i < this.dataModel.getSize (); i++) {\r
152 var element = this.dataModel.getElementAt (i);\r
153 if (anObject.equals (element)) {\r
154 found = true;\r
155 objectToSelect = element;\r
156 break;\r
157 }}\r
158 if (!found) {\r
159 return;\r
160 }}this.selectingItem = true;\r
161 this.dataModel.setSelectedItem (objectToSelect);\r
162 this.selectingItem = false;\r
163 if (this.selectedItemReminder !== this.dataModel.getSelectedItem ()) {\r
164 this.selectedItemChanged ();\r
165 }}this.fireActionEvent ();\r
166 }, "~O");\r
167 Clazz.defineMethod (c$, "getSelectedItem", \r
168 function () {\r
169 return this.dataModel.getSelectedItem ();\r
170 });\r
171 Clazz.defineMethod (c$, "setSelectedIndex", \r
172 function (anIndex) {\r
173 var size = this.dataModel.getSize ();\r
174 if (anIndex == -1) {\r
175 this.setSelectedItem (null);\r
176 } else if (anIndex < -1 || anIndex >= size) {\r
177 throw  new IllegalArgumentException ("setSelectedIndex: " + anIndex + " out of bounds");\r
178 } else {\r
179 this.setSelectedItem (this.dataModel.getElementAt (anIndex));\r
180 }}, "~N");\r
181 Clazz.defineMethod (c$, "getSelectedIndex", \r
182 function () {\r
183 var sObject = this.dataModel.getSelectedItem ();\r
184 var i;\r
185 var c;\r
186 var obj;\r
187 for (i = 0, c = this.dataModel.getSize (); i < c; i++) {\r
188 obj = this.dataModel.getElementAt (i);\r
189 if (obj != null && obj.equals (sObject)) return i;\r
190 }\r
191 return -1;\r
192 });\r
193 Clazz.defineMethod (c$, "getPrototypeDisplayValue", \r
194 function () {\r
195 return this.prototypeDisplayValue;\r
196 });\r
197 Clazz.defineMethod (c$, "setPrototypeDisplayValue", \r
198 function (prototypeDisplayValue) {\r
199 var oldValue = this.prototypeDisplayValue;\r
200 this.prototypeDisplayValue = prototypeDisplayValue;\r
201 this.firePropertyChangeObject ("prototypeDisplayValue", oldValue, prototypeDisplayValue);\r
202 }, "~O");\r
203 Clazz.defineMethod (c$, "addItem", \r
204 function (anObject) {\r
205 this.checkMutableComboBoxModel ();\r
206 (this.dataModel).addElement (anObject);\r
207 }, "~O");\r
208 Clazz.defineMethod (c$, "insertItemAt", \r
209 function (anObject, index) {\r
210 this.checkMutableComboBoxModel ();\r
211 (this.dataModel).insertElementAt (anObject, index);\r
212 }, "~O,~N");\r
213 Clazz.defineMethod (c$, "removeItem", \r
214 function (anObject) {\r
215 this.checkMutableComboBoxModel ();\r
216 (this.dataModel).removeElement (anObject);\r
217 }, "~O");\r
218 Clazz.defineMethod (c$, "removeItemAt", \r
219 function (anIndex) {\r
220 this.checkMutableComboBoxModel ();\r
221 (this.dataModel).removeElementAt (anIndex);\r
222 }, "~N");\r
223 Clazz.defineMethod (c$, "removeAllItems", \r
224 function () {\r
225 this.checkMutableComboBoxModel ();\r
226 var model = this.dataModel;\r
227 var size = model.getSize ();\r
228 if (Clazz.instanceOf (model, javax.swing.DefaultComboBoxModel)) {\r
229 (model).removeAllElements ();\r
230 } else {\r
231 for (var i = 0; i < size; ++i) {\r
232 var element = model.getElementAt (0);\r
233 model.removeElement (element);\r
234 }\r
235 }this.selectedItemReminder = null;\r
236 if (this.isEditable ()) {\r
237 this.editor.setItem (null);\r
238 }});\r
239 Clazz.defineMethod (c$, "checkMutableComboBoxModel", \r
240 function () {\r
241 if (!(Clazz.instanceOf (this.dataModel, javax.swing.MutableComboBoxModel))) throw  new RuntimeException ("Cannot use this method with a non-Mutable data model.");\r
242 });\r
243 Clazz.defineMethod (c$, "showPopup", \r
244 function () {\r
245 this.setPopupVisible (true);\r
246 });\r
247 Clazz.defineMethod (c$, "hidePopup", \r
248 function () {\r
249 this.setPopupVisible (false);\r
250 });\r
251 Clazz.defineMethod (c$, "setPopupVisible", \r
252 function (v) {\r
253 this.getUI ().setPopupVisible (this, v);\r
254 }, "~B");\r
255 Clazz.defineMethod (c$, "isPopupVisible", \r
256 function () {\r
257 return this.getUI ().isPopupVisible (this);\r
258 });\r
259 Clazz.overrideMethod (c$, "addItemListener", \r
260 function (aListener) {\r
261 this.listenerList.add (java.awt.event.ItemListener, aListener);\r
262 }, "java.awt.event.ItemListener");\r
263 Clazz.overrideMethod (c$, "removeItemListener", \r
264 function (aListener) {\r
265 this.listenerList.remove (java.awt.event.ItemListener, aListener);\r
266 }, "java.awt.event.ItemListener");\r
267 Clazz.defineMethod (c$, "getItemListeners", \r
268 function () {\r
269 return this.listenerList.getListeners (java.awt.event.ItemListener);\r
270 });\r
271 Clazz.defineMethod (c$, "addActionListener", \r
272 function (l) {\r
273 this.listenerList.add (java.awt.event.ActionListener, l);\r
274 }, "java.awt.event.ActionListener");\r
275 Clazz.defineMethod (c$, "removeActionListener", \r
276 function (l) {\r
277 if ((l != null) && (this.getAction () === l)) {\r
278 this.setAction (null);\r
279 } else {\r
280 this.listenerList.remove (java.awt.event.ActionListener, l);\r
281 }}, "java.awt.event.ActionListener");\r
282 Clazz.defineMethod (c$, "getActionListeners", \r
283 function () {\r
284 return this.listenerList.getListeners (java.awt.event.ActionListener);\r
285 });\r
286 Clazz.defineMethod (c$, "addPopupMenuListener", \r
287 function (l) {\r
288 this.listenerList.add (javax.swing.event.PopupMenuListener, l);\r
289 }, "javax.swing.event.PopupMenuListener");\r
290 Clazz.defineMethod (c$, "removePopupMenuListener", \r
291 function (l) {\r
292 this.listenerList.remove (javax.swing.event.PopupMenuListener, l);\r
293 }, "javax.swing.event.PopupMenuListener");\r
294 Clazz.defineMethod (c$, "getPopupMenuListeners", \r
295 function () {\r
296 return this.listenerList.getListeners (javax.swing.event.PopupMenuListener);\r
297 });\r
298 Clazz.defineMethod (c$, "firePopupMenuWillBecomeVisible", \r
299 function () {\r
300 var listeners = this.listenerList.getListenerList ();\r
301 var e = null;\r
302 for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
303 if (listeners[i] === javax.swing.event.PopupMenuListener) {\r
304 if (e == null) e =  new javax.swing.event.PopupMenuEvent (this);\r
305 (listeners[i + 1]).popupMenuWillBecomeVisible (e);\r
306 }}\r
307 });\r
308 Clazz.defineMethod (c$, "firePopupMenuWillBecomeInvisible", \r
309 function () {\r
310 var listeners = this.listenerList.getListenerList ();\r
311 var e = null;\r
312 for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
313 if (listeners[i] === javax.swing.event.PopupMenuListener) {\r
314 if (e == null) e =  new javax.swing.event.PopupMenuEvent (this);\r
315 (listeners[i + 1]).popupMenuWillBecomeInvisible (e);\r
316 }}\r
317 });\r
318 Clazz.defineMethod (c$, "firePopupMenuCanceled", \r
319 function () {\r
320 var listeners = this.listenerList.getListenerList ();\r
321 var e = null;\r
322 for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
323 if (listeners[i] === javax.swing.event.PopupMenuListener) {\r
324 if (e == null) e =  new javax.swing.event.PopupMenuEvent (this);\r
325 (listeners[i + 1]).popupMenuCanceled (e);\r
326 }}\r
327 });\r
328 Clazz.defineMethod (c$, "setActionCommand", \r
329 function (aCommand) {\r
330 this.actionCommand = aCommand;\r
331 }, "~S");\r
332 Clazz.defineMethod (c$, "getActionCommand", \r
333 function () {\r
334 return this.actionCommand;\r
335 });\r
336 Clazz.defineMethod (c$, "setAction", \r
337 function (a) {\r
338 var oldValue = this.getAction ();\r
339 if (this.$action == null || !this.$action.equals (a)) {\r
340 this.$action = a;\r
341 if (oldValue != null) {\r
342 this.removeActionListener (oldValue);\r
343 oldValue.removePropertyChangeListener (this.actionPropertyChangeListener);\r
344 this.actionPropertyChangeListener = null;\r
345 }this.configurePropertiesFromAction (this.$action);\r
346 if (this.$action != null) {\r
347 if (!this.isListener (java.awt.event.ActionListener, this.$action)) {\r
348 this.addActionListener (this.$action);\r
349 }this.actionPropertyChangeListener = this.createActionPropertyChangeListener (this.$action);\r
350 this.$action.addPropertyChangeListener (this.actionPropertyChangeListener);\r
351 }this.firePropertyChangeObject ("action", oldValue, this.$action);\r
352 }}, "javax.swing.Action");\r
353 Clazz.defineMethod (c$, "isListener", \r
354  function (c, a) {\r
355 var isListener = false;\r
356 var listeners = this.listenerList.getListenerList ();\r
357 for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
358 if (listeners[i] === c && listeners[i + 1] === a) {\r
359 isListener = true;\r
360 }}\r
361 return isListener;\r
362 }, "Class,java.awt.event.ActionListener");\r
363 Clazz.defineMethod (c$, "getAction", \r
364 function () {\r
365 return this.$action;\r
366 });\r
367 Clazz.defineMethod (c$, "configurePropertiesFromAction", \r
368 function (a) {\r
369 javax.swing.AbstractAction.setEnabledFromAction (this, a);\r
370 javax.swing.AbstractAction.setToolTipTextFromAction (this, a);\r
371 this.setActionCommandFromAction (a);\r
372 }, "javax.swing.Action");\r
373 Clazz.defineMethod (c$, "createActionPropertyChangeListener", \r
374 function (a) {\r
375 return  new javax.swing.JComboBox.ComboBoxActionPropertyChangeListener (this, a);\r
376 }, "javax.swing.Action");\r
377 Clazz.defineMethod (c$, "actionPropertyChanged", \r
378 function (action, propertyName) {\r
379 if (propertyName === "ActionCommandKey") {\r
380 this.setActionCommandFromAction (action);\r
381 } else if (propertyName === "enabled") {\r
382 javax.swing.AbstractAction.setEnabledFromAction (this, action);\r
383 } else if ("ShortDescription" === propertyName) {\r
384 javax.swing.AbstractAction.setToolTipTextFromAction (this, action);\r
385 }}, "javax.swing.Action,~S");\r
386 Clazz.defineMethod (c$, "setActionCommandFromAction", \r
387  function (a) {\r
388 this.setActionCommand ((a != null) ? a.getValue ("ActionCommandKey") : null);\r
389 }, "javax.swing.Action");\r
390 Clazz.defineMethod (c$, "fireItemStateChanged", \r
391 function (e) {\r
392 var listeners = this.listenerList.getListenerList ();\r
393 for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
394 if (listeners[i] === java.awt.event.ItemListener) {\r
395 (listeners[i + 1]).itemStateChanged (e);\r
396 }}\r
397 }, "java.awt.event.ItemEvent");\r
398 Clazz.defineMethod (c$, "fireActionEvent", \r
399 function () {\r
400 if (!this.firingActionEvent) {\r
401 this.firingActionEvent = true;\r
402 var e = null;\r
403 var listeners = this.listenerList.getListenerList ();\r
404 var mostRecentEventTime = java.awt.EventQueue.getMostRecentEventTime ();\r
405 var modifiers = 0;\r
406 var currentEvent = java.awt.EventQueue.getCurrentEvent ();\r
407 if (Clazz.instanceOf (currentEvent, java.awt.event.InputEvent)) {\r
408 modifiers = (currentEvent).getModifiers ();\r
409 } else if (Clazz.instanceOf (currentEvent, java.awt.event.ActionEvent)) {\r
410 modifiers = (currentEvent).getModifiers ();\r
411 }for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
412 if (listeners[i] === java.awt.event.ActionListener) {\r
413 if (e == null) e =  new java.awt.event.ActionEvent (this, 1001, this.getActionCommand (), mostRecentEventTime, modifiers);\r
414 (listeners[i + 1]).actionPerformed (e);\r
415 }}\r
416 this.firingActionEvent = false;\r
417 }});\r
418 Clazz.defineMethod (c$, "selectedItemChanged", \r
419 function () {\r
420 if (this.selectedItemReminder != null) {\r
421 this.fireItemStateChanged ( new java.awt.event.ItemEvent (this, 701, this.selectedItemReminder, 2));\r
422 }this.selectedItemReminder = this.dataModel.getSelectedItem ();\r
423 if (this.selectedItemReminder != null) {\r
424 this.fireItemStateChanged ( new java.awt.event.ItemEvent (this, 701, this.selectedItemReminder, 1));\r
425 }});\r
426 Clazz.overrideMethod (c$, "getSelectedObjects", \r
427 function () {\r
428 var selectedObject = this.getSelectedItem ();\r
429 if (selectedObject == null) return  new Array (0);\r
430  else {\r
431 var result =  new Array (1);\r
432 result[0] = selectedObject;\r
433 return result;\r
434 }});\r
435 Clazz.defineMethod (c$, "actionPerformed", \r
436 function (e) {\r
437 var newItem = this.getEditor ().getItem ();\r
438 this.setPopupVisible (false);\r
439 this.getModel ().setSelectedItem (newItem);\r
440 var oldCommand = this.getActionCommand ();\r
441 this.setActionCommand ("comboBoxEdited");\r
442 this.fireActionEvent ();\r
443 this.setActionCommand (oldCommand);\r
444 }, "java.awt.event.ActionEvent");\r
445 Clazz.overrideMethod (c$, "contentsChanged", \r
446 function (e) {\r
447 var oldSelection = this.selectedItemReminder;\r
448 var newSelection = this.dataModel.getSelectedItem ();\r
449 if (oldSelection == null || !oldSelection.equals (newSelection)) {\r
450 this.selectedItemChanged ();\r
451 if (!this.selectingItem) {\r
452 this.fireActionEvent ();\r
453 }}}, "javax.swing.event.ListDataEvent");\r
454 Clazz.overrideMethod (c$, "intervalAdded", \r
455 function (e) {\r
456 if (this.selectedItemReminder !== this.dataModel.getSelectedItem ()) {\r
457 this.selectedItemChanged ();\r
458 }}, "javax.swing.event.ListDataEvent");\r
459 Clazz.overrideMethod (c$, "intervalRemoved", \r
460 function (e) {\r
461 this.contentsChanged (e);\r
462 }, "javax.swing.event.ListDataEvent");\r
463 Clazz.defineMethod (c$, "selectWithKeyChar", \r
464 function (keyChar) {\r
465 var index;\r
466 if (this.keySelectionManager == null) this.keySelectionManager = this.createDefaultKeySelectionManager ();\r
467 index = this.keySelectionManager.selectionForKey (keyChar, this.getModel ());\r
468 if (index != -1) {\r
469 this.setSelectedIndex (index);\r
470 return true;\r
471 } else return false;\r
472 }, "~S");\r
473 Clazz.defineMethod (c$, "setEnabled", \r
474 function (b) {\r
475 Clazz.superCall (this, javax.swing.JComboBox, "setEnabled", [b]);\r
476 this.firePropertyChangeBool ("enabled", !this.isEnabled (), this.isEnabled ());\r
477 }, "~B");\r
478 Clazz.defineMethod (c$, "configureEditor", \r
479 function (anEditor, anItem) {\r
480 anEditor.setItem (anItem);\r
481 }, "javax.swing.ComboBoxEditor,~O");\r
482 Clazz.defineMethod (c$, "processKeyEvent", \r
483 function (e) {\r
484 if (e.getKeyCode () == 9) {\r
485 this.hidePopup ();\r
486 }Clazz.superCall (this, javax.swing.JComboBox, "processKeyEvent", [e]);\r
487 }, "java.awt.event.KeyEvent");\r
488 Clazz.defineMethod (c$, "setKeySelectionManager", \r
489 function (aManager) {\r
490 this.keySelectionManager = aManager;\r
491 }, "javax.swing.JComboBox.KeySelectionManager");\r
492 Clazz.defineMethod (c$, "getKeySelectionManager", \r
493 function () {\r
494 return this.keySelectionManager;\r
495 });\r
496 Clazz.defineMethod (c$, "getItemCount", \r
497 function () {\r
498 return this.dataModel.getSize ();\r
499 });\r
500 Clazz.defineMethod (c$, "getItemAt", \r
501 function (index) {\r
502 return this.dataModel.getElementAt (index);\r
503 }, "~N");\r
504 Clazz.defineMethod (c$, "createDefaultKeySelectionManager", \r
505 function () {\r
506 return Clazz.innerTypeInstance (javax.swing.JComboBox.DefaultKeySelectionManager, this, null);\r
507 });\r
508 Clazz.defineMethod (c$, "paramString", \r
509 function () {\r
510 var selectedItemReminderString = (this.selectedItemReminder != null ? this.selectedItemReminder.toString () : "");\r
511 var isEditableString = (this.$isEditable ? "true" : "false");\r
512 var lightWeightPopupEnabledString = (this.lightWeightPopupEnabled ? "true" : "false");\r
513 return Clazz.superCall (this, javax.swing.JComboBox, "paramString", []) + ",isEditable=" + isEditableString + ",lightWeightPopupEnabled=" + lightWeightPopupEnabledString + ",maximumRowCount=" + this.maximumRowCount + ",selectedItemReminder=" + selectedItemReminderString;\r
514 });\r
515 c$.$JComboBox$DefaultKeySelectionManager$ = function () {\r
516 Clazz.pu$h(self.c$);\r
517 c$ = Clazz.decorateAsClass (function () {\r
518 Clazz.prepareCallback (this, arguments);\r
519 Clazz.instantialize (this, arguments);\r
520 }, javax.swing.JComboBox, "DefaultKeySelectionManager", null, javax.swing.JComboBox.KeySelectionManager);\r
521 Clazz.overrideMethod (c$, "selectionForKey", \r
522 function (a, b) {\r
523 var c;\r
524 var d;\r
525 var e = -1;\r
526 var f = b.getSelectedItem ();\r
527 var g;\r
528 var h;\r
529 if (f != null) {\r
530 for (c = 0, d = b.getSize (); c < d; c++) {\r
531 if (f === b.getElementAt (c)) {\r
532 e = c;\r
533 break;\r
534 }}\r
535 }h = ("" + a).toLowerCase ();\r
536 a = h.charAt (0);\r
537 for (c = ++e, d = b.getSize (); c < d; c++) {\r
538 var i = b.getElementAt (c);\r
539 if (i != null && i.toString () != null) {\r
540 g = i.toString ().toLowerCase ();\r
541 if (g.length > 0 && g.charAt (0) == a) return c;\r
542 }}\r
543 for (c = 0; c < e; c++) {\r
544 var i = b.getElementAt (c);\r
545 if (i != null && i.toString () != null) {\r
546 g = i.toString ().toLowerCase ();\r
547 if (g.length > 0 && g.charAt (0) == a) return c;\r
548 }}\r
549 return -1;\r
550 }, "~S,javax.swing.ComboBoxModel");\r
551 c$ = Clazz.p0p ();\r
552 };\r
553 c$.$JComboBox$1$ = function () {\r
554 Clazz.pu$h(self.c$);\r
555 c$ = Clazz.declareAnonymous (javax.swing, "JComboBox$1", null, javax.swing.event.AncestorListener);\r
556 Clazz.overrideMethod (c$, "ancestorAdded", \r
557 function (event) {\r
558 this.b$["javax.swing.JComboBox"].hidePopup ();\r
559 }, "javax.swing.event.AncestorEvent");\r
560 Clazz.overrideMethod (c$, "ancestorRemoved", \r
561 function (event) {\r
562 this.b$["javax.swing.JComboBox"].hidePopup ();\r
563 }, "javax.swing.event.AncestorEvent");\r
564 Clazz.overrideMethod (c$, "ancestorMoved", \r
565 function (event) {\r
566 if (event.getSource () !== this.b$["javax.swing.JComboBox"]) this.b$["javax.swing.JComboBox"].hidePopup ();\r
567 }, "javax.swing.event.AncestorEvent");\r
568 c$ = Clazz.p0p ();\r
569 };\r
570 Clazz.pu$h(self.c$);\r
571 c$ = Clazz.declareType (javax.swing.JComboBox, "ComboBoxActionPropertyChangeListener", javax.swing.ActionPropertyChangeListener);\r
572 Clazz.overrideMethod (c$, "actionPropertyChanged", \r
573 function (a, b, c) {\r
574 if (javax.swing.AbstractAction.shouldReconfigure (c)) {\r
575 a.configurePropertiesFromAction (b);\r
576 } else {\r
577 a.actionPropertyChanged (b, c.getPropertyName ());\r
578 }}, "javax.swing.JComboBox,javax.swing.Action,java.beans.PropertyChangeEvent");\r
579 c$ = Clazz.p0p ();\r
580 Clazz.declareInterface (javax.swing.JComboBox, "KeySelectionManager");\r
581 Clazz.defineStatics (c$,\r
582 "$uiClassID", "ComboBoxUI");\r
583 });\r