Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / swingjs / j2s / javax / swing / colorchooser / DefaultRGBChooserPanel.js
1 Clazz.declarePackage ("javax.swing.colorchooser");
2 Clazz.load (["javax.swing.colorchooser.AbstractColorChooserPanel", "javax.swing.event.ChangeListener"], "javax.swing.colorchooser.DefaultRGBChooserPanel", ["java.lang.Boolean", "java.awt.BorderLayout", "$.Color", "javax.swing.JLabel", "$.JPanel", "$.JSlider", "$.JSpinner", "$.SpinnerNumberModel", "$.UIManager", "javax.swing.colorchooser.CenterLayout", "$.SmartGridLayout"], function () {
3 c$ = Clazz.decorateAsClass (function () {
4 this.redSlider = null;
5 this.greenSlider = null;
6 this.blueSlider = null;
7 this.redField = null;
8 this.blueField = null;
9 this.greenField = null;
10 this.minValue = 0;
11 this.maxValue = 255;
12 this.isAdjusting = false;
13 Clazz.instantialize (this, arguments);
14 }, javax.swing.colorchooser, "DefaultRGBChooserPanel", javax.swing.colorchooser.AbstractColorChooserPanel, javax.swing.event.ChangeListener);
15 Clazz.makeConstructor (c$, 
16 function () {
17 Clazz.superConstructor (this, javax.swing.colorchooser.DefaultRGBChooserPanel);
18 this.setInheritsPopupMenu (true);
19 });
20 Clazz.defineMethod (c$, "setColor", 
21  function (newColor) {
22 var red = newColor.getRed ();
23 var blue = newColor.getBlue ();
24 var green = newColor.getGreen ();
25 if (this.redSlider.getValue () != red) {
26 this.redSlider.setValue (red);
27 }if (this.greenSlider.getValue () != green) {
28 this.greenSlider.setValue (green);
29 }if (this.blueSlider.getValue () != blue) {
30 this.blueSlider.setValue (blue);
31 }if ((this.redField.getValue ()).intValue () != red) this.redField.setValue ( new Integer (red));
32 if ((this.greenField.getValue ()).intValue () != green) this.greenField.setValue ( new Integer (green));
33 if ((this.blueField.getValue ()).intValue () != blue) this.blueField.setValue ( new Integer (blue));
34 }, "java.awt.Color");
35 Clazz.overrideMethod (c$, "getDisplayName", 
36 function () {
37 return javax.swing.UIManager.getString ("ColorChooser.rgbNameText");
38 });
39 Clazz.overrideMethod (c$, "getMnemonic", 
40 function () {
41 return javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbMnemonic", -1);
42 });
43 Clazz.overrideMethod (c$, "getDisplayedMnemonicIndex", 
44 function () {
45 return javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbDisplayedMnemonicIndex", -1);
46 });
47 Clazz.overrideMethod (c$, "getSmallDisplayIcon", 
48 function () {
49 return null;
50 });
51 Clazz.overrideMethod (c$, "getLargeDisplayIcon", 
52 function () {
53 return null;
54 });
55 Clazz.overrideMethod (c$, "buildChooser", 
56 function () {
57 var redString = javax.swing.UIManager.getString ("ColorChooser.rgbRedText");
58 var greenString = javax.swing.UIManager.getString ("ColorChooser.rgbGreenText");
59 var blueString = javax.swing.UIManager.getString ("ColorChooser.rgbBlueText");
60 this.setLayout ( new java.awt.BorderLayout ());
61 var color = this.getColorFromModel ();
62 var enclosure =  new javax.swing.JPanel ();
63 enclosure.setLayout ( new javax.swing.colorchooser.SmartGridLayout (3, 3));
64 enclosure.setInheritsPopupMenu (true);
65 this.add (enclosure, "Center");
66 var l =  new javax.swing.JLabel (redString);
67 l.setDisplayedMnemonic (javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbRedMnemonic", -1));
68 enclosure.add (l);
69 this.redSlider =  new javax.swing.JSlider (0, 0, 255, color.getRed ());
70 this.redSlider.setMajorTickSpacing (85);
71 this.redSlider.setMinorTickSpacing (17);
72 this.redSlider.setPaintTicks (true);
73 this.redSlider.setPaintLabels (true);
74 this.redSlider.setInheritsPopupMenu (true);
75 enclosure.add (this.redSlider);
76 this.redField =  new javax.swing.JSpinner ( new javax.swing.SpinnerNumberModel (color.getRed (), 0, 255, 1));
77 l.setLabelFor (this.redSlider);
78 this.redField.setInheritsPopupMenu (true);
79 var redFieldHolder =  new javax.swing.JPanel ( new javax.swing.colorchooser.CenterLayout ());
80 redFieldHolder.setInheritsPopupMenu (true);
81 this.redField.addChangeListener (this);
82 redFieldHolder.add (this.redField);
83 enclosure.add (redFieldHolder);
84 l =  new javax.swing.JLabel (greenString);
85 l.setDisplayedMnemonic (javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbGreenMnemonic", -1));
86 enclosure.add (l);
87 this.greenSlider =  new javax.swing.JSlider (0, 0, 255, color.getGreen ());
88 this.greenSlider.setMajorTickSpacing (85);
89 this.greenSlider.setMinorTickSpacing (17);
90 this.greenSlider.setPaintTicks (true);
91 this.greenSlider.setPaintLabels (true);
92 this.greenSlider.setInheritsPopupMenu (true);
93 enclosure.add (this.greenSlider);
94 this.greenField =  new javax.swing.JSpinner ( new javax.swing.SpinnerNumberModel (color.getGreen (), 0, 255, 1));
95 l.setLabelFor (this.greenSlider);
96 this.greenField.setInheritsPopupMenu (true);
97 var greenFieldHolder =  new javax.swing.JPanel ( new javax.swing.colorchooser.CenterLayout ());
98 greenFieldHolder.add (this.greenField);
99 greenFieldHolder.setInheritsPopupMenu (true);
100 this.greenField.addChangeListener (this);
101 enclosure.add (greenFieldHolder);
102 l =  new javax.swing.JLabel (blueString);
103 l.setDisplayedMnemonic (javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbBlueMnemonic", -1));
104 enclosure.add (l);
105 this.blueSlider =  new javax.swing.JSlider (0, 0, 255, color.getBlue ());
106 this.blueSlider.setMajorTickSpacing (85);
107 this.blueSlider.setMinorTickSpacing (17);
108 this.blueSlider.setPaintTicks (true);
109 this.blueSlider.setPaintLabels (true);
110 this.blueSlider.setInheritsPopupMenu (true);
111 enclosure.add (this.blueSlider);
112 this.blueField =  new javax.swing.JSpinner ( new javax.swing.SpinnerNumberModel (color.getBlue (), 0, 255, 1));
113 l.setLabelFor (this.blueSlider);
114 this.blueField.setInheritsPopupMenu (true);
115 var blueFieldHolder =  new javax.swing.JPanel ( new javax.swing.colorchooser.CenterLayout ());
116 blueFieldHolder.add (this.blueField);
117 this.blueField.addChangeListener (this);
118 blueFieldHolder.setInheritsPopupMenu (true);
119 enclosure.add (blueFieldHolder);
120 this.redSlider.addChangeListener (this);
121 this.greenSlider.addChangeListener (this);
122 this.blueSlider.addChangeListener (this);
123 this.redSlider.putClientProperty ("JSlider.isFilled", Boolean.TRUE);
124 this.greenSlider.putClientProperty ("JSlider.isFilled", Boolean.TRUE);
125 this.blueSlider.putClientProperty ("JSlider.isFilled", Boolean.TRUE);
126 });
127 Clazz.defineMethod (c$, "uninstallChooserPanel", 
128 function (enclosingChooser) {
129 Clazz.superCall (this, javax.swing.colorchooser.DefaultRGBChooserPanel, "uninstallChooserPanel", [enclosingChooser]);
130 this.removeAll ();
131 }, "javax.swing.JColorChooser");
132 Clazz.overrideMethod (c$, "updateChooser", 
133 function () {
134 if (!this.isAdjusting) {
135 this.isAdjusting = true;
136 this.setColor (this.getColorFromModel ());
137 this.isAdjusting = false;
138 }});
139 Clazz.overrideMethod (c$, "stateChanged", 
140 function (e) {
141 if (Clazz.instanceOf (e.getSource (), javax.swing.JSlider) && !this.isAdjusting) {
142 var red = this.redSlider.getValue ();
143 var green = this.greenSlider.getValue ();
144 var blue = this.blueSlider.getValue ();
145 var color =  new java.awt.Color (red, green, blue);
146 this.getColorSelectionModel ().setSelectedColor (color);
147 } else if (Clazz.instanceOf (e.getSource (), javax.swing.JSpinner) && !this.isAdjusting) {
148 var red = (this.redField.getValue ()).intValue ();
149 var green = (this.greenField.getValue ()).intValue ();
150 var blue = (this.blueField.getValue ()).intValue ();
151 var color =  new java.awt.Color (red, green, blue);
152 this.getColorSelectionModel ().setSelectedColor (color);
153 }}, "javax.swing.event.ChangeEvent");
154 });