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