Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / extensions / org.gvsig.geocoding.extension / src / org / gvsig / geocoding / gui / newpattern / DoubleRangePanel.java @ 32526

History | View | Annotate | Download (12.5 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.GeocodingController;
39
import org.gvsig.geocoding.utils.GeocodingUtils;
40

    
41
import org.gvsig.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(GeocodingController control,
68
                        List<String> 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<String> fields) {
282

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

    
290
                        DefaultComboBoxModel model2 = new DefaultComboBoxModel();
291
                        for (String field2 : fields) {
292
                                model2.addElement(field2);
293
                        }
294
                        jComboRightToNum.setModel(model2);
295

    
296
                        DefaultComboBoxModel model3 = new DefaultComboBoxModel();
297
                        for (String field3 : fields) {
298
                                model3.addElement(field3);
299
                        }
300
                        jComboLeftFromNum.setModel(model3);
301

    
302
                        DefaultComboBoxModel model4 = new DefaultComboBoxModel();
303
                        for (String field4 : fields) {
304
                                model4.addElement(field4);
305
                        }
306
                        jComboLeftToNum.setModel(model4);
307
                }
308
        }
309

    
310
        /**
311
         * Get description RightFromMun Combo
312
         * 
313
         * @return
314
         */
315
        public String getDescriptorRightFronMun() {
316

    
317
                String cDesc = (String) jComboRightFromNum.getSelectedItem();
318
                if (cDesc != null) {
319
                        return cDesc;
320
                }
321
                return null;
322
        }
323

    
324
        /**
325
         * Get description RightToMun Combo
326
         * 
327
         * @return
328
         */
329
        public String getDescriptorRightToMun() {
330

    
331
                String cDesc = (String) jComboRightToNum.getSelectedItem();
332
                if (cDesc != null) {
333
                        return cDesc;
334
                }
335
                return null;
336
        }
337

    
338
        /**
339
         * Get description LeftFromMun Combo
340
         * 
341
         * @return
342
         */
343
        public String getDescriptorLeftFronMun() {
344

    
345
                String cDesc = (String) jComboLeftFromNum.getSelectedItem();
346
                if (cDesc != null) {
347
                        return cDesc;
348
                }
349
                return null;
350
        }
351

    
352
        /**
353
         * Get description LeftToMun Combo
354
         * 
355
         * @return
356
         */
357
        public String getDescriptorLeftToMun() {
358

    
359
                String cDesc = (String) jComboLeftToNum.getSelectedItem();
360
                if (cDesc != null) {
361
                        return cDesc;
362
                }
363
                return null;
364
        }
365

    
366
        /**
367
         * set description RightFromMun Combo
368
         * 
369
         * @return
370
         */
371
        public void setDescriptorRightFronMun(String desc) {                
372
                jComboRightFromNum.getModel().setSelectedItem(desc);
373
        }
374

    
375
        /**
376
         * set description RightToMun Combo
377
         * 
378
         * @return
379
         */
380
        public void setDescriptorRightToMun(String desc) {
381
                jComboRightToNum.getModel().setSelectedItem(desc);
382
        }
383

    
384
        /**
385
         * set description LeftFromMun Combo
386
         * 
387
         * @return
388
         */
389
        public void setDescriptorLeftFronMun(String desc) {
390
                jComboLeftFromNum.getModel().setSelectedItem(desc);
391
        }
392

    
393
        /**
394
         * set description LeftToMun Combo
395
         * 
396
         * @return
397
         */
398
        public void setDescriptorLeftToMun(String desc) {
399
                jComboLeftToNum.getModel().setSelectedItem(desc);
400
        }
401

    
402
        /**
403
         * 
404
         * @param desc
405
         */
406
        public void setComboValues(List<String> desc) {
407
                fillCombos(desc);
408
                this.validate();
409
        }
410

    
411
        /**
412
         * This method updates all labels of the panel from properties file
413
         */
414
        private void setMessages() {
415

    
416
                PluginServices ps = PluginServices.getPluginServices(this);
417

    
418
                jPanRight.setBorder(GeocodingUtils.getTitledBorder(ps.getText("right")));
419
                jPanLeft.setBorder(GeocodingUtils.getTitledBorder(ps.getText("left")));
420

    
421
                jLabRightFromNum.setText(ps.getText("rightfromnum"));
422
                jLabRightToNum.setText(ps.getText("righttonum"));
423
                jLabLeftFromNum.setText(ps.getText("leftfromnum"));
424
                jLabLeftToNum.setText(ps.getText("lefttomnum"));
425

    
426
        }
427
}