Statistics
| Revision:

svn-gvsig-desktop / branches / gvSIG_GisPlanet / applications / appgvSIG / src / com / iver / cit / gvsig / gui / FThemePropertiesDialog.java @ 2165

History | View | Annotate | Download (13.9 KB)

1 312 fernando
/*
2
 * Created on 31-may-2004
3
 *
4
 * To change the template for this generated file go to
5
 * Window>Preferences>Java>Code Generation>Code and Comments
6
 */
7 1103 fjp
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
8
 *
9
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
10
 *
11
 * This program is free software; you can redistribute it and/or
12
 * modify it under the terms of the GNU General Public License
13
 * as published by the Free Software Foundation; either version 2
14
 * of the License, or (at your option) any later version.
15
 *
16
 * This program is distributed in the hope that it will be useful,
17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
 * GNU General Public License for more details.
20
 *
21
 * You should have received a copy of the GNU General Public License
22
 * along with this program; if not, write to the Free Software
23
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
24
 *
25
 * For more information, contact:
26
 *
27
 *  Generalitat Valenciana
28
 *   Conselleria d'Infraestructures i Transport
29
 *   Av. Blasco Ib??ez, 50
30
 *   46010 VALENCIA
31
 *   SPAIN
32
 *
33
 *      +34 963862235
34
 *   gvsig@gva.es
35
 *      www.gvsig.gva.es
36
 *
37
 *    or
38
 *
39
 *   IVER T.I. S.A
40
 *   Salamanca 50
41
 *   46005 Valencia
42
 *   Spain
43
 *
44
 *   +34 963163400
45
 *   dac@iver.es
46
 */
47 312 fernando
package com.iver.cit.gvsig.gui;
48
49 1182 fjp
import java.text.NumberFormat;
50
import java.text.ParseException;
51
52 775 vcaballero
import javax.swing.JLabel;
53
import javax.swing.JPanel;
54
import javax.swing.JTextField;
55 312 fernando
56 596 fernando
import com.hardcode.gdbms.engine.data.DataSource;
57 1830 fernando
import com.hardcode.gdbms.engine.data.driver.DriverException;
58 596 fernando
import com.iver.andami.PluginServices;
59
import com.iver.andami.messages.NotificationManager;
60
import com.iver.andami.ui.mdiManager.View;
61
import com.iver.andami.ui.mdiManager.ViewInfo;
62 312 fernando
import com.iver.cit.gvsig.fmap.layers.FLayer;
63 596 fernando
import com.iver.cit.gvsig.fmap.layers.layerOperations.AlphanumericData;
64 1221 fernando
import com.iver.cit.gvsig.project.ProjectView;
65 312 fernando
/**
66
 * Di?logo de propiedades del tema.
67 596 fernando
 *
68 312 fernando
 * @author Vicente Caballero Navarro
69
 */
70
public class FThemePropertiesDialog extends JPanel implements View {
71
        private javax.swing.JPanel jContentPane = null;
72
        private javax.swing.JTabbedPane jTabbedPane = null;
73
        private javax.swing.JPanel phiperenlace = null;
74
        private javax.swing.JPanel phnorte = null;
75
        private javax.swing.JPanel phsur = null;
76
        private javax.swing.JLabel jLabel = null;
77
        private javax.swing.JComboBox jComboBox = null;
78
        private javax.swing.JLabel jLabel1 = null;
79
        private javax.swing.JComboBox jComboBox1 = null;
80
        private javax.swing.JPanel pbotones = null;
81
        private javax.swing.JButton baceptar = null;
82
        private javax.swing.JButton bcancelar = null;
83
        private javax.swing.JPanel pvisualizacion = null;
84
        private FLayer m_layer;
85
        private javax.swing.JPanel pvnorte = null;
86
        private javax.swing.JPanel pvsur = null;
87
        private javax.swing.JLabel jLabel2 = null;
88
        private javax.swing.JLabel jLabel3 = null;
89 1174 vcaballero
        private javax.swing.JTextField tminEscala = null;
90 1182 fjp
        private javax.swing.JTextField tMaxScale = null;
91 959 vcaballero
        private ProjectView view;
92 596 fernando
93 775 vcaballero
        private JLabel jLabel4 = null;
94
        private JTextField jTextField2 = null;
95 1174 vcaballero
        private JPanel pvCenter = null;
96
        private JLabel jLabel5 = null;
97
        private JLabel jLabel6 = null;
98 1182 fjp
99
        private NumberFormat nf = NumberFormat.getInstance();
100
101 312 fernando
        /**
102
         * This is the default constructor
103 596 fernando
         *
104
         * @param layer DOCUMENT ME!
105
         * @param view DOCUMENT ME!
106 312 fernando
         */
107 959 vcaballero
        public FThemePropertiesDialog(FLayer layer, ProjectView view) {
108 312 fernando
                super();
109
                this.view = view;
110 596 fernando
                m_layer = layer;
111 312 fernando
                initialize();
112
        }
113 596 fernando
114 312 fernando
        /**
115
         * This method initializes this
116
         */
117
        private void initialize() {
118 775 vcaballero
                this.setSize(367, 184);
119 312 fernando
                this.add(getJContentPane());
120 1182 fjp
                if (m_layer.getMinScale() != -1)
121
                    getTminEscala().setText(nf.format(m_layer.getMinScale()));
122
                if (m_layer.getMaxScale() != -1)
123
                    getTMaxScale().setText(nf.format(m_layer.getMaxScale()));
124 312 fernando
        }
125 596 fernando
126 312 fernando
        /**
127
         * This method initializes jContentPane
128 596 fernando
         *
129 312 fernando
         * @return javax.swing.JPanel
130
         */
131
        private javax.swing.JPanel getJContentPane() {
132
                if (jContentPane == null) {
133
                        jContentPane = new javax.swing.JPanel();
134
                        jContentPane.setLayout(new java.awt.BorderLayout());
135
                        jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER);
136
                        jContentPane.add(getPbotones(), java.awt.BorderLayout.SOUTH);
137
                }
138 596 fernando
139 312 fernando
                return jContentPane;
140
        }
141 596 fernando
142 312 fernando
        /**
143
         * This method initializes jTabbedPane
144 596 fernando
         *
145 312 fernando
         * @return javax.swing.JTabbedPane
146
         */
147
        private javax.swing.JTabbedPane getJTabbedPane() {
148 596 fernando
                if (jTabbedPane == null) {
149 312 fernando
                        jTabbedPane = new javax.swing.JTabbedPane();
150 775 vcaballero
                        jTabbedPane.setPreferredSize(new java.awt.Dimension(320,140));
151 596 fernando
                        jTabbedPane.addTab(PluginServices.getText(this, "Hiperenlace"),
152
                                null, getPhiperenlace(), null);
153
                        jTabbedPane.addTab(PluginServices.getText(this, "Visualizacion"),
154
                                null, getPvisualizacion(), null);
155 312 fernando
                }
156 596 fernando
157 312 fernando
                return jTabbedPane;
158
        }
159 596 fernando
160 312 fernando
        /**
161
         * This method initializes phiperenlace
162 596 fernando
         *
163 312 fernando
         * @return javax.swing.JPanel
164
         */
165
        private javax.swing.JPanel getPhiperenlace() {
166 596 fernando
                if (phiperenlace == null) {
167 312 fernando
                        phiperenlace = new javax.swing.JPanel();
168
                        phiperenlace.setLayout(new java.awt.BorderLayout());
169 775 vcaballero
                        phiperenlace.setPreferredSize(new java.awt.Dimension(300,150));
170 312 fernando
                        phiperenlace.add(getPhnorte(), java.awt.BorderLayout.NORTH);
171 775 vcaballero
                        phiperenlace.add(getPhsur(), java.awt.BorderLayout.CENTER);
172 1174 vcaballero
                        phiperenlace.setVisible(true);
173 312 fernando
                }
174 596 fernando
175 312 fernando
                return phiperenlace;
176
        }
177 596 fernando
178 312 fernando
        /**
179
         * This method initializes phnorte
180 596 fernando
         *
181 312 fernando
         * @return javax.swing.JPanel
182
         */
183
        private javax.swing.JPanel getPhnorte() {
184 596 fernando
                if (phnorte == null) {
185 775 vcaballero
                        jLabel4 = new JLabel();
186 312 fernando
                        phnorte = new javax.swing.JPanel();
187 775 vcaballero
                        jLabel4.setText(PluginServices.getText(this,"extension"));
188 312 fernando
                        phnorte.add(getJLabel(), null);
189
                        phnorte.add(getJComboBox(), null);
190 775 vcaballero
                        phnorte.add(jLabel4, null);
191
                        phnorte.add(getJTextField2(), null);
192 312 fernando
                }
193 596 fernando
194 312 fernando
                return phnorte;
195
        }
196 596 fernando
197 312 fernando
        /**
198
         * This method initializes phsur
199 596 fernando
         *
200 312 fernando
         * @return javax.swing.JPanel
201
         */
202
        private javax.swing.JPanel getPhsur() {
203 596 fernando
                if (phsur == null) {
204 312 fernando
                        phsur = new javax.swing.JPanel();
205
                        phsur.add(getJLabel1(), null);
206
                        phsur.add(getJComboBox1(), null);
207
                }
208 596 fernando
209 312 fernando
                return phsur;
210
        }
211 596 fernando
212 312 fernando
        /**
213
         * This method initializes jLabel
214 596 fernando
         *
215 312 fernando
         * @return javax.swing.JLabel
216
         */
217
        private javax.swing.JLabel getJLabel() {
218 596 fernando
                if (jLabel == null) {
219 312 fernando
                        jLabel = new javax.swing.JLabel();
220 596 fernando
                        jLabel.setText(PluginServices.getText(this, "Campo") + "   ");
221 312 fernando
                }
222 596 fernando
223 312 fernando
                return jLabel;
224
        }
225 596 fernando
226 312 fernando
        /**
227
         * This method initializes jComboBox
228 596 fernando
         *
229 312 fernando
         * @return javax.swing.JComboBox
230
         */
231
        private javax.swing.JComboBox getJComboBox() {
232 596 fernando
                if (jComboBox == null) {
233
                        try {
234
                                if (m_layer instanceof AlphanumericData) {
235
                                        AlphanumericData layer = (AlphanumericData) m_layer;
236
                                        DataSource ds;
237
                                        ds = layer.getRecordset();
238
239
                                        String[] names = new String[ds.getFieldCount()];
240
241
                                        for (int i = 0; i < ds.getFieldCount(); i++) {
242
                                                names[i] = ds.getFieldName(i);
243
                                        }
244
245
                                        jComboBox = new javax.swing.JComboBox(names);
246
247
                                        if (view.getSelectedField() != null) {
248
                                                jComboBox.setSelectedItem(view.getSelectedField());
249
                                        }
250 1320 vcaballero
                                }else{
251
                                        jComboBox = new javax.swing.JComboBox();
252 596 fernando
                                }
253 652 fernando
                        } catch (DriverException e) {
254 596 fernando
                                NotificationManager.addError("No se pudo obtener la tabla", e);
255 652 fernando
                        } catch (com.iver.cit.gvsig.fmap.DriverException e) {
256 1830 fernando
                                NotificationManager.addError("No se pudo obtener la tabla", e);
257 312 fernando
                        }
258
                }
259 596 fernando
260 312 fernando
                return jComboBox;
261
        }
262 596 fernando
263 312 fernando
        /**
264
         * This method initializes jLabel1
265 596 fernando
         *
266 312 fernando
         * @return javax.swing.JLabel
267
         */
268
        private javax.swing.JLabel getJLabel1() {
269 596 fernando
                if (jLabel1 == null) {
270 312 fernando
                        jLabel1 = new javax.swing.JLabel();
271 596 fernando
                        jLabel1.setText(PluginServices.getText(this, "Accion_Predefinida") +
272
                                "  ");
273 312 fernando
                }
274 596 fernando
275 312 fernando
                return jLabel1;
276
        }
277 596 fernando
278 312 fernando
        /**
279
         * This method initializes jComboBox1
280 596 fernando
         *
281 312 fernando
         * @return javax.swing.JComboBox
282
         */
283
        private javax.swing.JComboBox getJComboBox1() {
284 596 fernando
                if (jComboBox1 == null) {
285 775 vcaballero
                        jComboBox1 = new javax.swing.JComboBox();
286
                        jComboBox1.addItem(PluginServices.getText(this,
287
                                        "Enlazar_a_ficheros_de_imagen"));
288
                        jComboBox1.addItem(PluginServices.getText(this,
289
                        "Enlazar_a_fichero_de_texto"));
290
                        if (view.getSelectedField() != null) {
291 959 vcaballero
                                jComboBox1.setSelectedIndex(view.getTypeLink());
292 775 vcaballero
                        }
293 312 fernando
                }
294 596 fernando
295 312 fernando
                return jComboBox1;
296
        }
297 596 fernando
298 312 fernando
        /**
299
         * This method initializes pbotones
300 596 fernando
         *
301 312 fernando
         * @return javax.swing.JPanel
302
         */
303
        private javax.swing.JPanel getPbotones() {
304 596 fernando
                if (pbotones == null) {
305 312 fernando
                        pbotones = new javax.swing.JPanel();
306
                        pbotones.add(getBaceptar(), null);
307
                        pbotones.add(getBcancelar(), null);
308
                }
309 596 fernando
310 312 fernando
                return pbotones;
311
        }
312 596 fernando
313 312 fernando
        /**
314
         * This method initializes baceptar
315 596 fernando
         *
316 312 fernando
         * @return javax.swing.JButton
317
         */
318
        private javax.swing.JButton getBaceptar() {
319 596 fernando
                if (baceptar == null) {
320 312 fernando
                        baceptar = new javax.swing.JButton();
321 596 fernando
                        baceptar.setText(PluginServices.getText(this, "Aceptar"));
322
                        baceptar.addActionListener(new java.awt.event.ActionListener() {
323
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
324 959 vcaballero
                                                view.setTypeLink(jComboBox1.getSelectedIndex());
325 1414 vcaballero
                                                if (jComboBox.getSelectedItem()!=null){
326 596 fernando
                                                view.setSelectedField((jComboBox.getSelectedItem()).toString()
327
                                                                                           .trim());
328 959 vcaballero
                                                view.setExtLink(getJTextField2().getText());
329 1414 vcaballero
                                                }
330 1182 fjp
                                                try
331
                                                {
332
                                                        m_layer.setMinScale((nf.parse(getTminEscala().getText())).doubleValue());
333
                                                }
334
                                                catch (ParseException ex)
335
                                                {
336
                                                    // No hacemos nada. Si mete algo mal, pasamos de
337
                                                    // lo que haya metido y a otra cosa.
338
                                                    if (getTminEscala().getText().compareTo("") == 0)
339
                                                        m_layer.setMinScale(-1);
340
                                                    else
341
                                                        System.err.print(ex.getLocalizedMessage());
342
                                                }
343
                                                try
344
                                                {
345
                                                    m_layer.setMaxScale((nf.parse(getTMaxScale().getText())).doubleValue());
346
                                                }
347
                                                catch (ParseException ex)
348
                                                {
349
                                                    if (getTMaxScale().getText().compareTo("") == 0)
350
                                                        m_layer.setMaxScale(-1);
351
                                                    else
352
                                                        System.err.print(ex.getLocalizedMessage());
353
354 1186 fjp
                                                }
355 596 fernando
                                                PluginServices.getMDIManager().closeView(FThemePropertiesDialog.this);
356 1186 fjp
                                                m_layer.getFMap().invalidate();
357 596 fernando
                                        }
358
                                });
359 312 fernando
                }
360 596 fernando
361 312 fernando
                return baceptar;
362
        }
363 596 fernando
364 312 fernando
        /**
365
         * This method initializes bcancelar
366 596 fernando
         *
367 312 fernando
         * @return javax.swing.JButton
368
         */
369
        private javax.swing.JButton getBcancelar() {
370 596 fernando
                if (bcancelar == null) {
371 312 fernando
                        bcancelar = new javax.swing.JButton();
372 596 fernando
                        bcancelar.setText(PluginServices.getText(this, "Cancelar"));
373
                        bcancelar.addActionListener(new java.awt.event.ActionListener() {
374
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
375
                                                //                                        View view =(View)App.instance.getMDIContext().getActiveView();
376
                                                //view.getMapControl().setTool(MapControl.);
377
                                                PluginServices.getMDIManager().closeView(FThemePropertiesDialog.this);
378
                                        }
379
                                });
380 312 fernando
                }
381 596 fernando
382 312 fernando
                return bcancelar;
383
        }
384 596 fernando
385 312 fernando
        /**
386
         * This method initializes pvisualizacion
387 596 fernando
         *
388 312 fernando
         * @return javax.swing.JPanel
389
         */
390
        private javax.swing.JPanel getPvisualizacion() {
391 596 fernando
                if (pvisualizacion == null) {
392 312 fernando
                        pvisualizacion = new javax.swing.JPanel();
393
                        pvisualizacion.setLayout(new java.awt.BorderLayout());
394 775 vcaballero
                        pvisualizacion.setPreferredSize(new java.awt.Dimension(300,60));
395 312 fernando
                        pvisualizacion.add(getPvnorte(), java.awt.BorderLayout.NORTH);
396 1174 vcaballero
                        pvisualizacion.add(getPvCenter(), java.awt.BorderLayout.CENTER);
397 312 fernando
                        pvisualizacion.add(getPvsur(), java.awt.BorderLayout.SOUTH);
398
                }
399 596 fernando
400 312 fernando
                return pvisualizacion;
401
        }
402 596 fernando
403 312 fernando
        /**
404
         * This method initializes pvnorte
405 596 fernando
         *
406 312 fernando
         * @return javax.swing.JPanel
407
         */
408
        private javax.swing.JPanel getPvnorte() {
409 596 fernando
                if (pvnorte == null) {
410 1174 vcaballero
                        jLabel6 = new JLabel();
411
                        jLabel5 = new JLabel();
412 312 fernando
                        pvnorte = new javax.swing.JPanel();
413 1174 vcaballero
                        jLabel5.setText(m_layer.getName());
414
                        jLabel6.setText("Nombre del tema : ");
415
                        pvnorte.add(jLabel6, null);
416
                        pvnorte.add(jLabel5, null);
417 312 fernando
                }
418 596 fernando
419 312 fernando
                return pvnorte;
420
        }
421 596 fernando
422 312 fernando
        /**
423
         * This method initializes pvsur
424 596 fernando
         *
425 312 fernando
         * @return javax.swing.JPanel
426
         */
427
        private javax.swing.JPanel getPvsur() {
428 596 fernando
                if (pvsur == null) {
429 312 fernando
                        pvsur = new javax.swing.JPanel();
430
                        pvsur.add(getJLabel3(), null);
431 1182 fjp
                        pvsur.add(getTMaxScale(), null);
432 312 fernando
                }
433 596 fernando
434 312 fernando
                return pvsur;
435
        }
436 596 fernando
437 312 fernando
        /**
438
         * This method initializes jLabel2
439 596 fernando
         *
440 312 fernando
         * @return javax.swing.JLabel
441
         */
442
        private javax.swing.JLabel getJLabel2() {
443 596 fernando
                if (jLabel2 == null) {
444 312 fernando
                        jLabel2 = new javax.swing.JLabel();
445 596 fernando
                        jLabel2.setText(PluginServices.getText(this, "Escala_Minima") +
446 1182 fjp
                                "  1:");
447 312 fernando
                }
448 596 fernando
449 312 fernando
                return jLabel2;
450
        }
451 596 fernando
452 312 fernando
        /**
453
         * This method initializes jLabel3
454 596 fernando
         *
455 312 fernando
         * @return javax.swing.JLabel
456
         */
457
        private javax.swing.JLabel getJLabel3() {
458 596 fernando
                if (jLabel3 == null) {
459 312 fernando
                        jLabel3 = new javax.swing.JLabel();
460 596 fernando
                        jLabel3.setText(PluginServices.getText(this, "Escala_Maxima") +
461 1182 fjp
                                "  1:");
462 312 fernando
                }
463 596 fernando
464 312 fernando
                return jLabel3;
465
        }
466 596 fernando
467 312 fernando
        /**
468 1174 vcaballero
         * This method initializes tminEscala
469 596 fernando
         *
470 312 fernando
         * @return javax.swing.JTextField
471
         */
472 1174 vcaballero
        private javax.swing.JTextField getTminEscala() {
473
                if (tminEscala == null) {
474
                        tminEscala = new javax.swing.JTextField();
475
                        tminEscala.setPreferredSize(new java.awt.Dimension(150, 20));
476 312 fernando
                }
477 596 fernando
478 1174 vcaballero
                return tminEscala;
479 312 fernando
        }
480 596 fernando
481 312 fernando
        /**
482 1182 fjp
         * This method initializes jTextField1
483 596 fernando
         *
484 312 fernando
         * @return javax.swing.JTextField
485
         */
486 1182 fjp
        private javax.swing.JTextField getTMaxScale() {
487
                if (tMaxScale == null) {
488
                        tMaxScale = new javax.swing.JTextField();
489
                        tMaxScale.setPreferredSize(new java.awt.Dimension(150, 20));
490 312 fernando
                }
491 596 fernando
492 1182 fjp
                return tMaxScale;
493 312 fernando
        }
494 596 fernando
495 312 fernando
        /* (non-Javadoc)
496
         * @see com.iver.mdiApp.ui.MDIManager.View#getViewInfo()
497
         */
498
        public ViewInfo getViewInfo() {
499 596 fernando
                ViewInfo m_viewinfo = new ViewInfo(ViewInfo.MODALDIALOG);
500
                m_viewinfo.setTitle(PluginServices.getText(this, "propiedades_tema"));
501
502
                return m_viewinfo;
503
        }
504
505 312 fernando
        /**
506
         * @see com.iver.mdiApp.ui.MDIManager.View#viewActivated()
507
         */
508
        public void viewActivated() {
509
        }
510 775 vcaballero
        /**
511
         * This method initializes jTextField2
512
         *
513
         * @return javax.swing.JTextField
514
         */
515
        private JTextField getJTextField2() {
516
                if (jTextField2 == null) {
517
                        jTextField2 = new JTextField();
518
                        jTextField2.setPreferredSize(new java.awt.Dimension(40,20));
519
                        if (view.getSelectedField() != null) {
520
                                jTextField2.setText(view.getExtLink());
521
                        }
522
                }
523
                return jTextField2;
524
        }
525 1174 vcaballero
        /**
526
         * This method initializes pvCenter
527
         *
528
         * @return javax.swing.JPanel
529
         */
530
        private JPanel getPvCenter() {
531
                if (pvCenter == null) {
532
                        pvCenter = new JPanel();
533
                        pvCenter.add(getJLabel2(), null);
534
                        pvCenter.add(getTminEscala(), null);
535
                }
536
                return pvCenter;
537
        }
538
  } //  @jve:visual-info  decl-index=0 visual-constraint="10,10"