Statistics
| Revision:

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

History | View | Annotate | Download (36.6 KB)

1 1222 fernando
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
package com.iver.cit.gvsig.gui.project;
42
43
import java.awt.Component;
44 6412 jmvivo
import java.awt.FlowLayout;
45 6549 jmvivo
import java.awt.GridBagConstraints;
46
import java.awt.GridBagLayout;
47 6114 jaume
import java.awt.GridLayout;
48 6549 jmvivo
import java.awt.Insets;
49 1222 fernando
import java.beans.PropertyChangeEvent;
50
import java.beans.PropertyChangeListener;
51
import java.io.File;
52
import java.text.DateFormat;
53 6801 fjp
import java.util.ArrayList;
54 1222 fernando
55
import javax.swing.ButtonGroup;
56 6114 jaume
import javax.swing.ImageIcon;
57 1222 fernando
import javax.swing.JDialog;
58 6114 jaume
import javax.swing.JLabel;
59
import javax.swing.JList;
60 1222 fernando
import javax.swing.JOptionPane;
61
import javax.swing.JPanel;
62 6114 jaume
import javax.swing.JRadioButton;
63
import javax.swing.JScrollPane;
64 6412 jmvivo
import javax.swing.border.TitledBorder;
65 1222 fernando
66 6114 jaume
import org.gvsig.gui.beans.swing.JButton;
67
68 5548 fjp
import com.hardcode.driverManager.Driver;
69 1222 fernando
import com.hardcode.driverManager.DriverLoadException;
70
import com.hardcode.gdbms.engine.data.DataSource;
71
import com.hardcode.gdbms.engine.data.DataSourceFactory;
72 1830 fernando
import com.hardcode.gdbms.engine.data.driver.DBDriver;
73 2565 fernando
import com.hardcode.gdbms.engine.data.driver.DriverException;
74 1830 fernando
import com.hardcode.gdbms.engine.data.driver.FileDriver;
75 1222 fernando
import com.iver.andami.PluginServices;
76
import com.iver.andami.messages.NotificationManager;
77
import com.iver.andami.ui.mdiManager.SingletonView;
78 6877 cesar
import com.iver.andami.ui.mdiManager.IWindow;
79 1222 fernando
import com.iver.andami.ui.mdiManager.ViewInfo;
80
import com.iver.cit.gvsig.ProjectExtension;
81 3940 caballero
import com.iver.cit.gvsig.fmap.edition.EditableAdapter;
82 1774 fernando
import com.iver.cit.gvsig.fmap.layers.LayerFactory;
83 1222 fernando
import com.iver.cit.gvsig.fmap.layers.SelectableDataSource;
84
import com.iver.cit.gvsig.gui.DataBaseOpenDialog;
85
import com.iver.cit.gvsig.gui.FOpenDialog;
86
import com.iver.cit.gvsig.gui.FileOpenDialog;
87
import com.iver.cit.gvsig.gui.Table;
88
import com.iver.cit.gvsig.gui.layout.Layout;
89
import com.iver.cit.gvsig.project.Project;
90
import com.iver.cit.gvsig.project.ProjectElement;
91
import com.iver.cit.gvsig.project.ProjectFactory;
92
import com.iver.cit.gvsig.project.ProjectMap;
93
import com.iver.cit.gvsig.project.ProjectTable;
94
import com.iver.cit.gvsig.project.ProjectView;
95
import com.iver.utiles.DefaultListModel;
96
97
98
/**
99
 * Clase principal del proyecto donde se puede operar para crear vistas,
100
 * tablas, mapas, ...
101
 *
102
 * @author Fernando Gonz?lez Cort?s
103
 */
104
public class ProjectWindow extends JPanel implements PropertyChangeListener,
105 6877 cesar
        IWindow, SingletonView {
106 6114 jaume
        private JPanel jPanel = null;
107
        private JRadioButton btnVistas = null;
108
        private JRadioButton btnTablas = null;
109
        private JRadioButton btnMapas = null;
110 1830 fernando
        private ButtonGroup grupo = new ButtonGroup();
111 6114 jaume
        private JPanel jPanel1 = null;
112
        private JList lstDocs = null;
113
        private JPanel jPanel2 = null;
114
        private JButton btnNuevo = null;
115
        private JButton btnPropiedades = null;
116
        private JButton btnAbrir = null;
117
        private JButton btnBorrar = null;
118
        private JButton btnRenombrar = null;
119
        private JPanel jPanel3 = null;
120
        private JLabel jLabel = null;
121
        private JLabel lblNombreSesion = null;
122
        private JLabel jLabel1 = null;
123
        private JLabel lblGuardado = null;
124
        private JLabel jLabel2 = null;
125
        private JLabel lblFecha = null;
126
        private JButton btnImportar = null;
127
        private JButton btnExportar = null;
128
        private JButton btnEditar = null;
129 5028 cesar
        // The properties of the Project Manager window (size, position, etc):
130
        private ViewInfo m_viewInfo=null;
131 1222 fernando
132 1830 fernando
        /** Proyecto representado en la vista */
133
        private Project p;
134 1222 fernando
135 1830 fernando
        /**
136
         * Extension con la informaci?n, entre otras, sobre las extensiones para
137
         * las tablas
138
         */
139
        private ProjectExtension projectExtension;
140 6114 jaume
        private JScrollPane jScrollPane = null;
141
        private JPanel jPanel4 = null;
142 1222 fernando
143 1830 fernando
        /**
144
         * This is the default constructor
145
         *
146
         * @param project Extension
147
         */
148
        public ProjectWindow(ProjectExtension project) {
149
                super();
150 1222 fernando
151 1830 fernando
                initialize();
152 1222 fernando
153 1830 fernando
                projectExtension = project;
154 1222 fernando
155 1830 fernando
                refreshControls();
156
        }
157 1222 fernando
158 1830 fernando
        /**
159 5028 cesar
         * This is the default constructor
160
         *
161
         * @param project Extension
162
         */
163
        public ProjectWindow() {
164
                super();
165
166
                initialize();
167
                refreshControls();
168
        }
169 5320 caballero
170 5028 cesar
        public void setProjectExtension(ProjectExtension p) {
171
                projectExtension = p;
172
        }
173
174 5320 caballero
175 5028 cesar
        /**
176 1830 fernando
         * Asigna el proyecto a la ventana
177
         *
178
         * @param p Proyecto con el que se operar? a trav?s de este di?logo
179
         */
180
        public void setProject(Project p) {
181
                this.p = p;
182
                p.addPropertyChangeListener(this);
183
                refreshControls();
184
        }
185 1222 fernando
186 1830 fernando
        /**
187
         * Activa los botones de la botonera del medio o los desactiva en funci?n
188
         * de que est? seleccionado o no un elemento de proyecto en la lista del
189
         * medio
190
         */
191
        private void activarBotones() {
192
                if (lstDocs.getSelectedIndex() != -1) {
193
                        btnAbrir.setEnabled(true);
194
                        btnBorrar.setEnabled(true);
195 6494 caballero
                        if (lstDocs.getSelectedIndices().length==1) {
196
                                btnRenombrar.setEnabled(true);
197
                                btnPropiedades.setEnabled(true);
198
                        }else {
199
                                btnRenombrar.setEnabled(false);
200
                                btnPropiedades.setEnabled(false);
201
                        }
202 1830 fernando
                } else {
203
                        btnAbrir.setEnabled(false);
204
                        btnBorrar.setEnabled(false);
205
                        btnRenombrar.setEnabled(false);
206
                        btnPropiedades.setEnabled(false);
207
                }
208
        }
209 1222 fernando
210 1830 fernando
        /**
211
         * Refresca la lista de elementos de proyecto con vistas, mapas o tablas,
212
         * seg?n la opci?n activada
213
         */
214
        private void refreshList() {
215
                if (p != null) {
216
                        DefaultListModel model;
217 6412 jmvivo
                        String tituloMarco = PluginServices.getText(this, "documentos_existentes");
218 1222 fernando
219 1830 fernando
                        if (btnMapas.isSelected()) {
220
                                model = new DefaultListModel(p.getMaps());
221 6412 jmvivo
                                tituloMarco = PluginServices.getText(this, "mapas");
222 1222 fernando
223 1830 fernando
                                //                                getBtnNuevo().setEnabled(true);
224
                        } else if (btnTablas.isSelected()) {
225
                                model = new DefaultListModel(p.getTables());
226 6412 jmvivo
                                tituloMarco = PluginServices.getText(this, "tablas");
227 1222 fernando
228 1830 fernando
                                //                getBtnNuevo().setEnabled(false);
229
                        } else {
230
                                model = new DefaultListModel(p.getViews());
231 6412 jmvivo
                                tituloMarco = PluginServices.getText(this, "vistas");
232 1222 fernando
233 1830 fernando
                                //                                getBtnNuevo().setEnabled(true);
234
                        }
235 1222 fernando
236 1830 fernando
                        lstDocs.setModel(model);
237 6412 jmvivo
                        ((TitledBorder)getJPanel1().getBorder()).setTitle(tituloMarco);
238
                        getJPanel1().repaint(1);
239 1222 fernando
240 1830 fernando
                        activarBotones();
241
                }
242
        }
243 1222 fernando
244 1830 fernando
        /**
245
         * Refresca las etiquetas con la informaci?n del proyecto
246
         */
247
        private void refreshProperties() {
248
                if (p != null) {
249
                        String aux;
250 1222 fernando
251 1830 fernando
                        lblNombreSesion.setText(p.getName());
252 1222 fernando
253 6862 jaume
                        String path = ProjectExtension.getPath();
254 1222 fernando
255 1830 fernando
                        if (path != null) {
256
                                File f = new File(path);
257
                                lblGuardado.setText(f.toString());
258
                        } else {
259
                                lblGuardado.setText("");
260
                        }
261 1222 fernando
262 1830 fernando
                        lblFecha.setText(p.getCreationDate());
263
                }
264
        }
265 1222 fernando
266 1830 fernando
        /**
267
         * Refresca todo el di?logo
268
         */
269
        public void refreshControls() {
270
                refreshList();
271
                refreshProperties();
272
        }
273 1222 fernando
274 1830 fernando
        /**
275
         * This method initializes this
276
         */
277
        private void initialize() {
278 6549 jmvivo
                GridBagLayout layout = new GridBagLayout();
279
                setLayout(layout);
280
                GridBagConstraints c = new GridBagConstraints();
281
                c.fill = GridBagConstraints.HORIZONTAL;
282
                c.gridy=0;
283
                c.insets = new Insets(2, 5, 2, 5);
284 6862 jaume
285 6549 jmvivo
                layout.setConstraints(getJPanel(),c);
286 1830 fernando
                add(getJPanel(), null);
287 6862 jaume
288 6549 jmvivo
                c.fill = GridBagConstraints.BOTH;
289
                c.gridy=1;
290
                c.weightx = 1.0;
291 6862 jaume
                c.weighty = 1.0;
292
                layout.setConstraints(getJPanel1(),c);
293 1830 fernando
                add(getJPanel1(), null);
294 6549 jmvivo
                c.fill = GridBagConstraints.HORIZONTAL;
295
                c.weightx = 0;
296
                c.weighty = 0;
297
                c.gridy=2;
298
                layout.setConstraints(getJPanel3(),c);
299 1830 fernando
                add(getJPanel3(), null);
300 1222 fernando
301 6114 jaume
                this.setSize(430, 435);
302
                this.setPreferredSize(new java.awt.Dimension(430, 430));
303 6549 jmvivo
                this.setMinimumSize(new java.awt.Dimension(430, 430));
304 1830 fernando
                grupo.add(btnVistas);
305
                grupo.add(btnTablas);
306
                grupo.add(btnMapas);
307 1222 fernando
308 1830 fernando
                btnVistas.setSelected(true);
309
        }
310
        private String ask(String title, String content){
311
                JOptionPane pane = new JOptionPane();
312
                pane.setMessage(content);
313
                pane.setMessageType(JOptionPane.QUESTION_MESSAGE);
314
                pane.setWantsInput(true);
315
                pane.setInitialSelectionValue("");
316 1222 fernando
317 1830 fernando
                JDialog dlg = pane.createDialog((Component) PluginServices.getMainFrame(),
318
                                title);
319
                dlg.setModal(true);
320
                dlg.show();
321 1222 fernando
322 1830 fernando
                return pane.getInputValue().toString().trim();
323
        }
324 1222 fernando
325 1830 fernando
        /**
326
         * Crea un nuevo project element
327
         *
328
         * @throws Exception DOCUMENT ME!
329
         */
330 6801 fjp
        private void newProjectElement() throws Exception {
331 1830 fernando
                DateFormat df = DateFormat.getDateInstance();
332 1222 fernando
333 1830 fernando
                if (btnMapas.isSelected()) {
334
                        ProjectMap map = ProjectFactory.createMap(PluginServices.getText(
335
                                                this, "untitled"));
336
                        map.setModel(new Layout());
337
                        map.getModel().setProjectMap(map);
338
                        p.addMap(map);
339
                } else if (btnTablas.isSelected()) {
340
                        try {
341 6231 jmvivo
                                FOpenDialog fopen = new FOpenDialog(PluginServices.getText(this,"Nueva_tabla"));
342 1830 fernando
                                FileOpenDialog fod = new FileOpenDialog(new Class[] {
343 6231 jmvivo
                                                        FileDriver.class}, false, PluginServices.getText(this,"Tablas"));
344 1830 fernando
                                DataBaseOpenDialog dbod = new DataBaseOpenDialog();
345
                                dbod.setClasses(new Class[] { DBDriver.class });
346
                                fopen.addTab("Fichero", fod);
347
                                fopen.addTab("Base de datos", dbod);
348
                                PluginServices.getMDIManager().addView(fopen);
349 1222 fernando
350 1830 fernando
                                if (fopen.isAccepted()) {
351
                                        JPanel panel = fopen.getSelectedTab();
352
                                        ProjectExtension ext = (ProjectExtension) PluginServices.getExtension(ProjectExtension.class);
353 1222 fernando
354 1830 fernando
                                        if (panel instanceof FileOpenDialog) {
355
                                                File[] files = fod.getFiles();
356
                                                String[] driverNames = fod.getDriverNames();
357
358
                                                for (int i = 0; i < files.length; i++) {
359
                                                        String name = files[i].getName();
360
361
                                                        LayerFactory.getDataSourceFactory()
362
                                                                                .addFileDataSource(driverNames[i],
363 2217 fernando
                                                                name, files[i].getAbsolutePath());
364 1830 fernando
365
                                                        DataSource dataSource = LayerFactory.getDataSourceFactory()
366 2667 fernando
                                                                                                                                .createRandomDataSource(name, DataSourceFactory.AUTOMATIC_OPENING);
367 1830 fernando
                                                        SelectableDataSource sds = new SelectableDataSource(dataSource);
368 3940 caballero
                                                        EditableAdapter auxea=new EditableAdapter();
369
                                        auxea.setOriginalDataSource(sds);
370 5548 fjp
                                        // TODO: fjp: ESTO HAY QUE REVISARLO.
371
                                        // Por ahora, para obtener un driver que sirva para esta
372
                                        // fuente de datos, compruebo que implementa IWriteable.
373
                                        // IWriter writer = (IWriter) LayerFactory.getWM().getWriter(driverNames[i]);
374
                                        Driver drv = LayerFactory.getDM().getDriver(driverNames[i]);
375 6212 fjp
//                                        if (drv instanceof IWriter)
376
//                                        {
377
//                                                auxea.setWriter((IWriter) drv);
378
//                                        }
379 1830 fernando
                                                        ProjectTable projectTable = ProjectFactory.createTable(name,
380 3940 caballero
                                                                        auxea);
381 1830 fernando
                                                        ext.getProject().addTable(projectTable);
382
383
                                                        Table t = new Table();
384
                                                        t.setModel(projectTable);
385 5028 cesar
                                                        projectTable.setAndamiView(t);
386 1830 fernando
                                                        PluginServices.getMDIManager().addView(t);
387 1222 fernando
                                                }
388 1830 fernando
                                        } else if (panel instanceof DataBaseOpenDialog) {
389
                                                String driverName = dbod.getDriverName();
390
                                                int port = -1;
391 1222 fernando
392 1830 fernando
                                                try {
393
                                                        port = Integer.parseInt(dbod.getPort());
394
                                                } catch (NumberFormatException e) {
395
                                                }
396 1222 fernando
397 1830 fernando
                                                String name = dbod.getHost() + "/" +
398
                                                        dbod.getDataBase();
399 1222 fernando
400 1830 fernando
                                                if (port != -1) {
401
                                                        name = dbod.getHost() + ":" + port + "/" +
402
                                                                dbod.getDataBase();
403
                                                }
404 3940 caballero
405 1830 fernando
                                                String user = dbod.getUser().trim();
406
                                                String password = dbod.getPassword();
407 1222 fernando
408 1830 fernando
                                                if (user.equals("")) {
409
                                                        user = null;
410
                                                        password = null;
411
                                                }
412 1222 fernando
413 1830 fernando
                                                LayerFactory.getDataSourceFactory().addDBDataSourceByTable(name,
414
                                                        dbod.getHost(), port, user, password,
415 2217 fernando
                                                        dbod.getDataBase(), dbod.getTable(), driverName);
416 1222 fernando
417 1830 fernando
                                                DataSource dataSource = LayerFactory.getDataSourceFactory()
418 2667 fernando
                                                                                                                        .createRandomDataSource(name, DataSourceFactory.AUTOMATIC_OPENING);
419 1830 fernando
                                                SelectableDataSource sds = new SelectableDataSource(dataSource);
420 3940 caballero
                                                EditableAdapter auxea=new EditableAdapter();
421 5548 fjp
                                // TODO: fjp: ESTO HAY QUE REVISARLO.
422
                                // Por ahora, para obtener un driver que sirva para esta
423
                                // fuente de datos, compruebo que implementa IWriteable.
424
                                // IWriter writer = (IWriter) LayerFactory.getWM().getWriter(driverNames[i]);
425
                                Driver drv = LayerFactory.getDM().getDriver(driverName);
426 6212 fjp
//                                if (drv instanceof IWriter)
427
//                                {
428
//                                        auxea.setWriter((IWriter) drv);
429
//                                }
430 5548 fjp
431 3940 caballero
                                auxea.setOriginalDataSource(sds);
432 1830 fernando
                                                ProjectTable projectTable = ProjectFactory.createTable(name,
433 3940 caballero
                                                                auxea);
434 1830 fernando
                                                ext.getProject().addTable(projectTable);
435 1222 fernando
436 1830 fernando
                                                Table t = new Table();
437
                                                t.setModel(projectTable);
438 5028 cesar
                                                projectTable.setAndamiView(t);
439 1830 fernando
                                                PluginServices.getMDIManager().addView(t);
440
                                        }
441
                                }
442
                        } catch (DriverLoadException e) {
443
                                NotificationManager.addError("Error al cargar los drivers", e);
444
                        }
445
                } else {
446 6801 fjp
                        String viewName = "";
447
                        String aux = PluginServices.getText(this, "untitled");
448
                        viewName = aux + " - " + ProjectView.numViews++;
449
                        // Buscamos si alguna vista ya ten?a este nombre:
450
                        while (existViewName(viewName))
451
                        {
452
                                viewName = aux + " - " + ProjectView.numViews++;
453
                        }
454
                        ProjectView vista = ProjectFactory.createView(viewName);
455 1830 fernando
                        p.addView(vista);
456
                }
457
        }
458 1222 fernando
459 6801 fjp
        private boolean existViewName(String viewName) {
460
                ArrayList viewList = p.getViews();
461
                for (int i=0; i < viewList.size(); i++)
462
                {
463
                        ProjectView pv = (ProjectView) viewList.get(i);
464
                        String title = pv.getName();
465
                        if (title.compareTo(viewName) == 0)
466
                        {
467
                                return true;
468
                        }
469
                }
470 6862 jaume
471 6801 fjp
                return false;
472
        }
473
474 1830 fernando
        /**
475
         * Abre la ventana de un nuevo project element
476
         */
477
        private void abrir() {
478 6494 caballero
                int[] indexes = lstDocs.getSelectedIndices();
479
                for (int i=indexes.length-1;i>=0;i--) {
480
                        int index=indexes[i];
481
                        if (btnMapas.isSelected()) {
482
                                if (index == -1) {
483
                                        return;
484
                                }
485
                    ProjectMap projectMap = (ProjectMap) p.getMaps().get(index);
486
                                Layout l = projectMap.getModel();
487
                    // System.out.println("l.getName " + l.getName() + " projectMap.getName " + projectMap.getName());
488
                    projectMap.setName(l.getName());
489
                    l.setProjectMap(projectMap);
490
                                l.fullRect();
491
                    l.getViewInfo().setTitle(PluginServices.getText(this,
492
                    "Mapa") + " : " +l.getName());
493
                                PluginServices.getMDIManager().addView(l);
494
                        } else if (btnTablas.isSelected()) {
495
                                com.iver.cit.gvsig.gui.Table vista = new com.iver.cit.gvsig.gui.Table();
496
                                if (index == -1) {
497
                                        return;
498
                                }
499
                                ProjectTable pt=(ProjectTable) p.getTables().get(index);
500
                                vista.setModel(pt);
501
                                PluginServices.getMDIManager().addView(vista);
502
                        } else {
503
                                com.iver.cit.gvsig.gui.View vista = new com.iver.cit.gvsig.gui.View();
504
                                if (index == -1) {
505
                                        return;
506
                                }
507 1222 fernando
508 6494 caballero
                                vista.setModel((ProjectView) p.getViews().get(index));
509
                                PluginServices.getMDIManager().addView(vista);
510 1830 fernando
                        }
511
                }
512
        }
513 1222 fernando
514 1830 fernando
        /**
515
         * Cambia el nombre de un project element
516
         */
517
        private void renombrar() {
518
                ProjectElement elem = null;
519
                int index = lstDocs.getSelectedIndex();
520 3940 caballero
521 1830 fernando
                if (index == -1) {
522
                        return;
523
                }
524 1222 fernando
525 1830 fernando
                if (btnMapas.isSelected()) {
526
                        elem = (ProjectElement) p.getMaps().get(index);
527
                } else if (btnTablas.isSelected()) {
528
                        elem = (ProjectElement) p.getTables().get(index);
529
                } else {
530
                        elem = (ProjectElement) p.getViews().get(index);
531
                }
532 1222 fernando
533 5870 jaume
                if (elem.isLocked()) {
534
                        JOptionPane.showMessageDialog(this,        PluginServices.getText(this, "locked_element_it_cannot_be_renamed"));
535
                        return;
536
                }
537 6114 jaume
538 1830 fernando
                JOptionPane pane = new JOptionPane();
539
                pane.setMessage(PluginServices.getText(this, "introduce_nombre"));
540
                pane.setMessageType(JOptionPane.QUESTION_MESSAGE);
541
                pane.setWantsInput(true);
542
                pane.setInitialSelectionValue(elem.getName());
543 2507 jmorell
        pane.setInputValue(elem.getName());
544 1830 fernando
                JDialog dlg = pane.createDialog((Component) PluginServices.getMainFrame(),
545
                                PluginServices.getText(this, "renombrar"));
546
                dlg.setModal(true);
547
                dlg.show();
548 1222 fernando
549 1830 fernando
                String nuevoNombre = pane.getInputValue().toString().trim();
550 1222 fernando
551 1830 fernando
                if (nuevoNombre.length() == 0) {
552
                        return;
553
                }
554 1222 fernando
555 1830 fernando
                if (nuevoNombre == null) {
556
                        return;
557
                }
558 1222 fernando
559 2929 jaume
                for (int i=0; i<lstDocs.getModel().getSize(); i++){
560
                        if (i==index) continue;
561 2930 jaume
                        if (((ProjectElement)lstDocs.getModel().getElementAt(i)).getName().equals(nuevoNombre)){
562 2929 jaume
                                JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(), PluginServices.getText(this, "elemento_ya_existe"));
563
                                return;
564
                        }
565 3940 caballero
566 2929 jaume
                }
567 1830 fernando
                elem.setName(nuevoNombre);
568 1222 fernando
569 1830 fernando
                refreshList();
570
        }
571 1222 fernando
572 1830 fernando
        /**
573
         * Borra un project element
574
         */
575
        private void borrar() {
576
                int res = JOptionPane.showConfirmDialog((Component) PluginServices.getMainFrame(),
577
                                PluginServices.getText(this, "confirmar_borrar"),
578
                                PluginServices.getText(this, "borrar"),
579
                                JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE);
580 1222 fernando
581 1830 fernando
                if (res == JOptionPane.YES_OPTION) {
582 6494 caballero
                        int[] indexes = lstDocs.getSelectedIndices();
583
                        for (int i=indexes.length-1;i>=0;i--) {
584
                                int index=indexes[i];
585
                                if (btnMapas.isSelected()) {
586
                                        if (((ProjectElement) p.getMaps().get(index)).isLocked()) {
587
                                                JOptionPane.showMessageDialog(this,        PluginServices.getText(this, "locked_element_it_cannot_be_deleted"));
588
                                                return;
589
                                        }
590
                                        PluginServices.getMDIManager().closeSingletonView(p.getMaps()
591
                                                                                                                                           .get(index));
592
                                        p.delMap(index);
593
                                } else if (btnTablas.isSelected()) {
594
                                        if (((ProjectElement) p.getTables().get(index)).isLocked()) {
595
                                                JOptionPane.showMessageDialog(this,        PluginServices.getText(this, "locked_element_it_cannot_be_deleted"));
596
                                                return;
597
                                        }
598
                                        PluginServices.getMDIManager().closeSingletonView(p.getTables()
599
                                                                                                                                           .get(index));
600
                                        p.delTable(index);
601
                                } else {
602
                                        if (((ProjectElement) p.getViews().get(index)).isLocked()) {
603
                                                JOptionPane.showMessageDialog(this,        PluginServices.getText(this, "locked_element_it_cannot_be_deleted"));
604
                                                return;
605
                                        }
606
                                        PluginServices.getMDIManager().closeSingletonView(p.getViews()
607
                                                                                                                                           .get(index));
608
                                        p.delView(index);
609 5870 jaume
                                }
610 1830 fernando
                        }
611
                        refreshList();
612
                }
613
        }
614 1222 fernando
615 1830 fernando
        /**
616
         * Muestra el di?logo de propiedades de un project element
617
         */
618
        private void propiedades() {
619
                int index = lstDocs.getSelectedIndex();
620 1222 fernando
621 1830 fernando
                if (index == -1) {
622
                        return;
623
                }
624 1222 fernando
625 6877 cesar
                IWindow dlg = null;
626 1222 fernando
627 1830 fernando
                if (btnMapas.isSelected()) {
628 5870 jaume
                        if (((ProjectElement) p.getMaps().get(index)).isLocked()) {
629
                                JOptionPane.showMessageDialog(this,        PluginServices.getText(this, "locked_element"));
630
                                return;
631
                        }
632 1830 fernando
                        dlg = new MapProperties((ProjectMap) p.getMaps().get(index));
633
                } else if (btnTablas.isSelected()) {
634 5870 jaume
                        if (((ProjectElement) p.getTables().get(index)).isLocked()) {
635
                                JOptionPane.showMessageDialog(this,        PluginServices.getText(this, "locked_element"));
636
                                return;
637
                        }
638 2565 fernando
                        try {
639
                dlg = new TableProperties((ProjectTable) p.getTables().get(index));
640
            } catch (DriverException e) {
641
                NotificationManager.addError(e.getMessage(), e);
642
            }
643 1830 fernando
                } else {
644 5870 jaume
                        if (((ProjectElement) p.getViews().get(index)).isLocked()) {
645
                                JOptionPane.showMessageDialog(this,        PluginServices.getText(this, "locked_element"));
646
                                return;
647
                        }
648 6114 jaume
649 1830 fernando
                        dlg = new ViewProperties((ProjectView) p.getViews().get(index));
650
                }
651 1222 fernando
652 1830 fernando
                PluginServices.getMDIManager().addView(dlg);
653 1222 fernando
654 1830 fernando
                refreshControls();
655
                lstDocs.setSelectedIndex(index);
656
        }
657 1222 fernando
658 1830 fernando
        /**
659
         * This method initializes jPanel
660
         *
661 6114 jaume
         * @return JPanel
662 1830 fernando
         */
663 6114 jaume
        private JPanel getJPanel() {
664 1830 fernando
                if (jPanel == null) {
665 6114 jaume
                        jPanel = new JPanel();
666 1222 fernando
667 1830 fernando
                        java.awt.FlowLayout layFlowLayout1 = new java.awt.FlowLayout();
668
                        layFlowLayout1.setHgap(15);
669
                        jPanel.setLayout(layFlowLayout1);
670
                        jPanel.add(getBtnVistas(), null);
671
                        jPanel.add(getBtnTablas(), null);
672
                        jPanel.add(getBtnMapas(), null);
673
                        jPanel.setName("tipoDocPanel");
674 6114 jaume
                        jPanel.setPreferredSize(new java.awt.Dimension(430, 125));
675 1830 fernando
                        jPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(
676
                                        null, PluginServices.getText(this, "tipos_de_documentos"),
677
                                        javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
678
                                        javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
679
                }
680 1222 fernando
681 1830 fernando
                return jPanel;
682
        }
683 1222 fernando
684 1830 fernando
        /**
685
         * This method initializes btnVistas
686
         *
687 6114 jaume
         * @return JRadioButton
688 1830 fernando
         */
689 6114 jaume
        private JRadioButton getBtnVistas() {
690 1830 fernando
                if (btnVistas == null) {
691 6114 jaume
                        btnVistas = new JRadioButton();
692
                        btnVistas.setIcon(new ImageIcon(
693 1830 fernando
                                        this.getClass().getClassLoader().getResource("images/Vista.png")));
694 6114 jaume
                        btnVistas.setSelectedIcon(new ImageIcon(
695 1830 fernando
                                        this.getClass().getClassLoader().getResource("images/Vista_sel.png")));
696
                        btnVistas.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
697
                        btnVistas.setText(PluginServices.getText(this, "vistas"));
698
                        btnVistas.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
699
                        btnVistas.setName("vistasBtn");
700
                        btnVistas.addChangeListener(new javax.swing.event.ChangeListener() {
701
                                        public void stateChanged(javax.swing.event.ChangeEvent e) {
702
                                                refreshList();
703
                                        }
704
                                });
705
                }
706 1222 fernando
707 1830 fernando
                return btnVistas;
708
        }
709 1222 fernando
710 1830 fernando
        /**
711
         * This method initializes btnTablas
712
         *
713 6114 jaume
         * @return JRadioButton
714 1830 fernando
         */
715 6114 jaume
        private JRadioButton getBtnTablas() {
716 1830 fernando
                if (btnTablas == null) {
717 6114 jaume
                        btnTablas = new JRadioButton();
718
                        btnTablas.setIcon(new ImageIcon(
719 1830 fernando
                                        this.getClass().getClassLoader().getResource("images/tablas.png")));
720 6114 jaume
                        btnTablas.setSelectedIcon(new ImageIcon(
721 1830 fernando
                                        this.getClass().getClassLoader().getResource("images/tablas_sel.png")));
722
                        btnTablas.setText(PluginServices.getText(this, "tablas"));
723
                        btnTablas.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
724
                        btnTablas.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
725
                        btnTablas.setName("tablasBtn");
726
                        btnTablas.addChangeListener(new javax.swing.event.ChangeListener() {
727
                                        public void stateChanged(javax.swing.event.ChangeEvent e) {
728
                                                refreshList();
729
                                        }
730
                                });
731
                }
732 1222 fernando
733 1830 fernando
                return btnTablas;
734
        }
735 1222 fernando
736 1830 fernando
        /**
737
         * This method initializes btnMapas
738
         *
739 6114 jaume
         * @return JRadioButton
740 1830 fernando
         */
741 6114 jaume
        private JRadioButton getBtnMapas() {
742 1830 fernando
                if (btnMapas == null) {
743 6114 jaume
                        btnMapas = new JRadioButton();
744
                        btnMapas.setIcon(new ImageIcon(
745 1830 fernando
                                        this.getClass().getClassLoader().getResource("images/mapas.png")));
746 6114 jaume
                        btnMapas.setSelectedIcon(new ImageIcon(
747 1830 fernando
                                        this.getClass().getClassLoader().getResource("images/mapas_sel.png")));
748
                        btnMapas.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
749
                        btnMapas.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
750
                        btnMapas.setText(PluginServices.getText(this, "mapas"));
751
                        btnMapas.addChangeListener(new javax.swing.event.ChangeListener() {
752
                                        public void stateChanged(javax.swing.event.ChangeEvent e) {
753
                                                refreshList();
754
                                        }
755
                                });
756
                }
757 1222 fernando
758 1830 fernando
                return btnMapas;
759
        }
760 1222 fernando
761 1830 fernando
        /**
762
         * This method initializes jPanel1
763
         *
764 6114 jaume
         * @return JPanel
765 1830 fernando
         */
766 6114 jaume
        private JPanel getJPanel1() {
767 1830 fernando
                if (jPanel1 == null) {
768 6114 jaume
                        jPanel1 = new JPanel();
769 1222 fernando
770 6549 jmvivo
                        GridBagLayout layout2 = new GridBagLayout();
771
                        GridBagConstraints c = new GridBagConstraints();
772 6862 jaume
773 6549 jmvivo
                        jPanel1.setLayout(layout2);
774
                        c.insets = new Insets(2, 5, 2, 5);
775
                        c.anchor = GridBagConstraints.WEST;
776
                        c.fill = GridBagConstraints.BOTH;
777
                        c.weightx= 1.0;
778 6862 jaume
                        c.weighty = 1.0;
779 6549 jmvivo
                        layout2.setConstraints(getJScrollPane(),c);
780
                        jPanel1.add(getJScrollPane());
781
782 6862 jaume
                        c.anchor = GridBagConstraints.EAST;
783
784
785 6549 jmvivo
                        c.fill = GridBagConstraints.NONE;
786
                        c.weightx= 0;
787
                        c.weighty = 0;
788
                        layout2.setConstraints(getJPanel2(),c);
789
                        jPanel1.add(getJPanel2());
790
791
                        //jPanel1.setPreferredSize(new java.awt.Dimension(430,170));
792
                        jPanel1.setMinimumSize(new java.awt.Dimension(430,170));
793 1830 fernando
                        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(
794
                                        null,
795
                                        PluginServices.getText(this, "documentos_existentes"),
796
                                        javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
797
                                        javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
798
                }
799 1222 fernando
800 1830 fernando
                return jPanel1;
801
        }
802 1222 fernando
803 1830 fernando
        /**
804
         * This method initializes lstDocs
805
         *
806 6114 jaume
         * @return JList
807 1830 fernando
         */
808 6114 jaume
        private JList getLstDocs() {
809 1830 fernando
                if (lstDocs == null) {
810 6114 jaume
                        lstDocs = new JList();
811 1830 fernando
                        lstDocs.addMouseListener(new java.awt.event.MouseAdapter() {
812 6635 jmvivo
                                        public ProjectElement[] getSelecteds() {
813
                                                if (lstDocs.getSelectedIndex() < 0) {
814
                                                        return new ProjectElement[0];
815
                                                }
816
                                                Object[] seleteds = lstDocs.getSelectedValues();
817
                                                ProjectElement[] returnValue = new ProjectElement[seleteds.length];
818 6862 jaume
                                                System.arraycopy(seleteds,0,returnValue,0,seleteds.length);
819 6635 jmvivo
                                                return returnValue;
820
                                        }
821 6862 jaume
822 6674 jmvivo
                                        public ProjectElement getItem(java.awt.event.MouseEvent e) {
823
                                                if (lstDocs.getSelectedIndex() < 0) {
824
                                                        return null;
825
                                                }
826
                                                Component c = lstDocs.getComponentAt(e.getPoint());
827 6862 jaume
828 6674 jmvivo
                                                return null;
829
                                        }
830 6862 jaume
831 1830 fernando
                                        public void mouseClicked(java.awt.event.MouseEvent e) {
832 6635 jmvivo
                                                if (e.getButton() == e.BUTTON3) {
833 6862 jaume
                                                        String docType;
834 6635 jmvivo
                                                        ProjectElement[] selecteds = this.getSelecteds();
835 6862 jaume
836
                                                        if (selecteds == null) return;
837 6635 jmvivo
                                                        if (btnMapas.isSelected()) {
838
                                                                docType = "Map";
839
                                                        } else if (btnTablas.isSelected()) {
840
                                                                docType = "Table";
841
                                                        } else {
842
                                                                docType = "View";
843
                                                        }
844 6674 jmvivo
                                                        DocumentPopupMenu menu = new DocumentPopupMenu(docType,this.getItem(e),(ProjectElement[])selecteds);
845 6635 jmvivo
                                                        if (menu.getActionsVisibles() < 1) return;
846 6862 jaume
                                                        lstDocs.add(menu);
847 6635 jmvivo
                                                        menu.show(e.getComponent(), e.getX(), e.getY());
848
                                                        return;
849
                                                }
850 1830 fernando
                                                if (e.getClickCount() == 2) {
851
                                                        abrir();
852
                                                }
853
                                        }
854
                                });
855
                        lstDocs.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
856
                                        public void valueChanged(
857
                                                javax.swing.event.ListSelectionEvent e) {
858
                                                activarBotones();
859
                                        }
860
                                });
861
                }
862 1222 fernando
863 1830 fernando
                return lstDocs;
864
        }
865 1222 fernando
866 1830 fernando
        /**
867
         * This method initializes jPanel2
868
         *
869 6114 jaume
         * @return JPanel
870 1830 fernando
         */
871 6114 jaume
        private JPanel getJPanel2() {
872 1830 fernando
                if (jPanel2 == null) {
873 6114 jaume
                        jPanel2 = new JPanel();
874 6494 caballero
875 6284 jmvivo
                        //FlowLayout layout = new FlowLayout();
876
                        GridLayout layout = new GridLayout(5,1);
877
                        layout.setVgap(7);
878 1222 fernando
879 6284 jmvivo
                        jPanel2.setLayout(layout);
880 1830 fernando
                        jPanel2.add(getBtnNuevo(), null);
881
                        jPanel2.add(getBtnAbrir(), null);
882
                        jPanel2.add(getBtnRenombrar(), null);
883
                        jPanel2.add(getBtnBorrar(), null);
884
                        jPanel2.add(getBtnPropiedades(), null);
885 6549 jmvivo
                        jPanel2.setPreferredSize(new java.awt.Dimension(100, 150));
886
                        jPanel2.setMinimumSize(new java.awt.Dimension(100, 150));
887
                        jPanel2.setMaximumSize(new java.awt.Dimension(100, 150));
888 1830 fernando
                }
889 1222 fernando
890 1830 fernando
                return jPanel2;
891
        }
892 1222 fernando
893 1830 fernando
        /**
894
         * This method initializes btnNuevo
895
         *
896 6114 jaume
         * @return JButton
897 1830 fernando
         */
898 6114 jaume
        private JButton getBtnNuevo() {
899 1830 fernando
                if (btnNuevo == null) {
900 6494 caballero
                        btnNuevo = new JButton();
901 1830 fernando
                        btnNuevo.setName("btnNuevo");
902
                        btnNuevo.setText(PluginServices.getText(this, "nuevo"));
903
                        btnNuevo.setMargin(new java.awt.Insets(2, 2, 2, 2));
904
                        btnNuevo.addActionListener(new java.awt.event.ActionListener() {
905
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
906
                                                try {
907 6801 fjp
                                                        newProjectElement();
908 1830 fernando
                                                } catch (Exception e1) {
909
                                                        NotificationManager.addError(e1.getLocalizedMessage(),
910
                                                                e1);
911
                                                }
912
                                        }
913
                                });
914
                }
915 1222 fernando
916 1830 fernando
                return btnNuevo;
917
        }
918 1222 fernando
919 1830 fernando
        /**
920
         * This method initializes btnPropiedades
921
         *
922 6114 jaume
         * @return JButton
923 1830 fernando
         */
924 6114 jaume
        private JButton getBtnPropiedades() {
925 1830 fernando
                if (btnPropiedades == null) {
926 6114 jaume
                        btnPropiedades = new JButton();
927 1830 fernando
                        btnPropiedades.setText(PluginServices.getText(this, "propiedades"));
928
                        btnPropiedades.setName("btnPropiedades");
929
                        btnPropiedades.setEnabled(false);
930
                        btnPropiedades.setMargin(new java.awt.Insets(2, 2, 2, 2));
931
                        btnPropiedades.addActionListener(new java.awt.event.ActionListener() {
932
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
933
                                                propiedades();
934
                                        }
935
                                });
936
                }
937 1222 fernando
938 1830 fernando
                return btnPropiedades;
939
        }
940 1222 fernando
941 1830 fernando
        /**
942
         * This method initializes btnAbrir
943
         *
944 6114 jaume
         * @return JButton
945 1830 fernando
         */
946 6114 jaume
        private JButton getBtnAbrir() {
947 1830 fernando
                if (btnAbrir == null) {
948 6114 jaume
                        btnAbrir = new JButton();
949 1830 fernando
                        btnAbrir.setName("btnAbrir");
950
                        btnAbrir.setText(PluginServices.getText(this, "abrir"));
951
                        btnAbrir.setEnabled(false);
952
                        btnAbrir.setMargin(new java.awt.Insets(2, 2, 2, 2));
953
                        btnAbrir.addActionListener(new java.awt.event.ActionListener() {
954
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
955
                                                abrir();
956
                                        }
957
                                });
958
                }
959 1222 fernando
960 1830 fernando
                return btnAbrir;
961
        }
962 1222 fernando
963 1830 fernando
        /**
964
         * This method initializes btnBorrar
965
         *
966 6114 jaume
         * @return JButton
967 1830 fernando
         */
968 6114 jaume
        private JButton getBtnBorrar() {
969 1830 fernando
                if (btnBorrar == null) {
970 6114 jaume
                        btnBorrar = new JButton();
971 1830 fernando
                        btnBorrar.setText(PluginServices.getText(this, "borrar"));
972
                        btnBorrar.setName("btnBorrar");
973
                        btnBorrar.setEnabled(false);
974
                        btnBorrar.setMargin(new java.awt.Insets(2, 2, 2, 2));
975
                        btnBorrar.addActionListener(new java.awt.event.ActionListener() {
976
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
977
                                                borrar();
978
                                        }
979
                                });
980
                }
981 1222 fernando
982 1830 fernando
                return btnBorrar;
983
        }
984 1222 fernando
985 1830 fernando
        /**
986
         * This method initializes btnRenombrar
987
         *
988 6114 jaume
         * @return JButton
989 1830 fernando
         */
990 6114 jaume
        private JButton getBtnRenombrar() {
991 1830 fernando
                if (btnRenombrar == null) {
992 6114 jaume
                        btnRenombrar = new JButton();
993 1830 fernando
                        btnRenombrar.setName("btnRenombrar");
994
                        btnRenombrar.setText(PluginServices.getText(this, "renombrar"));
995
                        btnRenombrar.setEnabled(false);
996
                        btnRenombrar.setMargin(new java.awt.Insets(2, 2, 2, 2));
997
                        btnRenombrar.addActionListener(new java.awt.event.ActionListener() {
998
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
999
                                                renombrar();
1000
                                        }
1001
                                });
1002
                }
1003 1222 fernando
1004 1830 fernando
                return btnRenombrar;
1005
        }
1006 1222 fernando
1007 1830 fernando
        /**
1008
         * This method initializes jPanel3
1009
         *
1010 6114 jaume
         * @return JPanel
1011 1830 fernando
         */
1012 6114 jaume
        private JPanel getJPanel3() {
1013 1830 fernando
                if (jPanel3 == null) {
1014 6114 jaume
                        jPanel3 = new JPanel();
1015 1222 fernando
1016 6862 jaume
                        GridBagLayout layout3 = new GridBagLayout();
1017 6549 jmvivo
                        GridBagConstraints c = new GridBagConstraints();
1018
                        jPanel3.setLayout(layout3);
1019
                        c.insets = new Insets(2, 5, 0, 5);
1020 6862 jaume
                        c.anchor = GridBagConstraints.WEST;
1021 6549 jmvivo
                        c.gridx =0;
1022 6862 jaume
                        c.gridy =0;
1023 6549 jmvivo
                        layout3.setConstraints(getJLabel(),c);
1024 1830 fernando
                        jPanel3.add(getJLabel(), null);
1025 6549 jmvivo
                        c.fill = GridBagConstraints.HORIZONTAL;
1026
                        c.weightx=1.0;
1027
                        c.gridx =1;
1028
                        layout3.setConstraints(getLblNombreSesion(),c);
1029 1830 fernando
                        jPanel3.add(getLblNombreSesion(), null);
1030 6862 jaume
1031 6549 jmvivo
                        c.gridx =0;
1032
                        c.gridy =1;
1033
                        c.fill = GridBagConstraints.NONE;
1034
                        c.weightx=0.0;
1035
                        layout3.setConstraints(getJLabel1(),c);
1036 1830 fernando
                        jPanel3.add(getJLabel1(), null);
1037 6549 jmvivo
                        c.fill = GridBagConstraints.HORIZONTAL;
1038
                        c.weightx=1.0;
1039
                        c.gridx =1;
1040 6862 jaume
                        layout3.setConstraints(getLblGuardado(),c);
1041 1830 fernando
                        jPanel3.add(getLblGuardado(), null);
1042 6862 jaume
1043 6549 jmvivo
                        c.gridx =0;
1044
                        c.gridy =2;
1045
                        c.fill = GridBagConstraints.NONE;
1046
                        c.weightx=0.0;
1047
                        layout3.setConstraints(getJLabel2(),c);
1048 1830 fernando
                        jPanel3.add(getJLabel2(), null);
1049 6549 jmvivo
1050
                        c.fill = GridBagConstraints.HORIZONTAL;
1051
                        c.weightx=1.0;
1052
                        c.gridx =1;
1053
                        layout3.setConstraints(getLblFecha(),c);
1054 1830 fernando
                        jPanel3.add(getLblFecha(), null);
1055 6114 jaume
                        jPanel3.setPreferredSize(new java.awt.Dimension(430, 125));
1056 1830 fernando
                        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(
1057
                                        null, PluginServices.getText(this, "propiedades_sesion"),
1058
                                        javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
1059
                                        javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
1060 6549 jmvivo
                        c.gridx =1;
1061
                        c.gridy =4;
1062
                        c.anchor = GridBagConstraints.EAST;
1063
                        layout3.setConstraints(getJPanel4(),c);
1064 6114 jaume
                        jPanel3.add(getJPanel4(), null);
1065 1830 fernando
                }
1066 1222 fernando
1067 1830 fernando
                return jPanel3;
1068
        }
1069 1222 fernando
1070 1830 fernando
        /**
1071
         * This method initializes jLabel
1072
         *
1073 6114 jaume
         * @return JLabel
1074 1830 fernando
         */
1075 6114 jaume
        private JLabel getJLabel() {
1076 1830 fernando
                if (jLabel == null) {
1077 6114 jaume
                        jLabel = new JLabel();
1078 1830 fernando
                        jLabel.setText(PluginServices.getText(this, "nombre_sesion") + ":");
1079
                        jLabel.setPreferredSize(new java.awt.Dimension(150, 16));
1080
                }
1081 1222 fernando
1082 1830 fernando
                return jLabel;
1083
        }
1084 1222 fernando
1085 1830 fernando
        /**
1086
         * This method initializes lblNombreSesion
1087
         *
1088 6114 jaume
         * @return JLabel
1089 1830 fernando
         */
1090 6114 jaume
        private JLabel getLblNombreSesion() {
1091 1830 fernando
                if (lblNombreSesion == null) {
1092 6114 jaume
                        lblNombreSesion = new JLabel();
1093 1830 fernando
                        lblNombreSesion.setText("");
1094
                        lblNombreSesion.setName("lblNombreSesion");
1095
                        lblNombreSesion.setPreferredSize(new java.awt.Dimension(200, 16));
1096
                        lblNombreSesion.setAutoscrolls(true);
1097
                }
1098 1222 fernando
1099 1830 fernando
                return lblNombreSesion;
1100
        }
1101 1222 fernando
1102 1830 fernando
        /**
1103
         * This method initializes jLabel1
1104
         *
1105 6114 jaume
         * @return JLabel
1106 1830 fernando
         */
1107 6114 jaume
        private JLabel getJLabel1() {
1108 1830 fernando
                if (jLabel1 == null) {
1109 6114 jaume
                        jLabel1 = new JLabel();
1110 1830 fernando
                        jLabel1.setText(PluginServices.getText(this, "guardado") + ":");
1111
                        jLabel1.setPreferredSize(new java.awt.Dimension(150, 16));
1112
                }
1113 1222 fernando
1114 1830 fernando
                return jLabel1;
1115
        }
1116 1222 fernando
1117 1830 fernando
        /**
1118
         * This method initializes lblGuardado
1119
         *
1120 6114 jaume
         * @return JLabel
1121 1830 fernando
         */
1122 6114 jaume
        private JLabel getLblGuardado() {
1123 1830 fernando
                if (lblGuardado == null) {
1124 6114 jaume
                        lblGuardado = new JLabel();
1125 1830 fernando
                        lblGuardado.setText("");
1126
                        lblGuardado.setPreferredSize(new java.awt.Dimension(200, 16));
1127
                        lblGuardado.setAutoscrolls(true);
1128
                }
1129 1222 fernando
1130 1830 fernando
                return lblGuardado;
1131
        }
1132 1222 fernando
1133 1830 fernando
        /**
1134
         * This method initializes jLabel2
1135
         *
1136 6114 jaume
         * @return JLabel
1137 1830 fernando
         */
1138 6114 jaume
        private JLabel getJLabel2() {
1139 1830 fernando
                if (jLabel2 == null) {
1140 6114 jaume
                        jLabel2 = new JLabel();
1141 1830 fernando
                        jLabel2.setText(PluginServices.getText(this, "creation_date") +
1142
                                ":");
1143
                        jLabel2.setPreferredSize(new java.awt.Dimension(150, 16));
1144
                }
1145 1222 fernando
1146 1830 fernando
                return jLabel2;
1147
        }
1148 1222 fernando
1149 1830 fernando
        /**
1150
         * This method initializes lblFecha
1151
         *
1152 6114 jaume
         * @return JLabel
1153 1830 fernando
         */
1154 6114 jaume
        private JLabel getLblFecha() {
1155 1830 fernando
                if (lblFecha == null) {
1156 6114 jaume
                        lblFecha = new JLabel();
1157 1830 fernando
                        lblFecha.setText("");
1158
                        lblFecha.setPreferredSize(new java.awt.Dimension(200, 16));
1159
                        lblFecha.setAutoscrolls(true);
1160
                }
1161 1222 fernando
1162 1830 fernando
                return lblFecha;
1163
        }
1164 1222 fernando
1165 1830 fernando
        /**
1166
         * This method initializes btnImportar
1167
         *
1168 6114 jaume
         * @return JButton
1169 1830 fernando
         */
1170 6114 jaume
        private JButton getBtnImportar() {
1171 1830 fernando
                if (btnImportar == null) {
1172 6114 jaume
                        btnImportar = new JButton();
1173 1830 fernando
                        btnImportar.setPreferredSize(new java.awt.Dimension(80, 23));
1174
                        btnImportar.setText(PluginServices.getText(this, "importar"));
1175 6114 jaume
                        btnImportar.setName("btnImportar");
1176 1830 fernando
                        btnImportar.setMargin(new java.awt.Insets(2, 2, 2, 2));
1177 6122 jaume
                        // TODO implement import
1178
                        btnImportar.setVisible(false);
1179 1830 fernando
                }
1180 1222 fernando
1181 1830 fernando
                return btnImportar;
1182
        }
1183 1222 fernando
1184 1830 fernando
        /**
1185
         * This method initializes btnExportar
1186
         *
1187 6114 jaume
         * @return JButton
1188 1830 fernando
         */
1189 6114 jaume
        private JButton getBtnExportar() {
1190 1830 fernando
                if (btnExportar == null) {
1191 6114 jaume
                        btnExportar = new JButton();
1192 1830 fernando
                        btnExportar.setPreferredSize(new java.awt.Dimension(80, 23));
1193
                        btnExportar.setText(PluginServices.getText(this, "exportar"));
1194 6114 jaume
                        btnExportar.setName("btnExportar");
1195 1830 fernando
                        btnExportar.setMargin(new java.awt.Insets(2, 2, 2, 2));
1196 6122 jaume
                        // TODO implement export
1197
                        btnExportar.setVisible(false);
1198 1830 fernando
                }
1199 1222 fernando
1200 1830 fernando
                return btnExportar;
1201
        }
1202 1222 fernando
1203 1830 fernando
        /**
1204
         * This method initializes btnEditar
1205
         *
1206 6114 jaume
         * @return JButton
1207 1830 fernando
         */
1208 6114 jaume
        private JButton getBtnEditar() {
1209 1830 fernando
                if (btnEditar == null) {
1210 6114 jaume
                        btnEditar = new JButton();
1211 1830 fernando
                        btnEditar.setPreferredSize(new java.awt.Dimension(80, 23));
1212
                        btnEditar.setText(PluginServices.getText(this, "propiedades"));
1213 1222 fernando
1214 6114 jaume
                        btnEditar.setName("btnEditar");
1215 1830 fernando
                        btnEditar.setMargin(new java.awt.Insets(2, 2, 2, 2));
1216 1222 fernando
1217 1830 fernando
                        btnEditar.addActionListener(new java.awt.event.ActionListener() {
1218
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
1219
                                                ProjectProperties dlg = new ProjectProperties(p);
1220
                                                PluginServices.getMDIManager().addView(dlg);
1221
                                                refreshProperties();
1222
                                        }
1223
                                });
1224
                }
1225 1222 fernando
1226 1830 fernando
                return btnEditar;
1227
        }
1228 1222 fernando
1229 1830 fernando
        /**
1230
         * This method initializes jScrollPane
1231
         *
1232 6114 jaume
         * @return JScrollPane
1233 1830 fernando
         */
1234 6114 jaume
        private JScrollPane getJScrollPane() {
1235 1830 fernando
                if (jScrollPane == null) {
1236 6114 jaume
                        jScrollPane = new JScrollPane();
1237 1830 fernando
                        jScrollPane.setViewportView(getLstDocs());
1238
                        jScrollPane.setPreferredSize(new java.awt.Dimension(200, 100));
1239 6114 jaume
                        jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
1240 1830 fernando
                }
1241 1222 fernando
1242 1830 fernando
                return jScrollPane;
1243
        }
1244 1222 fernando
1245 1830 fernando
        /**
1246
         * @see com.iver.mdiApp.ui.MDIManager.SingletonView#getViewModel()
1247
         */
1248
        public Object getViewModel() {
1249
                return p;
1250
        }
1251 1222 fernando
1252 5028 cesar
    /**
1253
     * This method is used to get <strong>an initial</strong> ViewInfo object
1254
     * for this Project Manager window. It is not intended to retrieve the
1255
     * ViewInfo object in a later time.
1256
     * <strong>Use PluginServices.getMDIManager().getViewInfo(view)
1257
     * to retrieve the ViewInfo object at any time after the creation of the
1258
     * object.
1259 5320 caballero
     *
1260 6877 cesar
     * @see com.iver.mdiApp.ui.MDIManager.IWindow#getViewInfo()
1261 5028 cesar
     */
1262 1830 fernando
        public ViewInfo getViewInfo() {
1263 6862 jaume
                //if (m_viewInfo==null) {
1264 6549 jmvivo
                        m_viewInfo = new ViewInfo(ViewInfo.MAXIMIZABLE);
1265
                        //m_viewInfo = new ViewInfo(ViewInfo.MAXIMIZABLE+ViewInfo.RESIZABLE);
1266
                        m_viewInfo.setWidth(this.getWidth());
1267 6114 jaume
                        m_viewInfo.setHeight(this.getHeight());
1268 6558 jmvivo
                        m_viewInfo.setNormalWidth(this.getPreferredSize().width);
1269
                        m_viewInfo.setNormalHeight(this.getPreferredSize().height);
1270
1271 5028 cesar
                        m_viewInfo.setTitle(PluginServices.getText(this, "titulo"));
1272 6114 jaume
                //}
1273 5028 cesar
                return m_viewInfo;
1274 1830 fernando
        }
1275 1222 fernando
1276 1830 fernando
        /**
1277
         * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
1278
         */
1279
        public void propertyChange(PropertyChangeEvent evt) {
1280
                refreshControls();
1281
        }
1282 1222 fernando
1283 1830 fernando
        /**
1284 6877 cesar
         * @see com.iver.mdiApp.ui.MDIManager.IWindow#viewActivated()
1285 1830 fernando
         */
1286
        public void viewActivated() {
1287
        }
1288 1222 fernando
1289 1830 fernando
        /**
1290
         * This method initializes jPanel4
1291
         *
1292 6114 jaume
         * @return JPanel
1293 1830 fernando
         */
1294 6114 jaume
        private JPanel getJPanel4() {
1295 1830 fernando
                if (jPanel4 == null) {
1296 6114 jaume
                        jPanel4 = new JPanel();
1297 1222 fernando
1298 6114 jaume
                        jPanel4.setLayout(new FlowLayout(FlowLayout.RIGHT));
1299
                        jPanel4.setPreferredSize(new java.awt.Dimension(414, 30));
1300
                        jPanel4.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);
1301 1830 fernando
                        jPanel4.add(getBtnImportar(), null);
1302
                        jPanel4.add(getBtnExportar(), null);
1303
                        jPanel4.add(getBtnEditar(), null);
1304
                }
1305 1222 fernando
1306 1830 fernando
                return jPanel4;
1307
        }
1308 6114 jaume
}  //  @jve:decl-index=0:visual-constraint="10,10"