Statistics
| Revision:

root / trunk / extensions / extGraph / src / org / gvsig / graph / gui / TurnCostsTableChooser.java @ 31624

History | View | Annotate | Download (11.8 KB)

1
/*
2
 * TurnCostsTableChooser.java
3
 *
4
 * Created on __DATE__, __TIME__
5
 */
6

    
7
package org.gvsig.graph.gui;
8

    
9
import java.sql.Types;
10
import java.util.ArrayList;
11
import java.util.Vector;
12

    
13
import javax.swing.ComboBoxModel;
14
import javax.swing.DefaultComboBoxModel;
15

    
16
import com.iver.andami.PluginServices;
17
import com.iver.andami.ui.mdiManager.IWindow;
18
import com.iver.andami.ui.mdiManager.WindowInfo;
19
import com.iver.cit.gvsig.fmap.drivers.FieldDescription;
20
import com.iver.cit.gvsig.project.documents.table.ProjectTable;
21
import com.iver.utiles.NumberUtilities;
22

    
23
/**
24
 *
25
 * @author  __USER__
26
 */
27
public class TurnCostsTableChooser extends javax.swing.JPanel implements IWindow {
28

    
29
        private WindowInfo w;
30
        private boolean isOkSelected = false;
31
        private ProjectTable[]  tables;
32
                
33
        /** Creates new form TurnCostsTableChooser */
34
        public TurnCostsTableChooser() {
35
                initComponents();
36
        }
37
        
38
        public void setModel(ProjectTable[] tables) {
39
                this.tables = tables;
40
//                jLabel1.setText(_T("select_turn_costs_table"));
41
//                jLabel2.setText(_T("field_from_id"));
42
//                jLabel3.setText(_T("field_to_id"));
43
//                jLabel4.setText(_T("field_turn_costs"));
44
                ArrayList<String> tableNames = new ArrayList<String>();
45
                DefaultComboBoxModel cboModel = new DefaultComboBoxModel(tables);
46

    
47
                cboTable.setModel(cboModel);
48
                
49
                updateFieldCombos();
50
                
51
        }
52
        
53
        private void updateFieldCombos() {
54
                ProjectTable selectedTable = (ProjectTable) cboTable.getSelectedItem();
55
                if (selectedTable == null) {
56
                        cboFieldIdFrom.setModel(new DefaultComboBoxModel());
57
                        cboFieldIdTo.setModel(new DefaultComboBoxModel());
58
                        cboFieldTurnCost.setModel(new DefaultComboBoxModel());
59
                        return;
60
                }
61
                Vector numFields = new Vector();
62
                FieldDescription[] fields = selectedTable.getModelo().getFieldsDescription(); 
63
                for (int i=0; i < fields.length; i++) {
64
                        if (NumberUtilities.isNumeric(fields[i].getFieldType()))
65
                                numFields.add(fields[i].getFieldAlias());
66
                }
67
                cboFieldIdFrom.setModel(new DefaultComboBoxModel(numFields));
68
                cboFieldIdTo.setModel(new DefaultComboBoxModel(numFields));
69
                cboFieldTurnCost.setModel(new DefaultComboBoxModel(numFields));
70
        }
71

    
72
        public WindowInfo getWindowInfo() {
73
                if (w == null) {
74
                        w = new WindowInfo(WindowInfo.MODALDIALOG | WindowInfo.RESIZABLE);
75
                        w.setTitle(_T("TurnTable"));
76
                        w.setWidth(360);
77
                        w.setHeight(210);
78
                }
79
                return w;
80
        }
81

    
82
        public Object getWindowProfile() {
83
                return null;
84
        }
85

    
86
        /** This method is called from within the constructor to
87
         * initialize the form.
88
         * WARNING: Do NOT modify this code. The content of this method is
89
         * always regenerated by the Form Editor.
90
         */
91
        //GEN-BEGIN:initComponents
92
        // <editor-fold defaultstate="collapsed" desc="Generated Code">
93
        private void initComponents() {
94

    
95
                jLabel1 = new javax.swing.JLabel();
96
                cboTable = new javax.swing.JComboBox();
97
                jLabel2 = new javax.swing.JLabel();
98
                cboFieldIdFrom = new javax.swing.JComboBox();
99
                cboFieldIdTo = new javax.swing.JComboBox();
100
                jLabel3 = new javax.swing.JLabel();
101
                jLabel4 = new javax.swing.JLabel();
102
                cboFieldTurnCost = new javax.swing.JComboBox();
103
                btnOK = new javax.swing.JButton();
104
                btnCancel = new javax.swing.JButton();
105

    
106
                jLabel1.setText(_T("Table_with_turn_costs") + ":");
107

    
108
                cboTable.setModel(new javax.swing.DefaultComboBoxModel(new String[] {
109
                                "Item 1", "Item 2", "Item 3", "Item 4" }));
110

    
111
                cboTable.addActionListener(new java.awt.event.ActionListener() {
112
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
113
                                cboTableActionPerformed(evt);
114
                        }
115
                });
116

    
117
                jLabel2.setText(_T("Field_with_From_ID") + ":");
118

    
119
                cboFieldIdFrom.setModel(new javax.swing.DefaultComboBoxModel(
120
                                new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
121

    
122
                cboFieldIdTo.setModel(new javax.swing.DefaultComboBoxModel(
123
                                new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
124

    
125
                jLabel3.setText(_T("Field_with_To_ID") + ":");
126

    
127
                jLabel4.setText(_T("Field_with_turn_cost") + ":");
128

    
129
                cboFieldTurnCost.setModel(new javax.swing.DefaultComboBoxModel(
130
                                new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
131

    
132
                btnOK.setText(_T("OK"));
133
                btnOK.addActionListener(new java.awt.event.ActionListener() {
134
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
135
                                btnOKActionPerformed(evt);
136
                        }
137
                });
138

    
139
                btnCancel.setText(_T("Cancel"));
140
                btnCancel.addActionListener(new java.awt.event.ActionListener() {
141
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
142
                                btnCancelActionPerformed(evt);
143
                        }
144
                });
145

    
146
                org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
147
                this.setLayout(layout);
148
                layout
149
                                .setHorizontalGroup(layout
150
                                                .createParallelGroup(
151
                                                                org.jdesktop.layout.GroupLayout.LEADING)
152
                                                .add(
153
                                                                layout
154
                                                                                .createSequentialGroup()
155
                                                                                .addContainerGap()
156
                                                                                .add(
157
                                                                                                layout
158
                                                                                                                .createParallelGroup(
159
                                                                                                                                org.jdesktop.layout.GroupLayout.LEADING)
160
                                                                                                                .add(
161
                                                                                                                                layout
162
                                                                                                                                                .createSequentialGroup()
163
                                                                                                                                                .add(
164
                                                                                                                                                                layout
165
                                                                                                                                                                                .createParallelGroup(
166
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.LEADING,
167
                                                                                                                                                                                                false)
168
                                                                                                                                                                                .add(
169
                                                                                                                                                                                                jLabel4,
170
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
171
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
172
                                                                                                                                                                                                Short.MAX_VALUE)
173
                                                                                                                                                                                .add(
174
                                                                                                                                                                                                jLabel3,
175
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
176
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
177
                                                                                                                                                                                                Short.MAX_VALUE)
178
                                                                                                                                                                                .add(
179
                                                                                                                                                                                                jLabel2,
180
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
181
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
182
                                                                                                                                                                                                Short.MAX_VALUE)
183
                                                                                                                                                                                .add(
184
                                                                                                                                                                                                jLabel1,
185
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
186
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
187
                                                                                                                                                                                                Short.MAX_VALUE))
188
                                                                                                                                                .addPreferredGap(
189
                                                                                                                                                                org.jdesktop.layout.LayoutStyle.RELATED)
190
                                                                                                                                                .add(
191
                                                                                                                                                                layout
192
                                                                                                                                                                                .createParallelGroup(
193
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.LEADING)
194
                                                                                                                                                                                .add(
195
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.TRAILING,
196
                                                                                                                                                                                                cboFieldTurnCost,
197
                                                                                                                                                                                                0,
198
                                                                                                                                                                                                224,
199
                                                                                                                                                                                                Short.MAX_VALUE)
200
                                                                                                                                                                                .add(
201
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.TRAILING,
202
                                                                                                                                                                                                cboFieldIdTo,                                                                                                                                                                                                
203
                                                                                                                                                                                                0,
204
                                                                                                                                                                                                224,
205
                                                                                                                                                                                                Short.MAX_VALUE
206
                                                                                                                                                                                                )
207
                                                                                                                                                                                .add(
208
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.TRAILING,
209
                                                                                                                                                                                                cboTable,
210
                                                                                                                                                                                                0,
211
                                                                                                                                                                                                224,
212
                                                                                                                                                                                                Short.MAX_VALUE)
213
                                                                                                                                                                                .add(
214
                                                                                                                                                                                                org.jdesktop.layout.GroupLayout.TRAILING,
215
                                                                                                                                                                                                cboFieldIdFrom,
216
                                                                                                                                                                                                0,
217
                                                                                                                                                                                                224,
218
                                                                                                                                                                                                Short.MAX_VALUE)))
219
                                                                                                                .add(
220
                                                                                                                                org.jdesktop.layout.GroupLayout.TRAILING,
221
                                                                                                                                layout
222
                                                                                                                                                .createSequentialGroup()
223
                                                                                                                                                .add(
224
                                                                                                                                                                btnOK)
225
                                                                                                                                                .addPreferredGap(
226
                                                                                                                                                                org.jdesktop.layout.LayoutStyle.RELATED)
227
                                                                                                                                                .add(
228
                                                                                                                                                                btnCancel)))
229
                                                                                .addContainerGap()));
230
                layout
231
                                .setVerticalGroup(layout
232
                                                .createParallelGroup(
233
                                                                org.jdesktop.layout.GroupLayout.LEADING)
234
                                                .add(
235
                                                                layout
236
                                                                                .createSequentialGroup()
237
                                                                                .addContainerGap()
238
                                                                                .add(
239
                                                                                                layout
240
                                                                                                                .createParallelGroup(
241
                                                                                                                                org.jdesktop.layout.GroupLayout.BASELINE)
242
                                                                                                                .add(jLabel1)
243
                                                                                                                .add(
244
                                                                                                                                cboTable,
245
                                                                                                                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
246
                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
247
                                                                                                                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
248
                                                                                .addPreferredGap(
249
                                                                                                org.jdesktop.layout.LayoutStyle.UNRELATED)
250
                                                                                .add(
251
                                                                                                layout
252
                                                                                                                .createParallelGroup(
253
                                                                                                                                org.jdesktop.layout.GroupLayout.BASELINE)
254
                                                                                                                .add(jLabel2)
255
                                                                                                                .add(
256
                                                                                                                                cboFieldIdFrom,
257
                                                                                                                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
258
                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
259
                                                                                                                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
260
                                                                                .addPreferredGap(
261
                                                                                                org.jdesktop.layout.LayoutStyle.UNRELATED)
262
                                                                                .add(
263
                                                                                                layout
264
                                                                                                                .createParallelGroup(
265
                                                                                                                                org.jdesktop.layout.GroupLayout.BASELINE)
266
                                                                                                                .add(
267
                                                                                                                                cboFieldIdTo,
268
                                                                                                                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
269
                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
270
                                                                                                                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
271
                                                                                                                .add(jLabel3))
272
                                                                                .addPreferredGap(
273
                                                                                                org.jdesktop.layout.LayoutStyle.UNRELATED)
274
                                                                                .add(
275
                                                                                                layout
276
                                                                                                                .createParallelGroup(
277
                                                                                                                                org.jdesktop.layout.GroupLayout.BASELINE)
278
                                                                                                                .add(
279
                                                                                                                                cboFieldTurnCost,
280
                                                                                                                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
281
                                                                                                                                org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
282
                                                                                                                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
283
                                                                                                                .add(jLabel4))
284
                                                                                .addPreferredGap(
285
                                                                                                org.jdesktop.layout.LayoutStyle.RELATED,
286
                                                                                                17, Short.MAX_VALUE)
287
                                                                                .add(
288
                                                                                                layout
289
                                                                                                                .createParallelGroup(
290
                                                                                                                                org.jdesktop.layout.GroupLayout.BASELINE)
291
                                                                                                                .add(btnCancel)
292
                                                                                                                .add(btnOK))
293
                                                                                .addContainerGap()));
294
        }// </editor-fold>
295
        //GEN-END:initComponents
296

    
297
        private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {
298
                if (PluginServices.getMainFrame() != null)
299
                        PluginServices.getMDIManager().closeWindow(this);
300

    
301
        }
302

    
303
        private void btnOKActionPerformed(java.awt.event.ActionEvent evt) {
304
                isOkSelected  = true;
305
                if (PluginServices.getMainFrame() != null)
306
                        PluginServices.getMDIManager().closeWindow(this);
307
        }
308

    
309
        private void cboTableActionPerformed(java.awt.event.ActionEvent evt) {
310
                System.out.println("Seleccionado:" + cboTable.getSelectedItem());
311
                updateFieldCombos();
312
        }
313

    
314
        //GEN-BEGIN:variables
315
        // Variables declaration - do not modify
316
        private javax.swing.JButton btnCancel;
317
        private javax.swing.JButton btnOK;
318
        private javax.swing.JComboBox cboFieldIdFrom;
319
        private javax.swing.JComboBox cboFieldIdTo;
320
        private javax.swing.JComboBox cboFieldTurnCost;
321
        private javax.swing.JComboBox cboTable;
322
        private javax.swing.JLabel jLabel1;
323
        private javax.swing.JLabel jLabel2;
324
        private javax.swing.JLabel jLabel3;
325
        private javax.swing.JLabel jLabel4;
326
        // End of variables declaration//GEN-END:variables
327

    
328
        public boolean isOkSelected() {
329
                return isOkSelected;
330
        }
331
        
332
        public ProjectTable getSelectedTable() {
333
                return (ProjectTable) cboTable.getSelectedItem();
334
        }
335
        
336
        public String getFieldFromId() {
337
                return (String) cboFieldIdFrom.getSelectedItem();
338
        }
339
        public String getFieldToId() {
340
                return (String) cboFieldIdTo.getSelectedItem();
341
        }
342
        public String getFieldTurnCost() {
343
                return (String) cboFieldTurnCost.getSelectedItem();
344
        }
345
        
346
        private String _T(String str) {
347
                return PluginServices.getText(this, str);
348
        }
349

    
350

    
351
}