Statistics
| Revision:

root / branches / CqCMSDvp / libraries / libCq CMS for java.old / src / org / cresques / ui / raster / EnhancedPanel.java @ 2170

History | View | Annotate | Download (11.5 KB)

1
/*
2
 * Created on 17-feb-2004
3
 *
4
 * To change the template for this generated file go to
5
 * Window>Preferences>Java>Code Generation>Code and Comments
6
 */
7
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
8
 *
9
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
10
 *
11
 * This program is free software; you can redistribute it and/or
12
 * modify it under the terms of the GNU General Public License
13
 * as published by the Free Software Foundation; either version 2
14
 * of the License, or (at your option) any later version.
15
 *
16
 * This program is distributed in the hope that it will be useful,
17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
 * GNU General Public License for more details.
20
 *
21
 * You should have received a copy of the GNU General Public License
22
 * along with this program; if not, write to the Free Software
23
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
24
 *
25
 * For more information, contact:
26
 *
27
 *  Generalitat Valenciana
28
 *   Conselleria d'Infraestructures i Transport
29
 *   Av. Blasco Ib??ez, 50
30
 *   46010 VALENCIA
31
 *   SPAIN
32
 *
33
 *      +34 963862235
34
 *   gvsig@gva.es
35
 *      www.gvsig.gva.es
36
 *
37
 *    or
38
 *
39
 *   IVER T.I. S.A
40
 *   Salamanca 50
41
 *   46005 Valencia
42
 *   Spain
43
 *
44
 *   +34 963163400
45
 *   dac@iver.es
46
 */
47
package org.cresques.ui.raster;
48

    
49
import java.awt.BorderLayout;
50

    
51
import javax.swing.JPanel;
52

    
53
import org.cresques.ui.raster.FilterRasterDialogPanel;
54

    
55
import java.awt.Canvas;
56
import java.awt.Dimension;
57
import java.awt.Graphics;
58
import java.awt.GridBagLayout;
59
import java.awt.GridBagConstraints;
60
import java.awt.Image;
61
import java.awt.Toolkit;
62

    
63
import javax.swing.ButtonGroup;
64
import javax.swing.ImageIcon;
65
import javax.swing.JRadioButton;
66
import javax.swing.JCheckBox;
67
import javax.swing.JLabel;
68
import javax.swing.JButton;
69
import javax.swing.JSlider;
70
import javax.swing.JTextField;
71
import java.awt.FlowLayout;
72
/**
73
 * 
74
 * @author Nacho Brodin <brodin_ign@gva.es>
75
 *
76
 */
77
public class EnhancedPanel extends JPanel{
78
        
79
        public String nom = "Realce";
80
        FilterRasterDialogPanel parent = null;
81
                
82
        private JPanel jPanel = null;
83
        private JPanel jPanel1 = null;
84
        private JPanel jPanel2 = null;
85
        private JPanel jPanel3 = null;
86
        private JRadioButton jRadioButton = null;
87
        private JRadioButton jRadioButton1 = null;
88
        private JCheckBox jCheckBox = null;
89
        public JLabel jLabel = null;
90
        public JLabel jLabel2 = null;
91
        public JPanel jPanel4 = null;
92
        private        ButtonGroup grupo= new ButtonGroup();
93
        private Image iconoLineal = null;
94
        private Image iconoSinRealce = null;
95
        
96
        private JPanel jPanel5 = null;
97
        private JSlider jSlider = null;
98
        private JTextField jTextField = null;
99
        
100
        
101
        private JPanel jPanel6 = null;
102
        private JCheckBox jCheckBox1 = null;
103
        public JLabel jLabel4 = null;
104
        public JPanel jPanel7 = null;
105
        public JLabel jLabel1 = null;
106
        public JPanel jPanel8 = null;
107
        public JPanel jPanel9 = null;
108
        public JLabel jLabel5 = null;
109
        public EnhancedPanel(FilterRasterDialogPanel parent){
110
                this.parent = parent;
111
                
112
                initialize();
113
        }                
114

    
115
        /**
116
         * This method initializes this
117
         * 
118
         * @return void
119
         */
120
        private void initialize() {
121
        this.setLayout(new BorderLayout());
122
        this.setSize(445, 239);
123
        this.setPreferredSize(new java.awt.Dimension(445,239));
124
        this.add(getJPanel(), java.awt.BorderLayout.CENTER);
125
        
126
               initControls();
127
        }
128
        
129
        /**
130
         * Inicializa controles a sus valores por defecto
131
         */
132
        public void initControls(){
133
                jRadioButton1.setSelected(true);
134
                this.getTailText().setText("0.0");
135
                this.getTailSlider().setValue(0);
136
                this.setActiveTailControl(false);
137
                this.getTailCheck().setEnabled(false);
138
                this.getRemoveCheck().setEnabled(false);
139
        }
140
        
141
        
142
        /**
143
         * This method initializes jPanel        
144
         *         
145
         * @return javax.swing.JPanel        
146
         */    
147
        private JPanel getJPanel() {
148
                if (jPanel == null) {
149
                        FlowLayout flowLayout2 = new FlowLayout();
150
                        GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
151
                        jPanel = new JPanel();
152
                        jPanel.setLayout(flowLayout2);
153
                        gridBagConstraints4.gridx = 0;
154
                        gridBagConstraints4.gridy = 0;
155
                        jPanel.setPreferredSize(new java.awt.Dimension(445,239));
156
                        flowLayout2.setAlignment(java.awt.FlowLayout.CENTER);
157
                        jPanel.add(getJPanel4(), null);
158
                        jPanel.add(getJPanel8(), null);
159
                }
160
                return jPanel;
161
        }
162
        /**
163
         * This method initializes jPanel1        
164
         *         
165
         * @return javax.swing.JPanel        
166
         */    
167
        private JPanel getJPanel1() {
168
                if (jPanel1 == null) {
169
                        jLabel  = new JLabel("Lineal directo",new ImageIcon("images/lineal.gif"), JLabel.CENTER);
170
                        jPanel1 = new JPanel();
171
                        jPanel1.setLayout(new BorderLayout());
172
                        jPanel1.add(getLinealDirectoRadioButton(), java.awt.BorderLayout.WEST);
173
                        jPanel1.add(jLabel, java.awt.BorderLayout.EAST);
174
                }
175
                return jPanel1;
176
        }
177
        /**
178
         * This method initializes jPanel2        
179
         *         
180
         * @return javax.swing.JPanel        
181
         */    
182
        private JPanel getJPanel2() {
183
                if (jPanel2 == null) {
184
                        jPanel2 = new JPanel();
185
                        jPanel2.setLayout(new BorderLayout());
186
                        jPanel2.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Color.gray,1));
187
                        jPanel2.setPreferredSize(new java.awt.Dimension(220,95));
188
                        jPanel2.add(getJPanel5(), java.awt.BorderLayout.CENTER);
189
                        jPanel2.add(getJPanel6(), java.awt.BorderLayout.SOUTH);
190
                        jPanel2.add(getJPanel7(), java.awt.BorderLayout.NORTH);
191
                }
192
                return jPanel2;
193
        }
194
        /**
195
         * This method initializes jPanel3        
196
         *         
197
         * @return javax.swing.JPanel        
198
         */    
199
        private JPanel getJPanel3() {
200
                if (jPanel3 == null) {
201
                        jLabel2 = new JLabel("Sin Realce",new ImageIcon("images/sinrealce.gif"), JLabel.CENTER);
202
                        jPanel3 = new JPanel();
203
                        jPanel3.setLayout(new BorderLayout());
204
                        jPanel3.add(getSinRealceRadioButton(), java.awt.BorderLayout.WEST);
205
                        jPanel3.add(jLabel2, java.awt.BorderLayout.EAST);
206
                }
207
                return jPanel3;
208
        }
209
        /**
210
         * This method initializes jRadioButton        
211
         *         
212
         * @return javax.swing.JRadioButton        
213
         */    
214
        public JRadioButton getLinealDirectoRadioButton() {
215
                if (jRadioButton == null) {
216
                        jRadioButton = new JRadioButton();
217
                        grupo.add(jRadioButton);
218
                }
219
                return jRadioButton;
220
        }
221
        /**
222
         * This method initializes jRadioButton1        
223
         *         
224
         * @return javax.swing.JRadioButton        
225
         */    
226
        public JRadioButton getSinRealceRadioButton() {
227
                if (jRadioButton1 == null) {
228
                        jRadioButton1 = new JRadioButton();
229
                        jRadioButton1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
230
                        grupo.add(jRadioButton1);
231
                }
232
                return jRadioButton1;
233
        }
234
        /**
235
         * This method initializes jCheckBox        
236
         *         
237
         * @return javax.swing.JCheckBox        
238
         */    
239
        public JCheckBox getTailCheck() {
240
                if (jCheckBox == null) {
241
                        jCheckBox = new JCheckBox();
242
                }
243
                return jCheckBox;
244
        }
245
        /**
246
         * This method initializes jPanel4        
247
         *         
248
         * @return javax.swing.JPanel        
249
         */    
250
        private JPanel getJPanel4() {
251
                if (jPanel4 == null) {
252
                        GridBagConstraints gridBagConstraints10 = new GridBagConstraints();
253
                        GridBagConstraints gridBagConstraints9 = new GridBagConstraints();
254
                        jPanel4 = new JPanel();
255
                        jPanel4.setLayout(new GridBagLayout());
256
                        gridBagConstraints9.gridx = 0;
257
                        gridBagConstraints9.gridy = 0;
258
                        gridBagConstraints9.insets = new java.awt.Insets(5,0,5,2);
259
                        gridBagConstraints9.anchor = java.awt.GridBagConstraints.WEST;
260
                        gridBagConstraints10.gridx = 0;
261
                        gridBagConstraints10.gridy = 1;
262
                        gridBagConstraints10.insets = new java.awt.Insets(5,0,5,5);
263
                        jPanel4.setBorder(javax.swing.BorderFactory.createEmptyBorder(0,0,0,0));
264
                        jPanel4.setPreferredSize(new java.awt.Dimension(175,200));
265
                        jPanel4.add(getJPanel3(), gridBagConstraints9);
266
                        jPanel4.add(getJPanel1(), gridBagConstraints10);
267
                }
268
                return jPanel4;
269
        }
270
        
271
        
272
        /**
273
         * This method initializes jPanel5        
274
         *         
275
         * @return javax.swing.JPanel        
276
         */    
277
        private JPanel getJPanel5() {
278
                if (jPanel5 == null) {
279
                        jPanel5 = new JPanel();
280
                        jPanel5.add(getTailSlider(), null);
281
                }
282
                return jPanel5;
283
        }
284
        /**
285
         * This method initializes jSlider        
286
         *         
287
         * @return javax.swing.JSlider        
288
         */    
289
        public JSlider getTailSlider() {
290
                if (jSlider == null) {
291
                        jSlider = new JSlider();
292
                        jSlider.setPreferredSize(new java.awt.Dimension(240,16));
293
                }
294
                return jSlider;
295
        }
296
        /**
297
         * This method initializes jTextField        
298
         *         
299
         * @return javax.swing.JTextField        
300
         */    
301
        public JTextField getTailText() {
302
                if (jTextField == null) {
303
                        jTextField = new JTextField();
304
                        jTextField.setPreferredSize(new java.awt.Dimension(40,19));
305
                        jTextField.setText("0.0");
306
                }
307
                return jTextField;
308
        }
309
        
310
        /**
311
         * Activa/Desactiva los controles de Recorte de colas
312
         * @param active
313
         */
314
        public void setActiveTailControl(boolean active){
315
                this.getTailSlider().setEnabled(active);
316
                this.getTailText().setEnabled(active);
317
        }
318
        
319
        /**
320
         * Asigna el procentaje de recorte de colas aplicado
321
         * @param tail
322
         */
323
        public void setPercentTail(int tail){
324
                jTextField.setText(String.valueOf(tail));
325
                jSlider.setValue(tail);
326
        }
327
                
328
        /**
329
         * Asigna el filtro seleccionado cuando se abre el dialogo
330
         * @param filter
331
         */
332
        public void setSelectedFilter(int filter){
333
                switch(filter){
334
                        case 0:        jRadioButton1.setSelected(true);         //Sin realce
335
                                        jCheckBox.setEnabled(false);
336
                                        setActiveTailControl(false);
337
                                        this.getRemoveCheck().setEnabled(false);
338
                                        break;
339
                        case 1: 
340
                                        this.getRemoveCheck().setSelected(true);
341
                                        
342
                        case 2:        jRadioButton.setSelected(true);                //Realce lineal
343
                                        this.getTailCheck().setEnabled(true);
344
                                        this.getRemoveCheck().setEnabled(true);
345
                                        if(!this.getTailText().getText().equals("") && !this.getTailText().getText().equals("0.0")){
346
                                                this.getTailCheck().setSelected(true);
347
                                                this.setActiveTailControl(true);
348
                                        }
349
                                        break;
350
                }
351
        }
352
        
353
        /**
354
         * This method initializes jPanel6        
355
         *         
356
         * @return javax.swing.JPanel        
357
         */    
358
        private JPanel getJPanel6() {
359
                if (jPanel6 == null) {
360
                        FlowLayout flowLayout3 = new FlowLayout();
361
                        jLabel4 = new JLabel();
362
                        jPanel6 = new JPanel();
363
                        jPanel6.setLayout(flowLayout3);
364
                        jLabel4.setText("% recorte");
365
                        flowLayout3.setAlignment(java.awt.FlowLayout.LEFT);
366
                        jPanel6.add(getTailText(), null);
367
                        jPanel6.add(jLabel4, null);
368
                }
369
                return jPanel6;
370
        }
371
        /**
372
         * This method initializes jCheckBox1        
373
         *         
374
         * @return javax.swing.JCheckBox        
375
         */    
376
        public JCheckBox getRemoveCheck() {
377
                if (jCheckBox1 == null) {
378
                        jCheckBox1 = new JCheckBox();
379
                }
380
                return jCheckBox1;
381
        }
382
        /**
383
         * This method initializes jPanel7        
384
         *         
385
         * @return javax.swing.JPanel        
386
         */    
387
        private JPanel getJPanel7() {
388
                if (jPanel7 == null) {
389
                        jLabel1 = new JLabel();
390
                        FlowLayout flowLayout1 = new FlowLayout();
391
                        jPanel7 = new JPanel();
392
                        jPanel7.setLayout(flowLayout1);
393
                        jLabel1.setText("Recorte de colas");
394
                        flowLayout1.setAlignment(java.awt.FlowLayout.LEFT);
395
                        jPanel7.add(getTailCheck(), null);
396
                        jPanel7.add(jLabel1, null);
397
                }
398
                return jPanel7;
399
        }
400
        /**
401
         * This method initializes jPanel8        
402
         *         
403
         * @return javax.swing.JPanel        
404
         */    
405
        private JPanel getJPanel8() {
406
                if (jPanel8 == null) {
407
                        jPanel8 = new JPanel();
408
                        jPanel8.setLayout(new BorderLayout());
409
                        jPanel8.setPreferredSize(new java.awt.Dimension(250,130));
410
                        jPanel8.add(getJPanel2(), java.awt.BorderLayout.SOUTH);
411
                        jPanel8.add(getJPanel9(), java.awt.BorderLayout.NORTH);
412
                }
413
                return jPanel8;
414
        }
415
        /**
416
         * This method initializes jPanel9        
417
         *         
418
         * @return javax.swing.JPanel        
419
         */    
420
        private JPanel getJPanel9() {
421
                if (jPanel9 == null) {
422
                        jLabel5 = new JLabel();
423
                        FlowLayout flowLayout11 = new FlowLayout();
424
                        jPanel9 = new JPanel();
425
                        jPanel9.setLayout(flowLayout11);
426
                        jLabel5.setText("Eliminar Extremos");
427
                        flowLayout11.setAlignment(java.awt.FlowLayout.LEFT);
428
                        jPanel9.add(getRemoveCheck(), null);
429
                        jPanel9.add(jLabel5, null);
430
                }
431
                return jPanel9;
432
        }
433
     }  //  @jve:decl-index=0:visual-constraint="36,15"