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 | } |