Statistics
| Revision:

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

History | View | Annotate | Download (11.7 KB)

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

    
7
package org.gvsig.graph.gui;
8

    
9
import java.util.ArrayList;
10
import java.util.Vector;
11

    
12
import javax.swing.DefaultComboBoxModel;
13

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

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

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

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

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

    
80
        public Object getWindowProfile() {
81
                return null;
82
        }
83

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

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

    
104
                jLabel1.setText(_T("Table_with_turn_costs") + ":");
105

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

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

    
115
                jLabel2.setText(_T("Field_with_From_ID") + ":");
116

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

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

    
123
                jLabel3.setText(_T("Field_with_To_ID") + ":");
124

    
125
                jLabel4.setText(_T("Field_with_turn_cost") + ":");
126

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

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

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

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

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

    
299
        }
300

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

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

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

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

    
348

    
349
}