svn-gvsig-desktop / branches / v2_0_0_prep / extensions / extCAD / src / com / iver / cit / gvsig / CreateNewLayer.java @ 22932
History | View | Annotate | Download (5.38 KB)
1 | 5400 | fjp | package com.iver.cit.gvsig; |
---|---|---|---|
2 | |||
3 | 21666 | vcaballero | import java.sql.Driver; |
4 | import java.sql.DriverManager; |
||
5 | 5400 | fjp | import java.util.ArrayList; |
6 | |||
7 | import javax.swing.ImageIcon; |
||
8 | |||
9 | 21666 | vcaballero | import org.gvsig.fmap.mapcontext.layers.LayerFactory; |
10 | import org.gvsig.fmap.mapcontrol.MapControl; |
||
11 | |||
12 | 5400 | fjp | import com.iver.andami.PluginServices; |
13 | 12739 | caballero | import com.iver.andami.messages.NotificationManager; |
14 | 5400 | fjp | import com.iver.andami.plugins.Extension; |
15 | 9053 | jmvivo | import com.iver.andami.ui.wizard.WizardAndami; |
16 | 7521 | caballero | import com.iver.cit.gvsig.gui.cad.CADToolAdapter; |
17 | 5400 | fjp | import com.iver.cit.gvsig.gui.cad.MyFinishAction; |
18 | import com.iver.cit.gvsig.gui.cad.panels.ChooseGeometryType; |
||
19 | import com.iver.cit.gvsig.gui.cad.panels.FileBasedPanel; |
||
20 | import com.iver.cit.gvsig.gui.cad.panels.JPanelFieldDefinition; |
||
21 | import com.iver.cit.gvsig.gui.cad.panels.PostGISpanel; |
||
22 | 7304 | caballero | import com.iver.cit.gvsig.project.documents.view.gui.View; |
23 | 5400 | fjp | |
24 | /**
|
||
25 | * DOCUMENT ME!
|
||
26 | 6604 | caballero | *
|
27 | 5400 | fjp | * @author Vicente Caballero Navarro
|
28 | */
|
||
29 | public class CreateNewLayer extends Extension { |
||
30 | static ImageIcon LOGO; |
||
31 | |||
32 | /**
|
||
33 | * @see com.iver.andami.plugins.IExtension#initialize()
|
||
34 | */
|
||
35 | public void initialize() { |
||
36 | } |
||
37 | |||
38 | /**
|
||
39 | * @see com.iver.andami.plugins.IExtension#execute(java.lang.String)
|
||
40 | */
|
||
41 | public void execute(String actionCommand) { |
||
42 | 6877 | cesar | com.iver.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager() |
43 | 6882 | cesar | .getActiveWindow(); |
44 | 5400 | fjp | |
45 | if (f instanceof View) { |
||
46 | 10661 | caballero | try {
|
47 | View vista = (View) f; |
||
48 | 5400 | fjp | |
49 | 10661 | caballero | LOGO = new javax.swing.ImageIcon(this.getClass() |
50 | .getClassLoader().getResource( |
||
51 | "images/package_graphics.png"));
|
||
52 | CADToolAdapter cta = CADExtension.getCADToolAdapter(); |
||
53 | MapControl mapControl = vista.getMapControl(); |
||
54 | cta.setMapControl(mapControl); |
||
55 | /*
|
||
56 | * SimpleLogoJWizardFrame wizardFrame = new
|
||
57 | * SimpleLogoJWizardFrame( LOGO);
|
||
58 | * wizardFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||
59 | *
|
||
60 | * SwingUtilities.updateComponentTreeUI(wizardFrame);
|
||
61 | *
|
||
62 | * wizardFrame.setTitle("Creaci?n de un nuevo Tema");
|
||
63 | */
|
||
64 | WizardAndami wizard = new WizardAndami(LOGO);
|
||
65 | 5400 | fjp | |
66 | 10661 | caballero | DriverManager writerManager = LayerFactory.getDM();
|
67 | ArrayList spatialDrivers = new ArrayList(); |
||
68 | String[] writerNames = writerManager.getDriverNames(); |
||
69 | for (int i = 0; i < writerNames.length; i++) { |
||
70 | Driver drv = writerManager.getDriver(writerNames[i]);
|
||
71 | if (drv instanceof ISpatialWriter) |
||
72 | spatialDrivers.add(drv.getName()); |
||
73 | } |
||
74 | 5400 | fjp | |
75 | 10661 | caballero | ChooseGeometryType panelChoose = new ChooseGeometryType(wizard
|
76 | .getWizardComponents()); |
||
77 | JPanelFieldDefinition panelFields = new JPanelFieldDefinition(
|
||
78 | wizard.getWizardComponents()); |
||
79 | 5400 | fjp | |
80 | 10661 | caballero | if (actionCommand.equals("SHP")) { |
81 | wizard.getWizardComponents().addWizardPanel(panelChoose); |
||
82 | wizard.getWizardComponents().addWizardPanel(panelFields); |
||
83 | 5400 | fjp | |
84 | 10661 | caballero | Driver driver = writerManager.getDriver("gvSIG shp driver"); |
85 | panelFields.setWriter(((IWriteable) driver).getWriter()); |
||
86 | 21666 | vcaballero | panelChoose.setFeatureStore(driver); |
87 | 10661 | caballero | FileBasedPanel filePanel = new FileBasedPanel(wizard
|
88 | .getWizardComponents()); |
||
89 | filePanel.setFileExtension("shp");
|
||
90 | wizard.getWizardComponents().addWizardPanel(filePanel); |
||
91 | 5400 | fjp | |
92 | 10661 | caballero | wizard.getWizardComponents().setFinishAction( |
93 | new MyFinishAction(wizard.getWizardComponents(),
|
||
94 | vista, actionCommand)); |
||
95 | } |
||
96 | if (actionCommand.equals("DXF")) { |
||
97 | 21666 | vcaballero | panelChoose.setFeatureStore(writerManager |
98 | 10661 | caballero | .getDriver("gvSIG DXF Memory Driver"));
|
99 | FileBasedPanel filePanel = new FileBasedPanel(wizard
|
||
100 | .getWizardComponents()); |
||
101 | filePanel.setFileExtension("dxf");
|
||
102 | wizard.getWizardComponents().addWizardPanel(filePanel); |
||
103 | wizard.getWizardComponents().getBackButton().setEnabled( |
||
104 | false);
|
||
105 | wizard.getWizardComponents().getNextButton().setEnabled( |
||
106 | false);
|
||
107 | 5400 | fjp | |
108 | 10661 | caballero | wizard.getWizardComponents().setFinishAction( |
109 | new MyFinishAction(wizard.getWizardComponents(),
|
||
110 | vista, actionCommand)); |
||
111 | } |
||
112 | if (actionCommand.equals("POSTGIS")) { |
||
113 | wizard.getWizardComponents().addWizardPanel(panelChoose); |
||
114 | wizard.getWizardComponents().addWizardPanel(panelFields); |
||
115 | Driver driver = writerManager
|
||
116 | .getDriver("PostGIS JDBC Driver");
|
||
117 | 21666 | vcaballero | panelChoose.setFeatureStore(driver); |
118 | 10661 | caballero | panelFields.setWriter(((IWriteable) driver).getWriter()); |
119 | wizard.getWizardComponents().addWizardPanel( |
||
120 | new PostGISpanel(wizard.getWizardComponents()));
|
||
121 | 6604 | caballero | |
122 | 10661 | caballero | wizard.getWizardComponents().setFinishAction( |
123 | new MyFinishAction(wizard.getWizardComponents(),
|
||
124 | vista, actionCommand)); |
||
125 | } |
||
126 | 6604 | caballero | |
127 | 10661 | caballero | wizard.getWizardComponents().getFinishButton() |
128 | .setEnabled(false);
|
||
129 | wizard.getWindowInfo().setWidth(640);
|
||
130 | wizard.getWindowInfo().setHeight(350);
|
||
131 | wizard.getWindowInfo().setTitle( |
||
132 | PluginServices.getText(this, "new_layer")); |
||
133 | // Utilities.centerComponentOnScreen(wizard);
|
||
134 | // wizardFrame.show();
|
||
135 | PluginServices.getMDIManager().addWindow(wizard); |
||
136 | // System.out.println("Salgo con " + panelChoose.getLayerName());
|
||
137 | } catch (DriverLoadException e) {
|
||
138 | 12739 | caballero | NotificationManager.addError(e.getMessage(),e); |
139 | 5400 | fjp | } |
140 | } |
||
141 | } |
||
142 | /**
|
||
143 | * @see com.iver.andami.plugins.IExtension#isEnabled()
|
||
144 | */
|
||
145 | public boolean isEnabled() { |
||
146 | 6882 | cesar | View f = (View) PluginServices.getMDIManager().getActiveWindow(); |
147 | 5400 | fjp | |
148 | 6604 | caballero | if (f == null) |
149 | 5400 | fjp | return false; |
150 | 6604 | caballero | return true; |
151 | 5400 | fjp | } |
152 | |||
153 | /**
|
||
154 | * @see com.iver.andami.plugins.IExtension#isVisible()
|
||
155 | */
|
||
156 | public boolean isVisible() { |
||
157 | 6877 | cesar | com.iver.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager() |
158 | 6882 | cesar | .getActiveWindow(); |
159 | 5400 | fjp | |
160 | if (f == null) { |
||
161 | return false; |
||
162 | } |
||
163 | |||
164 | 6604 | caballero | if (f instanceof View) |
165 | 5400 | fjp | return true; |
166 | 6604 | caballero | return false; |
167 | 5400 | fjp | } |
168 | } |