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