3a728172e5927e560ba587d056b0baf0663b41bf
[jalviewjs.git] / site / j2s / javax / swing / SpinnerListModel.js
1 Clazz.declarePackage ("javax.swing");\r
2 Clazz.load (["javax.swing.AbstractSpinnerModel"], "javax.swing.SpinnerListModel", ["java.lang.IllegalArgumentException", "java.util.Arrays"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.list = null;\r
5 this.index = 0;\r
6 Clazz.instantialize (this, arguments);\r
7 }, javax.swing, "SpinnerListModel", javax.swing.AbstractSpinnerModel);\r
8 Clazz.makeConstructor (c$, \r
9 function (values) {\r
10 Clazz.superConstructor (this, javax.swing.SpinnerListModel, []);\r
11 if (values == null || values.size () == 0) {\r
12 throw  new IllegalArgumentException ("SpinnerListModel(List) expects non-null non-empty List");\r
13 }this.list = values;\r
14 this.index = 0;\r
15 }, "java.util.List");\r
16 Clazz.makeConstructor (c$, \r
17 function (values) {\r
18 Clazz.superConstructor (this, javax.swing.SpinnerListModel, []);\r
19 if (values == null || values.length == 0) {\r
20 throw  new IllegalArgumentException ("SpinnerListModel(Object[]) expects non-null non-empty Object[]");\r
21 }this.list = java.util.Arrays.asList (values);\r
22 this.index = 0;\r
23 }, "~A");\r
24 Clazz.makeConstructor (c$, \r
25 function () {\r
26 this.construct ( Clazz.newArray (-1, ["empty"]));\r
27 });\r
28 Clazz.defineMethod (c$, "getList", \r
29 function () {\r
30 return this.list;\r
31 });\r
32 Clazz.defineMethod (c$, "setList", \r
33 function (list) {\r
34 if ((list == null) || (list.size () == 0)) {\r
35 throw  new IllegalArgumentException ("invalid list");\r
36 }if (!list.equals (this.list)) {\r
37 this.list = list;\r
38 this.index = 0;\r
39 this.fireStateChanged ();\r
40 }}, "java.util.List");\r
41 Clazz.overrideMethod (c$, "getValue", \r
42 function () {\r
43 return this.list.get (this.index);\r
44 });\r
45 Clazz.overrideMethod (c$, "setValue", \r
46 function (elt) {\r
47 var index = this.list.indexOf (elt);\r
48 if (index == -1) {\r
49 throw  new IllegalArgumentException ("invalid sequence element");\r
50 } else if (index != this.index) {\r
51 this.index = index;\r
52 this.fireStateChanged ();\r
53 }}, "~O");\r
54 Clazz.overrideMethod (c$, "getNextValue", \r
55 function () {\r
56 return (this.index >= (this.list.size () - 1)) ? null : this.list.get (this.index + 1);\r
57 });\r
58 Clazz.overrideMethod (c$, "getPreviousValue", \r
59 function () {\r
60 return (this.index <= 0) ? null : this.list.get (this.index - 1);\r
61 });\r
62 Clazz.defineMethod (c$, "findNextMatch", \r
63 function (substring) {\r
64 var max = this.list.size ();\r
65 if (max == 0) {\r
66 return null;\r
67 }var counter = this.index;\r
68 do {\r
69 var value = this.list.get (counter);\r
70 var string = value.toString ();\r
71 if (string != null && string.startsWith (substring)) {\r
72 return value;\r
73 }counter = (counter + 1) % max;\r
74 } while (counter != this.index);\r
75 return null;\r
76 }, "~S");\r
77 });\r