JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / swingjs / j2s / javax / swing / colorchooser / DefaultRGBChooserPanel.js
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
10 this.minValue = 0;\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
16 function () {\r
17 Clazz.superConstructor (this, javax.swing.colorchooser.DefaultRGBChooserPanel);\r
18 this.setInheritsPopupMenu (true);\r
19 });\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
36 function () {\r
37 return javax.swing.UIManager.getString ("ColorChooser.rgbNameText");\r
38 });\r
39 Clazz.overrideMethod (c$, "getMnemonic", \r
40 function () {\r
41 return javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbMnemonic", -1);\r
42 });\r
43 Clazz.overrideMethod (c$, "getDisplayedMnemonicIndex", \r
44 function () {\r
45 return javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbDisplayedMnemonicIndex", -1);\r
46 });\r
47 Clazz.overrideMethod (c$, "getSmallDisplayIcon", \r
48 function () {\r
49 return null;\r
50 });\r
51 Clazz.overrideMethod (c$, "getLargeDisplayIcon", \r
52 function () {\r
53 return null;\r
54 });\r
55 Clazz.overrideMethod (c$, "buildChooser", \r
56 function () {\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
68 enclosure.add (l);\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
86 enclosure.add (l);\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
104 enclosure.add (l);\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
126 });\r
127 Clazz.defineMethod (c$, "uninstallChooserPanel", \r
128 function (enclosingChooser) {\r
129 Clazz.superCall (this, javax.swing.colorchooser.DefaultRGBChooserPanel, "uninstallChooserPanel", [enclosingChooser]);\r
130 this.removeAll ();\r
131 }, "javax.swing.JColorChooser");\r
132 Clazz.overrideMethod (c$, "updateChooser", \r
133 function () {\r
134 if (!this.isAdjusting) {\r
135 this.isAdjusting = true;\r
136 this.setColor (this.getColorFromModel ());\r
137 this.isAdjusting = false;\r
138 }});\r
139 Clazz.overrideMethod (c$, "stateChanged", \r
140 function (e) {\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
154 });\r