Statistics
| Revision:

root / branches / v2_0_0_prep / extensions / extGeocoding / src / org / gvsig / geocoding / gui / newpattern / DoubleRangePanel.java @ 27564

History | View | Annotate | Download (13.2 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

    
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2008 Prodevelop S.L. main developer
26
 */
27

    
28
package org.gvsig.geocoding.gui.newpattern;
29

    
30
import java.util.List;
31

    
32
import javax.swing.DefaultComboBoxModel;
33
import javax.swing.JComboBox;
34
import javax.swing.JLabel;
35
import javax.swing.JPanel;
36

    
37
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
38
import org.gvsig.geocoding.extension.GeocoController;
39
import org.gvsig.geocoding.utils.GeocoUtils;
40

    
41
import com.iver.andami.PluginServices;
42

    
43
/**
44
 * Double Range panel
45
 * 
46
 * @author <a href="mailto:jsanz@prodevelop.es"> Jorge Gaspar Sanz Salinas</a>
47
 * @author <a href="mailto:vsanjaime@prodevelop.es"> Vicente Sanjaime Calvet</a>
48
 */
49
public class DoubleRangePanel extends JPanel {
50

    
51
        private static final long serialVersionUID = 1L;
52

    
53
        private JComboBox jComboLeftFromNum;
54
        private JComboBox jComboLeftToNum;
55
        private JComboBox jComboRightFromNum;
56
        private JComboBox jComboRightToNum;
57
        private JLabel jLabLeftFromNum;
58
        private JLabel jLabLeftToNum;
59
        private JLabel jLabRightFromNum;
60
        private JLabel jLabRightToNum;
61
        private JPanel jPanRight;
62
        private JPanel jPanLeft;
63

    
64
        /**
65
         * Constructor
66
         */
67
        public DoubleRangePanel(GeocoController control,
68
                        List<FeatureAttributeDescriptor> fields) {
69
                initComponents();
70
                setMessages();
71
                // fill Combos
72
                if (fields != null) {
73
                        fillCombos(fields);
74
                }
75
        }
76

    
77
        /**
78
         * Initialize panel components
79
         */
80
        private void initComponents() {
81
                java.awt.GridBagConstraints gridBagConstraints;
82

    
83
                jPanLeft = new JPanel();
84
                jLabLeftFromNum = new JLabel();
85
                jComboLeftFromNum = new JComboBox();
86
                jLabLeftToNum = new JLabel();
87
                jComboLeftToNum = new JComboBox();
88
                jPanRight = new JPanel();
89
                jLabRightFromNum = new JLabel();
90
                jComboRightFromNum = new JComboBox();
91
                jLabRightToNum = new JLabel();
92
                jComboRightToNum = new JComboBox();
93

    
94
                setMinimumSize(new java.awt.Dimension(500, 70));
95
                setPreferredSize(new java.awt.Dimension(500, 70));
96
                setLayout(new java.awt.GridBagLayout());
97

    
98
                jPanLeft
99
                                .setBorder(javax.swing.BorderFactory.createTitledBorder("Left"));
100
                jPanLeft.setLayout(new java.awt.GridBagLayout());
101

    
102
                jLabLeftFromNum
103
                                .setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
104
                jLabLeftFromNum.setText("LeftFromNum");
105
                jLabLeftFromNum.setMaximumSize(new java.awt.Dimension(200, 14));
106
                jLabLeftFromNum.setMinimumSize(new java.awt.Dimension(70, 14));
107
                jLabLeftFromNum.setPreferredSize(new java.awt.Dimension(70, 14));
108
                gridBagConstraints = new java.awt.GridBagConstraints();
109
                gridBagConstraints.gridx = 0;
110
                gridBagConstraints.gridy = 0;
111
                gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 5);
112
                jPanLeft.add(jLabLeftFromNum, gridBagConstraints);
113

    
114
                jComboLeftFromNum.setModel(new javax.swing.DefaultComboBoxModel(
115
                                new String[] { "" }));
116
                jComboLeftFromNum.setMinimumSize(new java.awt.Dimension(150, 20));
117
                jComboLeftFromNum.setPreferredSize(new java.awt.Dimension(150, 20));
118
                jComboLeftFromNum
119
                                .addActionListener(new java.awt.event.ActionListener() {
120
                                        public void actionPerformed(java.awt.event.ActionEvent evt) {
121
                                                evLeftFromNum(evt);
122
                                        }
123
                                });
124
                gridBagConstraints = new java.awt.GridBagConstraints();
125
                gridBagConstraints.gridx = 1;
126
                gridBagConstraints.gridy = 0;
127
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
128
                gridBagConstraints.weightx = 1.0;
129
                gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 0);
130
                jPanLeft.add(jComboLeftFromNum, gridBagConstraints);
131

    
132
                jLabLeftToNum.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
133
                jLabLeftToNum.setText("LeftToNum");
134
                jLabLeftToNum
135
                                .setMaximumSize(new java.awt.Dimension(1000000000, 1400000));
136
                jLabLeftToNum.setMinimumSize(new java.awt.Dimension(70, 14));
137
                jLabLeftToNum.setPreferredSize(new java.awt.Dimension(70, 14));
138
                gridBagConstraints = new java.awt.GridBagConstraints();
139
                gridBagConstraints.gridx = 0;
140
                gridBagConstraints.gridy = 1;
141
                gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 5);
142
                jPanLeft.add(jLabLeftToNum, gridBagConstraints);
143

    
144
                jComboLeftToNum.setModel(new javax.swing.DefaultComboBoxModel(
145
                                new String[] { "" }));
146
                jComboLeftToNum.setMinimumSize(new java.awt.Dimension(150, 20));
147
                jComboLeftToNum.setPreferredSize(new java.awt.Dimension(150, 20));
148
                jComboLeftToNum.addActionListener(new java.awt.event.ActionListener() {
149
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
150
                                evLeftToNum(evt);
151
                        }
152
                });
153
                gridBagConstraints = new java.awt.GridBagConstraints();
154
                gridBagConstraints.gridx = 1;
155
                gridBagConstraints.gridy = 1;
156
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
157
                gridBagConstraints.weightx = 1.0;
158
                jPanLeft.add(jComboLeftToNum, gridBagConstraints);
159

    
160
                gridBagConstraints = new java.awt.GridBagConstraints();
161
                gridBagConstraints.gridx = 0;
162
                gridBagConstraints.gridy = 0;
163
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
164
                gridBagConstraints.weightx = 1.0;
165
                gridBagConstraints.insets = new java.awt.Insets(2, 5, 2, 5);
166
                add(jPanLeft, gridBagConstraints);
167

    
168
                jPanRight.setBorder(javax.swing.BorderFactory
169
                                .createTitledBorder("Right"));
170
                jPanRight.setLayout(new java.awt.GridBagLayout());
171

    
172
                jLabRightFromNum
173
                                .setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
174
                jLabRightFromNum.setText("RightFromNum");
175
                jLabRightFromNum
176
                                .setMaximumSize(new java.awt.Dimension(3400000, 140000));
177
                jLabRightFromNum.setMinimumSize(new java.awt.Dimension(70, 14));
178
                jLabRightFromNum.setPreferredSize(new java.awt.Dimension(70, 14));
179
                gridBagConstraints = new java.awt.GridBagConstraints();
180
                gridBagConstraints.gridx = 2;
181
                gridBagConstraints.gridy = 0;
182
                gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 5);
183
                jPanRight.add(jLabRightFromNum, gridBagConstraints);
184

    
185
                jComboRightFromNum.setModel(new javax.swing.DefaultComboBoxModel(
186
                                new String[] { "" }));
187
                jComboRightFromNum.setMinimumSize(new java.awt.Dimension(150, 20));
188
                jComboRightFromNum.setPreferredSize(new java.awt.Dimension(150, 20));
189
                jComboRightFromNum
190
                                .addActionListener(new java.awt.event.ActionListener() {
191
                                        public void actionPerformed(java.awt.event.ActionEvent evt) {
192
                                                evRightFromNum(evt);
193
                                        }
194
                                });
195
                gridBagConstraints = new java.awt.GridBagConstraints();
196
                gridBagConstraints.gridx = 3;
197
                gridBagConstraints.gridy = 0;
198
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
199
                gridBagConstraints.weightx = 1.0;
200
                gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 0);
201
                jPanRight.add(jComboRightFromNum, gridBagConstraints);
202

    
203
                jLabRightToNum.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
204
                jLabRightToNum.setText("RightToNum");
205
                jLabRightToNum
206
                                .setMaximumSize(new java.awt.Dimension(3400000, 140000000));
207
                jLabRightToNum.setMinimumSize(new java.awt.Dimension(70, 14));
208
                jLabRightToNum.setPreferredSize(new java.awt.Dimension(70, 14));
209
                gridBagConstraints = new java.awt.GridBagConstraints();
210
                gridBagConstraints.gridx = 2;
211
                gridBagConstraints.gridy = 1;
212
                gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 5);
213
                jPanRight.add(jLabRightToNum, gridBagConstraints);
214

    
215
                jComboRightToNum.setModel(new javax.swing.DefaultComboBoxModel(
216
                                new String[] { "" }));
217
                jComboRightToNum.setMinimumSize(new java.awt.Dimension(150, 20));
218
                jComboRightToNum.setPreferredSize(new java.awt.Dimension(150, 20));
219
                jComboRightToNum.addActionListener(new java.awt.event.ActionListener() {
220
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
221
                                evRightToNum(evt);
222
                        }
223
                });
224
                gridBagConstraints = new java.awt.GridBagConstraints();
225
                gridBagConstraints.gridx = 3;
226
                gridBagConstraints.gridy = 1;
227
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
228
                gridBagConstraints.weightx = 1.0;
229
                jPanRight.add(jComboRightToNum, gridBagConstraints);
230

    
231
                gridBagConstraints = new java.awt.GridBagConstraints();
232
                gridBagConstraints.gridx = 1;
233
                gridBagConstraints.gridy = 0;
234
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
235
                gridBagConstraints.weightx = 1.0;
236
                gridBagConstraints.insets = new java.awt.Insets(2, 5, 2, 5);
237
                add(jPanRight, gridBagConstraints);
238
        }
239

    
240
        /**
241
         * Change value of LeftFromNum
242
         * 
243
         * @param evt
244
         */
245
        private void evLeftFromNum(java.awt.event.ActionEvent evt) {
246
                // TODO add your handling code here:
247
        }
248

    
249
        /**
250
         * Change value of LeftToNum
251
         * 
252
         * @param evt
253
         */
254
        private void evLeftToNum(java.awt.event.ActionEvent evt) {
255
                // TODO add your handling code here:
256
        }
257

    
258
        /**
259
         * Change value of RightFromNum
260
         * 
261
         * @param evt
262
         */
263
        private void evRightFromNum(java.awt.event.ActionEvent evt) {
264
                // TODO add your handling code here:
265
        }
266

    
267
        /**
268
         * Change value of RightToNum
269
         * 
270
         * @param evt
271
         */
272
        private void evRightToNum(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_evRightToNum
273
                // TODO add your handling code here:
274
        }
275

    
276
        /**
277
         * Fill panel combos
278
         * 
279
         * @param fields
280
         */
281
        private void fillCombos(List<FeatureAttributeDescriptor> fields) {
282

    
283
                if (fields != null) {
284
                        DefaultComboBoxModel model = new DefaultComboBoxModel();
285
                        for (FeatureAttributeDescriptor field : fields) {
286
                                ComboDesc desc = new ComboDesc(field);
287
                                model.addElement(desc);
288
                        }
289
                        jComboRightFromNum.setModel(model);
290

    
291
                        DefaultComboBoxModel model2 = new DefaultComboBoxModel();
292
                        for (FeatureAttributeDescriptor field2 : fields) {
293
                                ComboDesc desc2 = new ComboDesc(field2);
294
                                model2.addElement(desc2);
295
                        }
296
                        jComboRightToNum.setModel(model2);
297

    
298
                        DefaultComboBoxModel model3 = new DefaultComboBoxModel();
299
                        for (FeatureAttributeDescriptor field3 : fields) {
300
                                ComboDesc desc3 = new ComboDesc(field3);
301
                                model3.addElement(desc3);
302
                        }
303
                        jComboLeftFromNum.setModel(model3);
304

    
305
                        DefaultComboBoxModel model4 = new DefaultComboBoxModel();
306
                        for (FeatureAttributeDescriptor field4 : fields) {
307
                                ComboDesc desc4 = new ComboDesc(field4);
308
                                model4.addElement(desc4);
309
                        }
310
                        jComboLeftToNum.setModel(model4);
311
                }
312
        }
313

    
314
        /**
315
         * Get description RightFromMun Combo
316
         * 
317
         * @return
318
         */
319
        public FeatureAttributeDescriptor getDescriptorRightFronMun() {
320

    
321
                ComboDesc cDesc = (ComboDesc) jComboRightFromNum.getSelectedItem();
322
                if (cDesc != null) {
323
                        return cDesc.getDescriptor();
324
                }
325
                return null;
326
        }
327

    
328
        /**
329
         * Get description RightToMun Combo
330
         * 
331
         * @return
332
         */
333
        public FeatureAttributeDescriptor getDescriptorRightToMun() {
334

    
335
                ComboDesc cDesc = (ComboDesc) jComboRightToNum.getSelectedItem();
336
                if (cDesc != null) {
337
                        return cDesc.getDescriptor();
338
                }
339
                return null;
340
        }
341

    
342
        /**
343
         * Get description LeftFromMun Combo
344
         * 
345
         * @return
346
         */
347
        public FeatureAttributeDescriptor getDescriptorLeftFronMun() {
348

    
349
                ComboDesc cDesc = (ComboDesc) jComboLeftFromNum.getSelectedItem();
350
                if (cDesc != null) {
351
                        return cDesc.getDescriptor();
352
                }
353
                return null;
354
        }
355

    
356
        /**
357
         * Get description LeftToMun Combo
358
         * 
359
         * @return
360
         */
361
        public FeatureAttributeDescriptor getDescriptorLeftToMun() {
362

    
363
                ComboDesc cDesc = (ComboDesc) jComboLeftToNum.getSelectedItem();
364
                if (cDesc != null) {
365
                        return cDesc.getDescriptor();
366
                }
367
                return null;
368
        }
369

    
370
        /**
371
         * set description RightFromMun Combo
372
         * 
373
         * @return
374
         */
375
        public void setDescriptorRightFronMun(FeatureAttributeDescriptor desc) {
376

    
377
                ComboDesc cDesc = new ComboDesc(desc);
378
                jComboRightFromNum.getModel().setSelectedItem(cDesc);
379
        }
380

    
381
        /**
382
         * set description RightToMun Combo
383
         * 
384
         * @return
385
         */
386
        public void setDescriptorRightToMun(FeatureAttributeDescriptor desc) {
387

    
388
                ComboDesc cDesc = new ComboDesc(desc);
389
                jComboRightToNum.getModel().setSelectedItem(cDesc);
390
        }
391

    
392
        /**
393
         * set description LeftFromMun Combo
394
         * 
395
         * @return
396
         */
397
        public void setDescriptorLeftFronMun(FeatureAttributeDescriptor desc) {
398

    
399
                ComboDesc cDesc = new ComboDesc(desc);
400
                jComboLeftFromNum.getModel().setSelectedItem(cDesc);
401
        }
402

    
403
        /**
404
         * set description LeftToMun Combo
405
         * 
406
         * @return
407
         */
408
        public void setDescriptorLeftToMun(FeatureAttributeDescriptor desc) {
409

    
410
                ComboDesc cDesc = new ComboDesc(desc);
411
                jComboLeftToNum.getModel().setSelectedItem(cDesc);
412
        }
413

    
414
        /**
415
         * 
416
         * @param desc
417
         */
418
        public void setComboValues(List<FeatureAttributeDescriptor> desc) {
419
                fillCombos(desc);
420
                this.validate();
421
        }
422

    
423
        /**
424
         * This method updates all labels of the panel from properties file
425
         */
426
        private void setMessages() {
427

    
428
                PluginServices ps = PluginServices.getPluginServices(this);
429

    
430
                jPanRight.setBorder(GeocoUtils.getTitledBorder(ps.getText("right")));
431
                jPanLeft.setBorder(GeocoUtils.getTitledBorder(ps.getText("left")));
432

    
433
                jLabRightFromNum.setText(ps.getText("rightfromnum"));
434
                jLabRightToNum.setText(ps.getText("righttonum"));
435
                jLabLeftFromNum.setText(ps.getText("leftfromnum"));
436
                jLabLeftToNum.setText(ps.getText("lefttomnum"));
437

    
438
        }
439
}