JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / swingjs / j2s / swingjs / test / converter / ConversionPanel.js
1 Clazz.declarePackage ("swingjs.test.converter");\r
2 Clazz.load (["java.awt.event.ActionListener", "java.beans.PropertyChangeListener", "javax.swing.JPanel", "javax.swing.event.ChangeListener"], "swingjs.test.converter.ConversionPanel", ["java.awt.Color", "$.Dimension", "java.lang.Double", "java.text.NumberFormat", "javax.swing.BorderFactory", "$.Box", "$.BoxLayout", "$.JComboBox", "$.JFormattedTextField", "$.JSlider", "javax.swing.text.NumberFormatter"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.textField = null;\r
5 this.unitChooser = null;\r
6 this.slider = null;\r
7 this.sliderModel = null;\r
8 this.controller = null;\r
9 this.units = null;\r
10 this.title = null;\r
11 this.numberFormat = null;\r
12 this.formatter = null;\r
13 Clazz.instantialize (this, arguments);\r
14 }, swingjs.test.converter, "ConversionPanel", javax.swing.JPanel, [java.awt.event.ActionListener, javax.swing.event.ChangeListener, java.beans.PropertyChangeListener]);\r
15 Clazz.makeConstructor (c$, \r
16 function (myController, myTitle, myUnits, myModel) {\r
17 Clazz.superConstructor (this, swingjs.test.converter.ConversionPanel, []);\r
18 if (false) {\r
19 this.setOpaque (true);\r
20 this.setBackground ( new java.awt.Color (0, 255, 255));\r
21 }this.setBorder (javax.swing.BorderFactory.createCompoundBorder (javax.swing.BorderFactory.createTitledBorder (myTitle), javax.swing.BorderFactory.createEmptyBorder (5, 5, 5, 5)));\r
22 this.controller = myController;\r
23 this.units = myUnits;\r
24 this.title = myTitle;\r
25 this.sliderModel = myModel;\r
26 this.numberFormat = java.text.NumberFormat.getNumberInstance ();\r
27 this.numberFormat.setMaximumFractionDigits (2);\r
28 this.formatter =  new javax.swing.text.NumberFormatter (this.numberFormat);\r
29 this.formatter.setAllowsInvalid (false);\r
30 this.formatter.setCommitsOnValidEdit (true);\r
31 this.textField =  new javax.swing.JFormattedTextField (this.formatter);\r
32 this.textField.setColumns (10);\r
33 this.textField.setValue ( new Double (this.sliderModel.getDoubleValue ()));\r
34 this.textField.addPropertyChangeListener (this);\r
35 this.unitChooser =  new javax.swing.JComboBox ();\r
36 for (var i = 0; i < this.units.length; i++) {\r
37 this.unitChooser.addItem (this.units[i].description);\r
38 }\r
39 this.unitChooser.setSelectedIndex (0);\r
40 this.sliderModel.setMultiplier (this.units[0].multiplier);\r
41 this.unitChooser.addActionListener (this);\r
42 this.slider =  new javax.swing.JSlider (this.sliderModel);\r
43 this.sliderModel.addChangeListener (this);\r
44 var unitGroup = ((Clazz.isClassDefined ("swingjs.test.converter.ConversionPanel$1") ? 0 : swingjs.test.converter.ConversionPanel.$ConversionPanel$1$ ()), Clazz.innerTypeInstance (swingjs.test.converter.ConversionPanel$1, this, null));\r
45 unitGroup.setLayout ( new javax.swing.BoxLayout (unitGroup, 3));\r
46 if (false) {\r
47 unitGroup.setOpaque (true);\r
48 unitGroup.setBackground ( new java.awt.Color (0, 0, 255));\r
49 }unitGroup.setBorder (javax.swing.BorderFactory.createEmptyBorder (0, 0, 0, 5));\r
50 unitGroup.add (this.textField);\r
51 unitGroup.add (this.slider);\r
52 var chooserPanel =  new javax.swing.JPanel ();\r
53 chooserPanel.setLayout ( new javax.swing.BoxLayout (chooserPanel, 3));\r
54 if (false) {\r
55 chooserPanel.setOpaque (true);\r
56 chooserPanel.setBackground ( new java.awt.Color (255, 0, 255));\r
57 }chooserPanel.add (this.unitChooser);\r
58 chooserPanel.add (javax.swing.Box.createHorizontalStrut (100));\r
59 this.setLayout ( new javax.swing.BoxLayout (this, 2));\r
60 this.add (unitGroup);\r
61 this.add (chooserPanel);\r
62 unitGroup.setAlignmentY (0.0);\r
63 chooserPanel.setAlignmentY (0.0);\r
64 }, "swingjs.test.converter.Converter,~S,~A,swingjs.test.converter.ConverterRangeModel");\r
65 Clazz.overrideMethod (c$, "getMaximumSize", \r
66 function () {\r
67 return  new java.awt.Dimension (2147483647, this.getPreferredSize ().height);\r
68 });\r
69 Clazz.defineMethod (c$, "getMultiplier", \r
70 function () {\r
71 return this.sliderModel.getMultiplier ();\r
72 });\r
73 Clazz.defineMethod (c$, "getValue", \r
74 function () {\r
75 return this.sliderModel.getDoubleValue ();\r
76 });\r
77 Clazz.overrideMethod (c$, "stateChanged", \r
78 function (e) {\r
79 var min = this.sliderModel.getMinimum ();\r
80 var max = this.sliderModel.getMaximum ();\r
81 var value = this.sliderModel.getDoubleValue ();\r
82 var formatter = this.textField.getFormatter ();\r
83 formatter.setMinimum ( new Double (min));\r
84 formatter.setMaximum ( new Double (max));\r
85 this.textField.setValue ( new Double (value));\r
86 }, "javax.swing.event.ChangeEvent");\r
87 Clazz.overrideMethod (c$, "actionPerformed", \r
88 function (e) {\r
89 var i = this.unitChooser.getSelectedIndex ();\r
90 this.sliderModel.setMultiplier (this.units[i].multiplier);\r
91 this.controller.resetMaxValues (false);\r
92 }, "java.awt.event.ActionEvent");\r
93 Clazz.overrideMethod (c$, "propertyChange", \r
94 function (e) {\r
95 if ("value".equals (e.getPropertyName ())) {\r
96 var value = e.getNewValue ();\r
97 this.sliderModel.setDoubleValue (value.doubleValue ());\r
98 }}, "java.beans.PropertyChangeEvent");\r
99 c$.$ConversionPanel$1$ = function () {\r
100 Clazz.pu$h(self.c$);\r
101 c$ = Clazz.declareAnonymous (swingjs.test.converter, "ConversionPanel$1", javax.swing.JPanel);\r
102 Clazz.overrideMethod (c$, "getMinimumSize", \r
103 function () {\r
104 return this.getPreferredSize ();\r
105 });\r
106 Clazz.defineMethod (c$, "getPreferredSize", \r
107 function () {\r
108 return  new java.awt.Dimension (150, Clazz.superCall (this, swingjs.test.converter.ConversionPanel$1, "getPreferredSize", []).height);\r
109 });\r
110 Clazz.overrideMethod (c$, "getMaximumSize", \r
111 function () {\r
112 return this.getPreferredSize ();\r
113 });\r
114 c$ = Clazz.p0p ();\r
115 };\r
116 Clazz.defineStatics (c$,\r
117 "MULTICOLORED", false,\r
118 "MAX", 10000);\r
119 });\r