Statistics
| Revision:

root / trunk / applications / appgvSIG / src / com / iver / cit / gvsig / project / ProjectWindow.java @ 585

History | View | Annotate | Download (32.9 KB)

1 312 fernando
package com.iver.cit.gvsig.project;
2
3 464 fernando
import java.beans.PropertyChangeEvent;
4
import java.beans.PropertyChangeListener;
5
import java.io.File;
6
import java.text.DateFormat;
7 312 fernando
8 464 fernando
import javax.swing.ButtonGroup;
9
import javax.swing.JDialog;
10
import javax.swing.JOptionPane;
11
import javax.swing.JPanel;
12
13
import com.hardcode.driverManager.DriverLoadException;
14 427 fernando
import com.hardcode.gdbms.engine.data.DBDriver;
15
import com.hardcode.gdbms.engine.data.DataSource;
16
import com.hardcode.gdbms.engine.data.DataSourceFactory;
17 438 fernando
import com.hardcode.gdbms.engine.data.FileDriver;
18 312 fernando
import com.iver.cit.gvsig.ProjectExtension;
19 570 luisw
import com.iver.cit.gvsig.fmap.drivers.GeorreferencedRasterDriver;
20 464 fernando
import com.iver.cit.gvsig.fmap.layers.SelectableDataSource;
21 427 fernando
import com.iver.cit.gvsig.gui.DataBaseOpenDialog;
22
import com.iver.cit.gvsig.gui.FOpenDialog;
23
import com.iver.cit.gvsig.gui.FileOpenDialog;
24
import com.iver.cit.gvsig.gui.Table;
25 312 fernando
import com.iver.cit.gvsig.gui.layout.Layout;
26 412 vcaballero
import com.iver.cit.gvsig.project.castor.Project;
27
import com.iver.cit.gvsig.project.castor.ProjectElement;
28
import com.iver.cit.gvsig.project.castor.ProjectMap;
29
import com.iver.cit.gvsig.project.castor.ProjectTable;
30
import com.iver.cit.gvsig.project.castor.ProjectView;
31 312 fernando
import com.iver.mdiApp.App;
32
import com.iver.mdiApp.Utilities;
33
import com.iver.mdiApp.ui.MDIManager.SingletonView;
34
import com.iver.mdiApp.ui.MDIManager.View;
35
import com.iver.mdiApp.ui.MDIManager.ViewInfo;
36
import com.iver.utiles.DefaultListModel;
37
38
39
/**
40
 * Clase principal del proyecto donde se puede operar para crear vistas,
41
 * tablas, mapas, ...
42
 *
43
 * @author Fernando Gonz?lez Cort?s
44
 */
45 438 fernando
public class ProjectWindow extends JPanel implements PropertyChangeListener,
46
    View, SingletonView {
47 312 fernando
    private javax.swing.JPanel jPanel = null;
48
    private javax.swing.JRadioButton btnVistas = null;
49
    private javax.swing.JRadioButton btnTablas = null;
50
    private javax.swing.JRadioButton btnMapas = null;
51
    private ButtonGroup grupo = new ButtonGroup();
52
    private javax.swing.JPanel jPanel1 = null;
53
    private javax.swing.JList lstDocs = null;
54
    private javax.swing.JPanel jPanel2 = null;
55
    private javax.swing.JButton btnNuevo = null;
56
    private javax.swing.JButton btnPropiedades = null;
57
    private javax.swing.JButton btnAbrir = null;
58
    private javax.swing.JButton btnBorrar = null;
59
    private javax.swing.JButton btnRenombrar = null;
60
    private javax.swing.JPanel jPanel3 = null;
61
    private javax.swing.JLabel jLabel = null;
62
    private javax.swing.JLabel lblNombreSesion = null;
63
    private javax.swing.JLabel jLabel1 = null;
64
    private javax.swing.JLabel lblGuardado = null;
65
    private javax.swing.JLabel jLabel2 = null;
66
    private javax.swing.JLabel lblFecha = null;
67
    private javax.swing.JButton btnImportar = null;
68
    private javax.swing.JButton btnExportar = null;
69
    private javax.swing.JButton btnEditar = null;
70
71
    /** Proyecto representado en la vista */
72
    private Project p;
73
74
    /**
75
     * Extension con la informaci?n, entre otras, sobre las extensiones para
76
     * las tablas
77
     */
78
    private ProjectExtension projectExtension;
79
    private javax.swing.JScrollPane jScrollPane = null;
80 438 fernando
    private javax.swing.JPanel jPanel4 = null;
81
    private ViewInfo m_viewinfo = null;
82 312 fernando
83
    /**
84
     * This is the default constructor
85
     *
86
     * @param project Extension
87
     */
88
    public ProjectWindow(ProjectExtension project) {
89
        super();
90
91
        initialize();
92
93
        projectExtension = project;
94
95
        refreshControls();
96
    }
97
98
    /**
99
     * Asigna el proyecto a la ventana
100
     *
101
     * @param p Proyecto con el que se operar? a trav?s de este di?logo
102
     */
103
    public void setProject(Project p) {
104
        this.p = p;
105
        p.addPropertyChangeListener(this);
106
        refreshControls();
107
    }
108
109
    /**
110
     * Activa los botones de la botonera del medio o los desactiva en funci?n
111
     * de que est? seleccionado o no un elemento de proyecto en la lista del
112
     * medio
113
     */
114
    private void activarBotones() {
115
        if (lstDocs.getSelectedIndex() != -1) {
116
            btnAbrir.setEnabled(true);
117
            btnBorrar.setEnabled(true);
118
            btnRenombrar.setEnabled(true);
119
            btnPropiedades.setEnabled(true);
120
        } else {
121
            btnAbrir.setEnabled(false);
122
            btnBorrar.setEnabled(false);
123
            btnRenombrar.setEnabled(false);
124
            btnPropiedades.setEnabled(false);
125
        }
126
    }
127
128
    /**
129
     * Refresca la lista de elementos de proyecto con vistas, mapas o tablas,
130
     * seg?n la opci?n activada
131
     */
132
    private void refreshList() {
133
        if (p != null) {
134
            DefaultListModel model;
135
136
            if (btnMapas.isSelected()) {
137
                model = new DefaultListModel(p.getMaps());
138 438 fernando
139
                //                                getBtnNuevo().setEnabled(true);
140 312 fernando
            } else if (btnTablas.isSelected()) {
141
                model = new DefaultListModel(p.getTables());
142 438 fernando
143
                //                getBtnNuevo().setEnabled(false);
144 312 fernando
            } else {
145
                model = new DefaultListModel(p.getViews());
146 438 fernando
147
                //                                getBtnNuevo().setEnabled(true);
148 312 fernando
            }
149
150
            lstDocs.setModel(model);
151
152
            activarBotones();
153
        }
154
    }
155
156
    /**
157
     * Refresca las etiquetas con la informaci?n del proyecto
158
     */
159
    private void refreshProperties() {
160
        if (p != null) {
161
            String aux;
162
163
            lblNombreSesion.setText(p.getName());
164
165
            String path = p.getPath();
166
167
            if (path != null) {
168
                File f = new File(path);
169
                lblGuardado.setText(f.toString());
170
            } else {
171
                lblGuardado.setText("");
172
            }
173
174
            lblFecha.setText(p.getCreationDate());
175
        }
176
    }
177
178
    /**
179
     * Refresca todo el di?logo
180
     */
181
    public void refreshControls() {
182
        refreshList();
183
        refreshProperties();
184
    }
185
186
    /**
187
     * This method initializes this
188
     */
189
    private void initialize() {
190
        setLayout(new java.awt.FlowLayout());
191
        add(getJPanel(), null);
192
        add(getJPanel1(), null);
193
        add(getJPanel3(), null);
194
195
        this.setSize(400, 450);
196 438 fernando
        this.setPreferredSize(new java.awt.Dimension(400, 430));
197 312 fernando
        grupo.add(btnVistas);
198
        grupo.add(btnTablas);
199
        grupo.add(btnMapas);
200
201
        btnVistas.setSelected(true);
202
    }
203
204
    /**
205
     * Crea un nuevo project element
206 438 fernando
     *
207
     * @throws Exception DOCUMENT ME!
208 312 fernando
     */
209
    private void nuevo() throws Exception {
210 438 fernando
        DateFormat df = DateFormat.getDateInstance();
211
212 312 fernando
        if (btnMapas.isSelected()) {
213 438 fernando
            ProjectMap map = ProjectFactory.createMap(Utilities.getMessage(
214
                        this, "untitled"));
215 312 fernando
            map.setModel(new Layout());
216
            map.getModel().setProjectMap(map);
217
            p.addMap(map);
218
        } else if (btnTablas.isSelected()) {
219 438 fernando
            try {
220
                FOpenDialog fopen = new FOpenDialog();
221 570 luisw
                FileOpenDialog fod = new FileOpenDialog(new Class[]{FileDriver.class, GeorreferencedRasterDriver.class});
222 438 fernando
                DataBaseOpenDialog dbod = new DataBaseOpenDialog();
223
                dbod.setClasses(new Class[] { DBDriver.class });
224
                fopen.addTab("Fichero", fod);
225
                fopen.addTab("Base de datos", dbod);
226
                App.instance.getMDIContext().addView(fopen);
227 312 fernando
228 438 fernando
                if (fopen.isAccepted()) {
229
                    JPanel panel = fopen.getSelectedTab();
230 427 fernando
231 438 fernando
                    if (panel instanceof FileOpenDialog) {
232
                            File[] files = fod.getFiles();
233
                            for (int i = 0; i < files.length; i++) {
234
                                String name = files[i].getName();
235 550 fernando
                            DataSourceFactory.addFileDataSource(fod.getDriverName(), name, files[i].getAbsolutePath(), files[i].getAbsolutePath());
236 438 fernando
237
                            DataSource dataSource = DataSourceFactory.createRandomDataSource(name);
238 550 fernando
                            SelectableDataSource sds = new SelectableDataSource(name, dataSource);
239 438 fernando
                            ProjectExtension ext = (ProjectExtension) App.instance.getPc()
240
                                                                                  .getExtension(ProjectExtension.class);
241 550 fernando
                            ProjectTable projectTable = ProjectFactory.createTable(name, sds);
242 438 fernando
                            ext.getProject().addTable(projectTable);
243 457 fernando
244
                            Table t = new Table();
245
                            t.setModel(projectTable, null);
246
                            App.instance.getMDIContext().addView(t);
247 438 fernando
                                                }
248
                    } else if (panel instanceof DataBaseOpenDialog) {
249
                        String driverName = dbod.getDriverName();
250
                        int port = -1;
251
252
                        try {
253
                            port = Integer.parseInt(dbod.getPort());
254
                        } catch (NumberFormatException e) {
255
                        }
256
257
                        String name = dbod.getHost() + "/" +
258
                            dbod.getDataBase();
259
260
                        if (port != -1) {
261
                            name = dbod.getHost() + ":" + port + "/" +
262
                                dbod.getDataBase();
263
                        }
264
265
                        String user = dbod.getUser().trim();
266
                        String password = dbod.getPassword();
267
268
                        if (user.equals("")) {
269
                            user = null;
270
                            password = null;
271
                        }
272
273
                        DataSourceFactory.addDBDataSource(name, dbod.getHost(),
274
                            port, user, password, dbod.getDataBase(),
275
                            dbod.getTable(), driverName);
276
277
                        DataSource dataSource = DataSourceFactory.createRandomDataSource(name);
278 570 luisw
                        SelectableDataSource sds = new SelectableDataSource(dataSource.getName(), dataSource);
279 438 fernando
280
                        ProjectExtension ext = (ProjectExtension) App.instance.getPc()
281
                                                                              .getExtension(ProjectExtension.class);
282 550 fernando
                        ProjectTable projectTable = ProjectFactory.createTable(name, sds);
283 438 fernando
                        ext.getProject().addTable(projectTable);
284 457 fernando
285
                        Table t = new Table();
286
                        t.setModel(projectTable, null);
287
                        App.instance.getMDIContext().addView(t);
288 438 fernando
                    }
289
                }
290
            } catch (DriverLoadException e) {
291
                App.instance.getNm().addError("Error al cargar los drivers", e);
292
            }
293 312 fernando
        } else {
294 438 fernando
            ProjectView vista = ProjectFactory.createView(Utilities.getMessage(
295
                        this, "untitled"));
296 312 fernando
            p.addView(vista);
297
        }
298
    }
299
300
    /**
301
     * Abre la ventana de un nuevo project element
302
     */
303
    private void abrir() {
304
        if (btnMapas.isSelected()) {
305 438 fernando
            int index = lstDocs.getSelectedIndex();
306 312 fernando
307 438 fernando
            if (index == -1) {
308
                return;
309
            }
310 312 fernando
311 448 vcaballero
            Layout l = (Layout)((ProjectMap) p.getMaps().get(index)).getModel();
312 438 fernando
            l.fullRect();
313
            App.instance.getMDIContext().addView(l);
314 312 fernando
        } else if (btnTablas.isSelected()) {
315 438 fernando
            com.iver.cit.gvsig.gui.Table vista = new com.iver.cit.gvsig.gui.Table();
316
            int index = lstDocs.getSelectedIndex();
317 312 fernando
318 438 fernando
            if (index == -1) {
319
                return;
320
            }
321 312 fernando
322 457 fernando
            vista.setModel((ProjectTable) p.getTables().get(index), null);
323 438 fernando
            App.instance.getMDIContext().addView(vista);
324 312 fernando
        } else {
325
            com.iver.cit.gvsig.gui.View vista = new com.iver.cit.gvsig.gui.View();
326 438 fernando
            int index = lstDocs.getSelectedIndex();
327 312 fernando
328 438 fernando
            if (index == -1) {
329
                return;
330
            }
331 312 fernando
332 438 fernando
            vista.setModel((ProjectView) p.getViews().get(index));
333 312 fernando
            App.instance.getMDIContext().addView(vista);
334 442 vcaballero
            vista.repaintMap();
335 448 vcaballero
            vista.getTOC().refresh();
336 312 fernando
        }
337
    }
338
339
    /**
340
     * Cambia el nombre de un project element
341
     */
342
    private void renombrar() {
343
        ProjectElement elem = null;
344
        int index = lstDocs.getSelectedIndex();
345
346
        if (index == -1) {
347
            return;
348
        }
349
350
        if (btnMapas.isSelected()) {
351
            elem = (ProjectElement) p.getMaps().get(index);
352
        } else if (btnTablas.isSelected()) {
353
            elem = (ProjectElement) p.getTables().get(index);
354
        } else {
355
            elem = (ProjectElement) p.getViews().get(index);
356
        }
357
358
        JOptionPane pane = new JOptionPane();
359
        pane.setMessage(Utilities.getMessage(this, "introduce_nombre"));
360
        pane.setMessageType(JOptionPane.QUESTION_MESSAGE);
361
        pane.setWantsInput(true);
362
        pane.setInitialSelectionValue(elem.getName());
363
364
        JDialog dlg = pane.createDialog(App.instance.getMDIFrame(),
365
                Utilities.getMessage(this, "renombrar"));
366
        dlg.setModal(true);
367
        dlg.show();
368
369
        String nuevoNombre = pane.getInputValue().toString().trim();
370
371
        if (nuevoNombre.length() == 0) {
372
            return;
373
        }
374
375
        if (nuevoNombre == null) {
376
            return;
377
        }
378
379
        elem.setName(nuevoNombre);
380
381
        refreshList();
382
    }
383
384
    /**
385
     * Borra un project element
386
     */
387
    private void borrar() {
388
        int res = JOptionPane.showConfirmDialog(App.instance.getMDIFrame(),
389
                Utilities.getMessage(this, "confirmar_borrar"),
390
                Utilities.getMessage(this, "borrar"),
391
                JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE);
392
393
        if (res == JOptionPane.YES_OPTION) {
394
            int index = lstDocs.getSelectedIndex();
395
396
            if (btnMapas.isSelected()) {
397
                p.delMap(index);
398
            } else if (btnTablas.isSelected()) {
399
                p.delTable(index);
400
            } else {
401
                p.delView(index);
402
            }
403
404
            refreshList();
405
        }
406
    }
407
408
    /**
409
     * Muestra el di?logo de propiedades de un project element
410
     */
411
    private void propiedades() {
412
        int index = lstDocs.getSelectedIndex();
413
414
        if (index == -1) {
415
            return;
416
        }
417
418 438 fernando
        View dlg;
419
420 312 fernando
        if (btnMapas.isSelected()) {
421 438 fernando
            dlg = new MapProperties((ProjectMap) p.getMaps().get(index));
422 312 fernando
        } else if (btnTablas.isSelected()) {
423 438 fernando
            dlg = new TableProperties((ProjectTable) p.getTables().get(index));
424 312 fernando
        } else {
425 438 fernando
            dlg = new ViewProperties((ProjectView) p.getViews().get(index));
426 312 fernando
        }
427
428 438 fernando
        App.instance.getMDIContext().addView(dlg);
429
430 312 fernando
        refreshControls();
431
        lstDocs.setSelectedIndex(index);
432
    }
433
434
    /**
435
     * This method initializes jPanel
436
     *
437
     * @return javax.swing.JPanel
438
     */
439
    private javax.swing.JPanel getJPanel() {
440
        if (jPanel == null) {
441
            jPanel = new javax.swing.JPanel();
442
443
            java.awt.FlowLayout layFlowLayout1 = new java.awt.FlowLayout();
444
            layFlowLayout1.setHgap(15);
445
            jPanel.setLayout(layFlowLayout1);
446
            jPanel.add(getBtnVistas(), null);
447
            jPanel.add(getBtnTablas(), null);
448
            jPanel.add(getBtnMapas(), null);
449
            jPanel.setName("tipoDocPanel");
450 438 fernando
            jPanel.setPreferredSize(new java.awt.Dimension(390, 125));
451 312 fernando
            jPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(
452
                    null, Utilities.getMessage(this, "tipos_de_documentos"),
453
                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
454
                    javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
455
        }
456
457
        return jPanel;
458
    }
459
460
    /**
461
     * This method initializes btnVistas
462
     *
463
     * @return javax.swing.JRadioButton
464
     */
465
    private javax.swing.JRadioButton getBtnVistas() {
466
        if (btnVistas == null) {
467
            btnVistas = new javax.swing.JRadioButton();
468
            btnVistas.setIcon(new javax.swing.ImageIcon(
469
                    this.getClass().getClassLoader().getResource("images/Vista.png")));
470
            btnVistas.setSelectedIcon(new javax.swing.ImageIcon(
471
                    this.getClass().getClassLoader().getResource("images/Vista_sel.png")));
472
            btnVistas.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
473
            btnVistas.setText(Utilities.getMessage(this, "vistas"));
474
            btnVistas.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
475
            btnVistas.setName("vistasBtn");
476
            btnVistas.addChangeListener(new javax.swing.event.ChangeListener() {
477
                    public void stateChanged(javax.swing.event.ChangeEvent e) {
478
                        refreshList();
479
                    }
480
                });
481
        }
482
483
        return btnVistas;
484
    }
485
486
    /**
487
     * This method initializes btnTablas
488
     *
489
     * @return javax.swing.JRadioButton
490
     */
491
    private javax.swing.JRadioButton getBtnTablas() {
492
        if (btnTablas == null) {
493
            btnTablas = new javax.swing.JRadioButton();
494
            btnTablas.setIcon(new javax.swing.ImageIcon(
495
                    this.getClass().getClassLoader().getResource("images/tablas.png")));
496
            btnTablas.setSelectedIcon(new javax.swing.ImageIcon(
497
                    this.getClass().getClassLoader().getResource("images/tablas_sel.png")));
498
            btnTablas.setText(Utilities.getMessage(this, "tablas"));
499
            btnTablas.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
500
            btnTablas.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
501
            btnTablas.setName("tablasBtn");
502
            btnTablas.addChangeListener(new javax.swing.event.ChangeListener() {
503
                    public void stateChanged(javax.swing.event.ChangeEvent e) {
504
                        refreshList();
505
                    }
506
                });
507
        }
508
509
        return btnTablas;
510
    }
511
512
    /**
513
     * This method initializes btnMapas
514
     *
515
     * @return javax.swing.JRadioButton
516
     */
517
    private javax.swing.JRadioButton getBtnMapas() {
518
        if (btnMapas == null) {
519
            btnMapas = new javax.swing.JRadioButton();
520
            btnMapas.setIcon(new javax.swing.ImageIcon(
521
                    this.getClass().getClassLoader().getResource("images/mapas.png")));
522
            btnMapas.setSelectedIcon(new javax.swing.ImageIcon(
523
                    this.getClass().getClassLoader().getResource("images/mapas_sel.png")));
524
            btnMapas.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
525
            btnMapas.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
526
            btnMapas.setText(Utilities.getMessage(this, "mapas"));
527
            btnMapas.addChangeListener(new javax.swing.event.ChangeListener() {
528
                    public void stateChanged(javax.swing.event.ChangeEvent e) {
529
                        refreshList();
530
                    }
531
                });
532
        }
533
534
        return btnMapas;
535
    }
536
537
    /**
538
     * This method initializes jPanel1
539
     *
540
     * @return javax.swing.JPanel
541
     */
542
    private javax.swing.JPanel getJPanel1() {
543
        if (jPanel1 == null) {
544
            jPanel1 = new javax.swing.JPanel();
545
546
            java.awt.BorderLayout layBorderLayout2 = new java.awt.BorderLayout();
547
            layBorderLayout2.setVgap(30);
548
            jPanel1.setLayout(layBorderLayout2);
549
            jPanel1.add(getJPanel2(), java.awt.BorderLayout.EAST);
550
            jPanel1.add(getJScrollPane(), java.awt.BorderLayout.CENTER);
551 438 fernando
            jPanel1.setPreferredSize(new java.awt.Dimension(390, 170));
552 312 fernando
            jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(
553
                    null, Utilities.getMessage(this, "documentos_existentes"),
554
                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
555
                    javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
556
        }
557
558
        return jPanel1;
559
    }
560
561
    /**
562
     * This method initializes lstDocs
563
     *
564
     * @return javax.swing.JList
565
     */
566
    private javax.swing.JList getLstDocs() {
567
        if (lstDocs == null) {
568
            lstDocs = new javax.swing.JList();
569 438 fernando
            lstDocs.addMouseListener(new java.awt.event.MouseAdapter() {
570
                    public void mouseClicked(java.awt.event.MouseEvent e) {
571
                        if (e.getClickCount() == 2) {
572
                            abrir();
573
                        }
574
                    }
575
                });
576 312 fernando
            lstDocs.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
577
                    public void valueChanged(
578
                        javax.swing.event.ListSelectionEvent e) {
579
                        activarBotones();
580
                    }
581
                });
582
        }
583
584
        return lstDocs;
585
    }
586
587
    /**
588
     * This method initializes jPanel2
589
     *
590
     * @return javax.swing.JPanel
591
     */
592
    private javax.swing.JPanel getJPanel2() {
593
        if (jPanel2 == null) {
594
            jPanel2 = new javax.swing.JPanel();
595 438 fernando
596 312 fernando
            java.awt.FlowLayout layFlowLayout11 = new java.awt.FlowLayout();
597
            layFlowLayout11.setVgap(5);
598
            jPanel2.setLayout(layFlowLayout11);
599
            jPanel2.add(getBtnNuevo(), null);
600
            jPanel2.add(getBtnAbrir(), null);
601
            jPanel2.add(getBtnRenombrar(), null);
602
            jPanel2.add(getBtnBorrar(), null);
603
            jPanel2.add(getBtnPropiedades(), null);
604 438 fernando
            jPanel2.setPreferredSize(new java.awt.Dimension(100, 50));
605 312 fernando
        }
606
607
        return jPanel2;
608
    }
609
610
    /**
611
     * This method initializes btnNuevo
612
     *
613
     * @return javax.swing.JButton
614
     */
615
    private javax.swing.JButton getBtnNuevo() {
616
        if (btnNuevo == null) {
617
            btnNuevo = new javax.swing.JButton();
618 438 fernando
            btnNuevo.setPreferredSize(new java.awt.Dimension(80, 23));
619 312 fernando
            btnNuevo.setName("btnNuevo");
620
            btnNuevo.setText(Utilities.getMessage(this, "nuevo"));
621 438 fernando
            btnNuevo.setMargin(new java.awt.Insets(2, 2, 2, 2));
622 312 fernando
            btnNuevo.addActionListener(new java.awt.event.ActionListener() {
623
                    public void actionPerformed(java.awt.event.ActionEvent e) {
624
                        try {
625 438 fernando
                            nuevo();
626
                        } catch (Exception e1) {
627
                            App.instance.getNm().addError(e1.getLocalizedMessage(),
628
                                e1);
629
                        }
630 312 fernando
                    }
631
                });
632
        }
633
634
        return btnNuevo;
635
    }
636
637
    /**
638
     * This method initializes btnPropiedades
639
     *
640
     * @return javax.swing.JButton
641
     */
642
    private javax.swing.JButton getBtnPropiedades() {
643
        if (btnPropiedades == null) {
644
            btnPropiedades = new javax.swing.JButton();
645 438 fernando
            btnPropiedades.setPreferredSize(new java.awt.Dimension(80, 23));
646 312 fernando
            btnPropiedades.setText(Utilities.getMessage(this, "propiedades"));
647
            btnPropiedades.setName("btnPropiedades");
648
            btnPropiedades.setEnabled(false);
649 438 fernando
            btnPropiedades.setMargin(new java.awt.Insets(2, 2, 2, 2));
650 312 fernando
            btnPropiedades.addActionListener(new java.awt.event.ActionListener() {
651
                    public void actionPerformed(java.awt.event.ActionEvent e) {
652
                        propiedades();
653
                    }
654
                });
655
        }
656
657
        return btnPropiedades;
658
    }
659
660
    /**
661
     * This method initializes btnAbrir
662
     *
663
     * @return javax.swing.JButton
664
     */
665
    private javax.swing.JButton getBtnAbrir() {
666
        if (btnAbrir == null) {
667
            btnAbrir = new javax.swing.JButton();
668 438 fernando
            btnAbrir.setPreferredSize(new java.awt.Dimension(80, 23));
669 312 fernando
            btnAbrir.setName("btnAbrir");
670
            btnAbrir.setText(Utilities.getMessage(this, "abrir"));
671
            btnAbrir.setEnabled(false);
672 438 fernando
            btnAbrir.setMargin(new java.awt.Insets(2, 2, 2, 2));
673 312 fernando
            btnAbrir.addActionListener(new java.awt.event.ActionListener() {
674
                    public void actionPerformed(java.awt.event.ActionEvent e) {
675
                        abrir();
676
                    }
677
                });
678
        }
679
680
        return btnAbrir;
681
    }
682
683
    /**
684
     * This method initializes btnBorrar
685
     *
686
     * @return javax.swing.JButton
687
     */
688
    private javax.swing.JButton getBtnBorrar() {
689
        if (btnBorrar == null) {
690
            btnBorrar = new javax.swing.JButton();
691 438 fernando
            btnBorrar.setPreferredSize(new java.awt.Dimension(80, 23));
692 312 fernando
            btnBorrar.setText(Utilities.getMessage(this, "borrar"));
693
            btnBorrar.setName("btnBorrar");
694
            btnBorrar.setEnabled(false);
695 438 fernando
            btnBorrar.setMargin(new java.awt.Insets(2, 2, 2, 2));
696 312 fernando
            btnBorrar.addActionListener(new java.awt.event.ActionListener() {
697
                    public void actionPerformed(java.awt.event.ActionEvent e) {
698
                        borrar();
699
                    }
700
                });
701
        }
702
703
        return btnBorrar;
704
    }
705
706
    /**
707
     * This method initializes btnRenombrar
708
     *
709
     * @return javax.swing.JButton
710
     */
711
    private javax.swing.JButton getBtnRenombrar() {
712
        if (btnRenombrar == null) {
713
            btnRenombrar = new javax.swing.JButton();
714 438 fernando
            btnRenombrar.setPreferredSize(new java.awt.Dimension(80, 23));
715 312 fernando
            btnRenombrar.setName("btnRenombrar");
716
            btnRenombrar.setText(Utilities.getMessage(this, "renombrar"));
717
            btnRenombrar.setEnabled(false);
718 438 fernando
            btnRenombrar.setMargin(new java.awt.Insets(2, 2, 2, 2));
719 312 fernando
            btnRenombrar.addActionListener(new java.awt.event.ActionListener() {
720
                    public void actionPerformed(java.awt.event.ActionEvent e) {
721
                        renombrar();
722
                    }
723
                });
724
        }
725
726
        return btnRenombrar;
727
    }
728
729
    /**
730
     * This method initializes jPanel3
731
     *
732
     * @return javax.swing.JPanel
733
     */
734
    private javax.swing.JPanel getJPanel3() {
735
        if (jPanel3 == null) {
736
            jPanel3 = new javax.swing.JPanel();
737
738
            java.awt.FlowLayout layFlowLayout3 = new java.awt.FlowLayout();
739
            layFlowLayout3.setHgap(5);
740
            layFlowLayout3.setAlignment(java.awt.FlowLayout.LEFT);
741
            jPanel3.setLayout(layFlowLayout3);
742
            jPanel3.add(getJLabel(), null);
743
            jPanel3.add(getLblNombreSesion(), null);
744
            jPanel3.add(getJLabel1(), null);
745
            jPanel3.add(getLblGuardado(), null);
746
            jPanel3.add(getJLabel2(), null);
747
            jPanel3.add(getLblFecha(), null);
748
            jPanel3.add(getJPanel4(), null);
749 438 fernando
            jPanel3.setPreferredSize(new java.awt.Dimension(390, 125));
750 312 fernando
            jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(
751
                    null, Utilities.getMessage(this, "propiedades_sesion"),
752
                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
753
                    javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
754
        }
755
756
        return jPanel3;
757
    }
758
759
    /**
760
     * This method initializes jLabel
761
     *
762
     * @return javax.swing.JLabel
763
     */
764
    private javax.swing.JLabel getJLabel() {
765
        if (jLabel == null) {
766
            jLabel = new javax.swing.JLabel();
767
            jLabel.setText(Utilities.getMessage(this, "nombre_sesion") + ":");
768
            jLabel.setPreferredSize(new java.awt.Dimension(150, 16));
769
        }
770
771
        return jLabel;
772
    }
773
774
    /**
775
     * This method initializes lblNombreSesion
776
     *
777
     * @return javax.swing.JLabel
778
     */
779
    private javax.swing.JLabel getLblNombreSesion() {
780
        if (lblNombreSesion == null) {
781
            lblNombreSesion = new javax.swing.JLabel();
782
            lblNombreSesion.setText("");
783
            lblNombreSesion.setName("lblNombreSesion");
784 438 fernando
            lblNombreSesion.setPreferredSize(new java.awt.Dimension(200, 16));
785 312 fernando
            lblNombreSesion.setAutoscrolls(true);
786
        }
787
788
        return lblNombreSesion;
789
    }
790
791
    /**
792
     * This method initializes jLabel1
793
     *
794
     * @return javax.swing.JLabel
795
     */
796
    private javax.swing.JLabel getJLabel1() {
797
        if (jLabel1 == null) {
798
            jLabel1 = new javax.swing.JLabel();
799
            jLabel1.setText(Utilities.getMessage(this, "guardado") + ":");
800
            jLabel1.setPreferredSize(new java.awt.Dimension(150, 16));
801
        }
802
803
        return jLabel1;
804
    }
805
806
    /**
807
     * This method initializes lblGuardado
808
     *
809
     * @return javax.swing.JLabel
810
     */
811
    private javax.swing.JLabel getLblGuardado() {
812
        if (lblGuardado == null) {
813
            lblGuardado = new javax.swing.JLabel();
814
            lblGuardado.setText("");
815 438 fernando
            lblGuardado.setPreferredSize(new java.awt.Dimension(200, 16));
816 312 fernando
            lblGuardado.setAutoscrolls(true);
817
        }
818
819
        return lblGuardado;
820
    }
821
822
    /**
823
     * This method initializes jLabel2
824
     *
825
     * @return javax.swing.JLabel
826
     */
827
    private javax.swing.JLabel getJLabel2() {
828
        if (jLabel2 == null) {
829
            jLabel2 = new javax.swing.JLabel();
830
            jLabel2.setText(Utilities.getMessage(this, "creation_date") + ":");
831
            jLabel2.setPreferredSize(new java.awt.Dimension(150, 16));
832
        }
833
834
        return jLabel2;
835
    }
836
837
    /**
838
     * This method initializes lblFecha
839
     *
840
     * @return javax.swing.JLabel
841
     */
842
    private javax.swing.JLabel getLblFecha() {
843
        if (lblFecha == null) {
844
            lblFecha = new javax.swing.JLabel();
845
            lblFecha.setText("");
846 438 fernando
            lblFecha.setPreferredSize(new java.awt.Dimension(200, 16));
847 312 fernando
            lblFecha.setAutoscrolls(true);
848
        }
849
850
        return lblFecha;
851
    }
852
853
    /**
854
     * This method initializes btnImportar
855
     *
856
     * @return javax.swing.JButton
857
     */
858
    private javax.swing.JButton getBtnImportar() {
859
        if (btnImportar == null) {
860
            btnImportar = new javax.swing.JButton();
861 438 fernando
            btnImportar.setPreferredSize(new java.awt.Dimension(80, 23));
862 312 fernando
            btnImportar.setText(Utilities.getMessage(this, "importar"));
863 438 fernando
            btnImportar.setMargin(new java.awt.Insets(2, 2, 2, 2));
864 312 fernando
        }
865
866
        return btnImportar;
867
    }
868
869
    /**
870
     * This method initializes btnExportar
871
     *
872
     * @return javax.swing.JButton
873
     */
874
    private javax.swing.JButton getBtnExportar() {
875
        if (btnExportar == null) {
876
            btnExportar = new javax.swing.JButton();
877 438 fernando
            btnExportar.setPreferredSize(new java.awt.Dimension(80, 23));
878 312 fernando
            btnExportar.setText(Utilities.getMessage(this, "exportar"));
879 438 fernando
            btnExportar.setMargin(new java.awt.Insets(2, 2, 2, 2));
880 312 fernando
        }
881
882
        return btnExportar;
883
    }
884
885
    /**
886
     * This method initializes btnEditar
887
     *
888
     * @return javax.swing.JButton
889
     */
890
    private javax.swing.JButton getBtnEditar() {
891
        if (btnEditar == null) {
892
            btnEditar = new javax.swing.JButton();
893 438 fernando
            btnEditar.setPreferredSize(new java.awt.Dimension(80, 23));
894 312 fernando
            btnEditar.setText(Utilities.getMessage(this, "propiedades"));
895
896 438 fernando
            btnEditar.setMargin(new java.awt.Insets(2, 2, 2, 2));
897
898 312 fernando
            final JPanel f = this;
899
            btnEditar.addActionListener(new java.awt.event.ActionListener() {
900
                    public void actionPerformed(java.awt.event.ActionEvent e) {
901
                        ProjectProperties dlg = new ProjectProperties(p);
902
                        App.instance.getMDIContext().addView(dlg);
903
                        refreshProperties();
904
                    }
905
                });
906
        }
907
908
        return btnEditar;
909
    }
910
911
    /**
912
     * This method initializes jScrollPane
913
     *
914
     * @return javax.swing.JScrollPane
915
     */
916
    private javax.swing.JScrollPane getJScrollPane() {
917
        if (jScrollPane == null) {
918
            jScrollPane = new javax.swing.JScrollPane();
919
            jScrollPane.setViewportView(getLstDocs());
920 438 fernando
            jScrollPane.setPreferredSize(new java.awt.Dimension(200, 100));
921 312 fernando
            jScrollPane.setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
922
        }
923
924
        return jScrollPane;
925
    }
926
927 438 fernando
    /**
928
     * @see com.iver.mdiApp.ui.MDIManager.SingletonView#getViewModel()
929
     */
930
    public Object getViewModel() {
931
        return p;
932
    }
933 312 fernando
934 438 fernando
    /**
935
     * @see com.iver.mdiApp.ui.MDIManager.View#getViewInfo()
936
     */
937
    public ViewInfo getViewInfo() {
938
        if (m_viewinfo == null) {
939
            m_viewinfo = new ViewInfo();
940
            m_viewinfo.setFeatures(ViewInfo.ALWAYSLIVE);
941
            m_viewinfo.setWidth(400);
942
            m_viewinfo.setHeight(430);
943
            m_viewinfo.setTitle(Utilities.getMessage(this, "titulo"));
944
        }
945 312 fernando
946 438 fernando
        return m_viewinfo;
947
    }
948 312 fernando
949 438 fernando
    /**
950
     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
951
     */
952
    public void propertyChange(PropertyChangeEvent evt) {
953
        refreshControls();
954
    }
955
956
    /**
957
     * @see com.iver.mdiApp.ui.MDIManager.View#viewActivated()
958
     */
959
    public void viewActivated() {
960
    }
961
962
    /**
963
     * This method initializes jPanel4
964
     *
965
     * @return javax.swing.JPanel
966
     */
967
    private javax.swing.JPanel getJPanel4() {
968
        if (jPanel4 == null) {
969
            jPanel4 = new javax.swing.JPanel();
970
971
            java.awt.FlowLayout layFlowLayout2 = new java.awt.FlowLayout();
972
            layFlowLayout2.setHgap(30);
973
            jPanel4.setLayout(layFlowLayout2);
974
            jPanel4.add(getBtnImportar(), null);
975
            jPanel4.add(getBtnExportar(), null);
976
            jPanel4.add(getBtnEditar(), null);
977
            jPanel4.setPreferredSize(new java.awt.Dimension(360, 30));
978
        }
979
980
        return jPanel4;
981
    }
982 312 fernando
}