~ubuntu-branches/debian/stretch/insubstantial/stretch

« back to all changes in this revision

Viewing changes to substance/src/main/java/org/pushingpixels/substance/internal/contrib/randelshofer/quaqua/colorchooser/RGBChooser.java

  • Committer: Package Import Robot
  • Author(s): Felix Natter
  • Date: 2016-01-18 20:58:45 UTC
  • Revision ID: package-import@ubuntu.com-20160118205845-crbmrkda61qsi5qa
Tags: upstream-7.3+dfsg2
ImportĀ upstreamĀ versionĀ 7.3+dfsg2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * @(#)RGBChooser.java  1.3  2006-04-23
 
3
 *
 
4
 * Copyright (c) 2005-2006 Werner Randelshofer
 
5
 * Staldenmattweg 2, Immensee, CH-6405, Switzerland.
 
6
 * All rights reserved.
 
7
 *
 
8
 * This software is the confidential and proprietary information of
 
9
 * Werner Randelshofer. ("Confidential Information").  You shall not
 
10
 * disclose such Confidential Information and shall use it only in
 
11
 * accordance with the terms of the license agreement you entered into
 
12
 * with Werner Randelshofer.
 
13
 */
 
14
 
 
15
package org.pushingpixels.substance.internal.contrib.randelshofer.quaqua.colorchooser;
 
16
 
 
17
import java.awt.*;
 
18
import javax.swing.*;
 
19
import javax.swing.text.*;
 
20
import javax.swing.event.*;
 
21
import javax.swing.border.*;
 
22
import javax.swing.colorchooser.*;
 
23
import javax.swing.plaf.*;
 
24
 
 
25
import org.pushingpixels.substance.internal.contrib.randelshofer.quaqua.*;
 
26
import org.pushingpixels.substance.internal.contrib.randelshofer.quaqua.util.*;
 
27
 
 
28
/**
 
29
 * RGBChooser.
 
30
 *
 
31
 * @author  Werner Randelshofer
 
32
 * @version 1.3 2006-04-23 Retrieve labels directly from UIManager.
 
33
 * <br>1.2 2005-11-22 Moved handler for text fields into separate class.
 
34
 * <br>1.1.1 2005-11-07 Get "Labels" resource bundle from UIManager.
 
35
 * <br>1.1 2005-09-05 Get font, spacing and icon from UIManager.
 
36
 * <br>1.0  29 March 2005  Created.
 
37
 */
 
38
public class RGBChooser extends AbstractColorChooserPanel implements UIResource {
 
39
    private ColorSliderModel ccModel = new RGBColorSliderModel();
 
40
    
 
41
    /** Creates new form. */
 
42
    public RGBChooser() {
 
43
        initComponents();
 
44
        
 
45
        //
 
46
        Font font = UIManager.getFont("ColorChooser.font");
 
47
        redLabel.setFont(font);
 
48
        redSlider.setFont(font);
 
49
        redField.setFont(font);
 
50
        greenLabel.setFont(font);
 
51
        greenSlider.setFont(font);
 
52
        greenField.setFont(font);
 
53
        blueLabel.setFont(font);
 
54
        blueSlider.setFont(font);
 
55
        blueField.setFont(font);
 
56
        //
 
57
        int textSliderGap = UIManager.getInt("ColorChooser.textSliderGap");
 
58
        if (textSliderGap != 0) {
 
59
            Insets fieldInsets = new Insets(0,textSliderGap,0,0);
 
60
            GridBagLayout layout = (GridBagLayout) getLayout();
 
61
            GridBagConstraints gbc;
 
62
            gbc = layout.getConstraints(redField);
 
63
            gbc.insets = fieldInsets;
 
64
            layout.setConstraints(redField, gbc);
 
65
            gbc = layout.getConstraints(greenField);
 
66
            gbc.insets = fieldInsets;
 
67
            layout.setConstraints(greenField, gbc);
 
68
            gbc = layout.getConstraints(blueField);
 
69
            gbc.insets = fieldInsets;
 
70
            layout.setConstraints(blueField, gbc);
 
71
        }
 
72
        
 
73
        ccModel.configureColorSlider(0, redSlider);
 
74
        ccModel.configureColorSlider(1, greenSlider);
 
75
        ccModel.configureColorSlider(2, blueSlider);
 
76
        
 
77
        redField.setText(Integer.toString(redSlider.getValue()));
 
78
        greenField.setText(Integer.toString(greenSlider.getValue()));
 
79
        blueField.setText(Integer.toString(blueSlider.getValue()));
 
80
        
 
81
        new ColorSliderTextFieldHandler(redField, ccModel, 0);
 
82
        new ColorSliderTextFieldHandler(greenField, ccModel, 1);
 
83
        new ColorSliderTextFieldHandler(blueField, ccModel, 2);
 
84
 
 
85
        ccModel.addChangeListener(new ChangeListener() {
 
86
            @Override
 
87
            public void stateChanged(ChangeEvent evt) {
 
88
                setColorToModel(ccModel.getColor());
 
89
            }
 
90
        });
 
91
        redField.setMinimumSize(redField.getPreferredSize());
 
92
        greenField.setMinimumSize(greenField.getPreferredSize());
 
93
        blueField.setMinimumSize(blueField.getPreferredSize());
 
94
        VisualMargin bm = new VisualMargin(false,false,true,false);
 
95
        redLabel.setBorder(bm);
 
96
        greenLabel.setBorder(bm);
 
97
        blueLabel.setBorder(bm);
 
98
    }
 
99
    @Override
 
100
    protected void buildChooser() {
 
101
    }
 
102
    
 
103
    @Override
 
104
    public String getDisplayName() {
 
105
        return UIManager.getString("ColorChooser.rgbSliders");
 
106
    }
 
107
    
 
108
    @Override
 
109
    public Icon getLargeDisplayIcon() {
 
110
        return UIManager.getIcon("ColorChooser.colorSlidersIcon");
 
111
    }
 
112
    
 
113
    @Override
 
114
    public Icon getSmallDisplayIcon() {
 
115
        return getLargeDisplayIcon();
 
116
    }
 
117
    
 
118
    @Override
 
119
    public void updateChooser() {
 
120
        ccModel.setColor(getColorFromModel());
 
121
    }
 
122
    public void setColorToModel(Color color) {
 
123
        getColorSelectionModel().setSelectedColor(color);
 
124
    }
 
125
    
 
126
    
 
127
    /** This method is called from within the constructor to
 
128
     * initialize the form.
 
129
     * WARNING: Do NOT modify this code. The content of this method is
 
130
     * always regenerated by the Form Editor.
 
131
     */
 
132
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
 
133
    private void initComponents() {
 
134
        java.awt.GridBagConstraints gridBagConstraints;
 
135
 
 
136
        redLabel = new javax.swing.JLabel();
 
137
        redSlider = new javax.swing.JSlider();
 
138
        redField = new javax.swing.JTextField();
 
139
        greenLabel = new javax.swing.JLabel();
 
140
        greenSlider = new javax.swing.JSlider();
 
141
        greenField = new javax.swing.JTextField();
 
142
        blueLabel = new javax.swing.JLabel();
 
143
        blueSlider = new javax.swing.JSlider();
 
144
        blueField = new javax.swing.JTextField();
 
145
        springPanel = new javax.swing.JPanel();
 
146
 
 
147
        setLayout(new java.awt.GridBagLayout());
 
148
 
 
149
        redLabel.setText(UIManager.getString("ColorChooser.rgbRedText"));
 
150
        gridBagConstraints = new java.awt.GridBagConstraints();
 
151
        gridBagConstraints.gridx = 0;
 
152
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
 
153
        gridBagConstraints.insets = new java.awt.Insets(1, 0, 0, 0);
 
154
        add(redLabel, gridBagConstraints);
 
155
 
 
156
        redSlider.setMajorTickSpacing(255);
 
157
        redSlider.setMaximum(255);
 
158
        redSlider.setMinorTickSpacing(128);
 
159
        redSlider.setPaintTicks(true);
 
160
        gridBagConstraints = new java.awt.GridBagConstraints();
 
161
        gridBagConstraints.gridx = 0;
 
162
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
 
163
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH;
 
164
        gridBagConstraints.weightx = 1.0;
 
165
        add(redSlider, gridBagConstraints);
 
166
 
 
167
        redField.setColumns(3);
 
168
        redField.setHorizontalAlignment(javax.swing.JTextField.TRAILING);
 
169
        redField.setText("0");
 
170
        redField.addFocusListener(new java.awt.event.FocusAdapter() {
 
171
            @Override
 
172
            public void focusLost(java.awt.event.FocusEvent evt) {
 
173
                redFieldFocusLost(evt);
 
174
            }
 
175
        });
 
176
 
 
177
        gridBagConstraints = new java.awt.GridBagConstraints();
 
178
        gridBagConstraints.gridx = 1;
 
179
        gridBagConstraints.gridheight = 2;
 
180
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH;
 
181
        add(redField, gridBagConstraints);
 
182
 
 
183
        greenLabel.setText(UIManager.getString("ColorChooser.rgbGreenText"));
 
184
        gridBagConstraints = new java.awt.GridBagConstraints();
 
185
        gridBagConstraints.gridx = 0;
 
186
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
 
187
        gridBagConstraints.insets = new java.awt.Insets(1, 0, 0, 0);
 
188
        add(greenLabel, gridBagConstraints);
 
189
 
 
190
        greenSlider.setMajorTickSpacing(255);
 
191
        greenSlider.setMaximum(255);
 
192
        greenSlider.setMinorTickSpacing(128);
 
193
        greenSlider.setPaintTicks(true);
 
194
        gridBagConstraints = new java.awt.GridBagConstraints();
 
195
        gridBagConstraints.gridx = 0;
 
196
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
 
197
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH;
 
198
        gridBagConstraints.weightx = 1.0;
 
199
        add(greenSlider, gridBagConstraints);
 
200
 
 
201
        greenField.setColumns(3);
 
202
        greenField.setHorizontalAlignment(javax.swing.JTextField.TRAILING);
 
203
        greenField.setText("0");
 
204
        greenField.addFocusListener(new java.awt.event.FocusAdapter() {
 
205
            @Override
 
206
            public void focusLost(java.awt.event.FocusEvent evt) {
 
207
                greenFieldFocusLost(evt);
 
208
            }
 
209
        });
 
210
 
 
211
        gridBagConstraints = new java.awt.GridBagConstraints();
 
212
        gridBagConstraints.gridx = 1;
 
213
        gridBagConstraints.gridheight = 2;
 
214
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH;
 
215
        add(greenField, gridBagConstraints);
 
216
 
 
217
        blueLabel.setText(UIManager.getString("ColorChooser.rgbBlueText"));
 
218
        gridBagConstraints = new java.awt.GridBagConstraints();
 
219
        gridBagConstraints.gridx = 0;
 
220
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
 
221
        gridBagConstraints.insets = new java.awt.Insets(1, 0, 0, 0);
 
222
        add(blueLabel, gridBagConstraints);
 
223
 
 
224
        blueSlider.setMajorTickSpacing(255);
 
225
        blueSlider.setMaximum(255);
 
226
        blueSlider.setMinorTickSpacing(128);
 
227
        blueSlider.setPaintTicks(true);
 
228
        gridBagConstraints = new java.awt.GridBagConstraints();
 
229
        gridBagConstraints.gridx = 0;
 
230
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
 
231
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH;
 
232
        gridBagConstraints.weightx = 1.0;
 
233
        add(blueSlider, gridBagConstraints);
 
234
 
 
235
        blueField.setColumns(3);
 
236
        blueField.setHorizontalAlignment(javax.swing.JTextField.TRAILING);
 
237
        blueField.setText("0");
 
238
        blueField.addFocusListener(new java.awt.event.FocusAdapter() {
 
239
            @Override
 
240
            public void focusLost(java.awt.event.FocusEvent evt) {
 
241
                blueFieldFocusLost(evt);
 
242
            }
 
243
        });
 
244
 
 
245
        gridBagConstraints = new java.awt.GridBagConstraints();
 
246
        gridBagConstraints.gridx = 1;
 
247
        gridBagConstraints.gridheight = 2;
 
248
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH;
 
249
        add(blueField, gridBagConstraints);
 
250
 
 
251
        springPanel.setLayout(new java.awt.BorderLayout());
 
252
 
 
253
        gridBagConstraints = new java.awt.GridBagConstraints();
 
254
        gridBagConstraints.gridx = 0;
 
255
        gridBagConstraints.gridy = 100;
 
256
        gridBagConstraints.weighty = 1.0;
 
257
        add(springPanel, gridBagConstraints);
 
258
 
 
259
    }// </editor-fold>//GEN-END:initComponents
 
260
 
 
261
    private void blueFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_blueFieldFocusLost
 
262
     blueField.setText(Integer.toString(ccModel.getValue(2)));
 
263
    }//GEN-LAST:event_blueFieldFocusLost
 
264
 
 
265
    private void greenFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_greenFieldFocusLost
 
266
      greenField.setText(Integer.toString(ccModel.getValue(1)));
 
267
    }//GEN-LAST:event_greenFieldFocusLost
 
268
 
 
269
    private void redFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_redFieldFocusLost
 
270
       redField.setText(Integer.toString(ccModel.getValue(0)));
 
271
    }//GEN-LAST:event_redFieldFocusLost
 
272
                
 
273
    
 
274
    // Variables declaration - do not modify//GEN-BEGIN:variables
 
275
    private javax.swing.JTextField blueField;
 
276
    private javax.swing.JLabel blueLabel;
 
277
    private javax.swing.JSlider blueSlider;
 
278
    private javax.swing.JTextField greenField;
 
279
    private javax.swing.JLabel greenLabel;
 
280
    private javax.swing.JSlider greenSlider;
 
281
    private javax.swing.JTextField redField;
 
282
    private javax.swing.JLabel redLabel;
 
283
    private javax.swing.JSlider redSlider;
 
284
    private javax.swing.JPanel springPanel;
 
285
    // End of variables declaration//GEN-END:variables
 
286
    
 
287
}