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
7 this.sliderModel = null;
\r
8 this.controller = 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
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
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
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
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
67 return new java.awt.Dimension (2147483647, this.getPreferredSize ().height);
\r
69 Clazz.defineMethod (c$, "getMultiplier",
\r
71 return this.sliderModel.getMultiplier ();
\r
73 Clazz.defineMethod (c$, "getValue",
\r
75 return this.sliderModel.getDoubleValue ();
\r
77 Clazz.overrideMethod (c$, "stateChanged",
\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
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
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
104 return this.getPreferredSize ();
\r
106 Clazz.defineMethod (c$, "getPreferredSize",
\r
108 return new java.awt.Dimension (150, Clazz.superCall (this, swingjs.test.converter.ConversionPanel$1, "getPreferredSize", []).height);
\r
110 Clazz.overrideMethod (c$, "getMaximumSize",
\r
112 return this.getPreferredSize ();
\r
116 Clazz.defineStatics (c$,
\r
117 "MULTICOLORED", false,
\r