Statistics
| Revision:

root / trunk / applications / appgvSIG / src / com / iver / cit / gvsig / Tabla.java @ 1052

History | View | Annotate | Download (3.27 KB)

1 312 fernando
/*
2
 * Created on 02-mar-2004
3
 *
4
 * To change the template for this generated file go to
5
 * Window>Preferences>Java>Code Generation>Code and Comments
6
 */
7
package com.iver.cit.gvsig;
8
9 410 fernando
import com.hardcode.driverManager.DriverLoadException;
10 596 fernando
import com.iver.andami.PluginServices;
11
import com.iver.andami.messages.NotificationManager;
12
import com.iver.andami.plugins.Extension;
13 652 fernando
import com.iver.cit.gvsig.fmap.DriverException;
14 312 fernando
import com.iver.cit.gvsig.fmap.layers.FLayer;
15 464 fernando
import com.iver.cit.gvsig.fmap.layers.SelectableDataSource;
16 564 fernando
import com.iver.cit.gvsig.fmap.layers.layerOperations.AlphanumericData;
17 312 fernando
import com.iver.cit.gvsig.gui.Table;
18
import com.iver.cit.gvsig.gui.View;
19
import com.iver.cit.gvsig.project.ProjectFactory;
20 430 fernando
import com.iver.cit.gvsig.project.castor.ProjectTable;
21 583 vcaballero
22 312 fernando
23
/**
24
 * DOCUMENT ME!
25
 *
26
 * @author vcn To change the template for this generated type comment go to
27 583 vcaballero
 *                    Window>Preferences>Java>Code Generation>Code and
28
 *                    Comments
29 312 fernando
 */
30 596 fernando
public class Tabla implements Extension {
31 583 vcaballero
        /**
32
         * DOCUMENT ME!
33
         *
34
         * @return DOCUMENT ME!
35
         */
36
        public boolean isEnabled() {
37 596 fernando
                View f = (View) PluginServices.getMDIManager().getActiveView();
38 312 fernando
39 583 vcaballero
                if (f == null) {
40
                        return false;
41
                }
42 312 fernando
43 583 vcaballero
                FLayer[] selected = f.getModel().getMapContext().getLayers().getActives();
44 507 fernando
45
        boolean algunaTabla = false;
46
        for (int i = 0; i < selected.length; i++) {
47 564 fernando
                        if (selected[i] instanceof AlphanumericData){
48
                                AlphanumericData co = (AlphanumericData) selected[i];
49 507 fernando
                                try {
50 583 vcaballero
                                        if (co.getRecordset() != null) {
51 507 fernando
                                                algunaTabla = true;
52
                                        }
53 652 fernando
                                } catch (DriverException e) {
54 507 fernando
                                }
55
                        }
56
                }
57 312 fernando
58 583 vcaballero
                return algunaTabla;
59
        }
60 312 fernando
61 583 vcaballero
        /**
62
         * DOCUMENT ME!
63
         *
64
         * @return DOCUMENT ME!
65
         */
66
        public boolean isVisible() {
67 596 fernando
                com.iver.andami.ui.mdiManager.View f = PluginServices.getMDIManager()
68 583 vcaballero
                                                                                                                   .getActiveView();
69 312 fernando
70 583 vcaballero
                if (f == null) {
71
                        return false;
72
                }
73 312 fernando
74 583 vcaballero
                return (f.getClass() == View.class);
75
        }
76 312 fernando
77 583 vcaballero
        /**
78
         * DOCUMENT ME!
79
         *
80
         * @param status DOCUMENT ME!
81
         * @param s DOCUMENT ME!
82
         */
83 596 fernando
        public void execute(String s) {
84
                View vista = (View) PluginServices.getMDIManager().getActiveView();
85 583 vcaballero
                FLayer[] actives = ((View) vista).getModel().getMapContext().getLayers()
86
                                                        .getActives();
87 312 fernando
88 583 vcaballero
                 for (int i = 0; i < actives.length; i++) {
89 564 fernando
                if (actives[i] instanceof AlphanumericData){
90
                        AlphanumericData co = (AlphanumericData)actives[i];
91 593 vcaballero
92 583 vcaballero
                                try {
93
                                        SelectableDataSource dataSource = co.getRecordset();
94 596 fernando
                                        ProjectExtension ext = (ProjectExtension) PluginServices
95 583 vcaballero
                                                                                                                                                  .getExtension(ProjectExtension.class);
96
97
                                        ProjectTable projectTable = ext.getProject().getTable(co);
98
99
                                        if (projectTable == null) {
100 1052 fjp
                                                String strAux = PluginServices.getText(this, "Tabla de atributos de ");
101
                                                projectTable = ProjectFactory.createTable(strAux + actives[i].getName(), dataSource);
102 583 vcaballero
                                                projectTable.setAssociatedTable(co);
103
                                                ext.getProject().addTable(projectTable);
104
                                        }//else{
105
                                        //        projectTable.setAssociatedTable(co);
106
                                        //}
107
108
                                        Table t = new Table();
109 693 fernando
                                        t.setModel(projectTable);
110 596 fernando
                                        PluginServices.getMDIManager().addView(t);
111 652 fernando
                                } catch (DriverException e) {
112 596 fernando
                                        NotificationManager.addError("Error al cargar los drivers",
113 583 vcaballero
                                                e);
114 549 fernando
                                }
115 410 fernando
                        }
116 593 vcaballero
117 583 vcaballero
                }
118
        }
119 596 fernando
120
        /**
121
         * @see com.iver.andami.plugins.Extension#inicializar()
122
         */
123
        public void inicializar() {
124
        }
125 312 fernando
}