Statistics
| Revision:

root / branches / v2_0_0_prep / extensions / extGeocoding / src / org / gvsig / geocoding / gui / newpattern / SimpleRangePanel.java @ 31249

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

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

    
49
        private static final long serialVersionUID = 1L;
50

    
51
        private JComboBox jComboFromNum;
52
        private JComboBox jComboToNum;
53
        private JLabel jLabFromNum;
54
        private JLabel jLabToNum;
55

    
56
        /**
57
         * Constructor
58
         */
59
        public SimpleRangePanel(GeocodingController control, List<String> fields) {
60
                initComponents();
61
                setMessages();
62
                // Fill two combos with the fields of datasource
63
                if (fields != null) {
64
                        fillCombos(fields);
65
                }
66

    
67
        }
68

    
69
        /**
70
         * Initialize panel components
71
         */
72
        private void initComponents() {
73

    
74
                this.setBorder(javax.swing.BorderFactory
75
                                .createTitledBorder("Numeric range"));
76
                java.awt.GridBagConstraints gridBagConstraints;
77

    
78
                jLabFromNum = new javax.swing.JLabel();
79
                jComboFromNum = new javax.swing.JComboBox();
80
                jLabToNum = new javax.swing.JLabel();
81
                jComboToNum = new javax.swing.JComboBox();
82

    
83
                setMinimumSize(new java.awt.Dimension(500, 50));
84
                setPreferredSize(new java.awt.Dimension(500, 50));
85
                setLayout(new java.awt.GridBagLayout());
86

    
87
                jLabFromNum.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
88
                jLabFromNum.setText("FromNumber");
89
                jLabFromNum.setFocusable(false);
90
                jLabFromNum.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
91
                jLabFromNum.setMinimumSize(new java.awt.Dimension(70, 14));
92
                jLabFromNum.setPreferredSize(new java.awt.Dimension(70, 14));
93
                gridBagConstraints = new java.awt.GridBagConstraints();
94
                gridBagConstraints.gridx = 0;
95
                gridBagConstraints.gridy = 0;
96
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
97
                gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 0);
98
                add(jLabFromNum, gridBagConstraints);
99

    
100
                jComboFromNum.setModel(new javax.swing.DefaultComboBoxModel(
101
                                new String[] { "" }));
102
                jComboFromNum.setMinimumSize(new java.awt.Dimension(150, 20));
103
                jComboFromNum.setOpaque(false);
104
                jComboFromNum.setPreferredSize(new java.awt.Dimension(150, 20));
105
                jComboFromNum.addActionListener(new java.awt.event.ActionListener() {
106
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
107
                                evFromNum(evt);
108
                        }
109
                });
110
                gridBagConstraints = new java.awt.GridBagConstraints();
111
                gridBagConstraints.gridx = 1;
112
                gridBagConstraints.gridy = 0;
113
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
114
                gridBagConstraints.weightx = 1.0;
115
                gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 15);
116
                add(jComboFromNum, gridBagConstraints);
117

    
118
                jLabToNum.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
119
                jLabToNum.setText("ToNumber");
120
                jLabToNum.setFocusable(false);
121
                jLabToNum.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
122
                jLabToNum.setMinimumSize(new java.awt.Dimension(70, 14));
123
                jLabToNum.setPreferredSize(new java.awt.Dimension(70, 14));
124
                gridBagConstraints = new java.awt.GridBagConstraints();
125
                gridBagConstraints.gridx = 2;
126
                gridBagConstraints.gridy = 0;
127
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
128
                add(jLabToNum, gridBagConstraints);
129

    
130
                jComboToNum.setModel(new javax.swing.DefaultComboBoxModel(
131
                                new String[] { "" }));
132
                jComboToNum.setMinimumSize(new java.awt.Dimension(150, 20));
133
                jComboToNum.setPreferredSize(new java.awt.Dimension(150, 20));
134
                jComboToNum.addActionListener(new java.awt.event.ActionListener() {
135
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
136
                                evToNum(evt);
137
                        }
138
                });
139
                gridBagConstraints = new java.awt.GridBagConstraints();
140
                gridBagConstraints.gridx = 3;
141
                gridBagConstraints.gridy = 0;
142
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
143
                gridBagConstraints.weightx = 1.0;
144
                gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 5);
145
                add(jComboToNum, gridBagConstraints);
146
        }
147

    
148
        /**
149
         * Change value of FromNum
150
         * 
151
         * @param evt
152
         */
153
        private void evFromNum(java.awt.event.ActionEvent evt) {
154
                // TODO nothing to do
155
        }
156

    
157
        /**
158
         * Change Value of ToNum
159
         * 
160
         * @param evt
161
         */
162
        private void evToNum(java.awt.event.ActionEvent evt) {
163
                // nothing to do
164
        }
165

    
166
        /**
167
         * Fill panel combos
168
         * 
169
         * @param fields
170
         */
171
        private void fillCombos(List<String> fields) {
172
                if (fields != null) {
173
                        DefaultComboBoxModel model = new DefaultComboBoxModel();
174
                        for (String field : fields) {
175
                                model.addElement(field);
176
                        }
177
                        jComboFromNum.setModel(model);
178
                        DefaultComboBoxModel model2 = new DefaultComboBoxModel();
179
                        for (String field2 : fields) {
180
                                model2.addElement(field2);
181
                        }
182
                        jComboToNum.setModel(model2);
183
                }
184
        }
185

    
186
        /**
187
         * Get description FromMun Combo
188
         * 
189
         * @return
190
         */
191
        public String getDescriptorFromNum() {                
192
                String cDesc = (String) jComboFromNum.getSelectedItem();
193
                if (cDesc != null) {
194
                        return cDesc;
195
                }
196
                return null;
197
        }
198

    
199
        /**
200
         * Get description ToMun Combo
201
         * 
202
         * @return
203
         */
204
        public String getDescriptorToNum() {
205

    
206
                String cDesc = (String) jComboToNum.getSelectedItem();
207
                if (cDesc != null) {
208
                        return cDesc;
209
                }
210
                return null;
211
        }
212

    
213
        /**
214
         * set description FromMun Combo
215
         * 
216
         * @param desc
217
         */
218
        public void setDescriptorFromNum(String desc) {
219
                jComboFromNum.getModel().setSelectedItem(desc);
220
        }
221

    
222
        /**
223
         * Get description ToMun Combo
224
         * 
225
         * @return
226
         */
227
        public void setDescriptorToNum(String desc) {
228
                jComboToNum.getModel().setSelectedItem(desc);
229
        }
230

    
231
        /**
232
         * 
233
         * @param desc
234
         */
235
        public void setComboValues(List<String> desc) {
236
                fillCombos(desc);
237
                this.validate();
238
        }
239

    
240
        /**
241
         * This method updates all labels of the panel from properties file
242
         */
243
        private void setMessages() {
244

    
245
                PluginServices ps = PluginServices.getPluginServices(this);
246

    
247
                this.setBorder(GeocodingUtils.getTitledBorder(ps.getText("rangenum")));
248

    
249
                jLabFromNum.setText(ps.getText("fromnum"));
250
                jLabToNum.setText(ps.getText("tonum"));
251

    
252
        }
253

    
254
}