Statistics
| Revision:

root / branches / v2_0_0_prep / extensions / extEditing / src / org / gvsig / editing / CreateNewLayer.java @ 36721

History | View | Annotate | Download (5.54 KB)

1 29616 jpiera
package org.gvsig.editing;
2 5400 fjp
3
import javax.swing.ImageIcon;
4
5 29616 jpiera
import org.gvsig.andami.PluginServices;
6
import org.gvsig.andami.messages.NotificationManager;
7
import org.gvsig.andami.plugins.Extension;
8
import org.gvsig.andami.ui.wizard.WizardAndami;
9 31496 jjdelcerro
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel;
10 29616 jpiera
import org.gvsig.editing.gui.cad.CADToolAdapter;
11
import org.gvsig.editing.gui.cad.MyFinishAction;
12
import org.gvsig.editing.gui.cad.panels.ChooseGeometryType;
13
import org.gvsig.editing.gui.cad.panels.FileBasedPanel;
14
import org.gvsig.editing.gui.cad.panels.JPanelFieldDefinition;
15 24490 jmvivo
import org.gvsig.fmap.dal.DALLocator;
16
import org.gvsig.fmap.dal.DataManager;
17 34978 fdiaz
import org.gvsig.fmap.dal.DataStoreParameters;
18 24500 jmvivo
import org.gvsig.fmap.dal.exception.InitializeException;
19
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
20 34978 fdiaz
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
21 24490 jmvivo
import org.gvsig.fmap.dal.feature.FeatureStore;
22 21666 vcaballero
import org.gvsig.fmap.mapcontrol.MapControl;
23
24 5400 fjp
25
/**
26
 * DOCUMENT ME!
27 6604 caballero
 *
28 5400 fjp
 * @author Vicente Caballero Navarro
29
 */
30
public class CreateNewLayer extends Extension {
31
        static ImageIcon LOGO;
32
33
        /**
34 29616 jpiera
         * @see org.gvsig.andami.plugins.IExtension#initialize()
35 5400 fjp
         */
36
        public void initialize() {
37
        }
38
39
        /**
40 29616 jpiera
         * @see org.gvsig.andami.plugins.IExtension#execute(java.lang.String)
41 5400 fjp
         */
42
public void execute(String actionCommand) {
43 29616 jpiera
                org.gvsig.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager()
44 6882 cesar
                                .getActiveWindow();
45 5400 fjp
46 31496 jjdelcerro
                if (f instanceof DefaultViewPanel) {
47
                                DefaultViewPanel vista = (DefaultViewPanel) 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 23535 vcaballero
//                                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 24465 vcaballero
                                DataManager dm=DALLocator.getDataManager();
80 10661 caballero
                                if (actionCommand.equals("SHP")) {
81
                                        wizard.getWizardComponents().addWizardPanel(panelChoose);
82
                                        wizard.getWizardComponents().addWizardPanel(panelFields);
83 5400 fjp
84 23535 vcaballero
85 26312 vcaballero
//                                        DataStoreParameters parameters = dm.createStoreParameters("SHPStore");
86
//                                        FeatureStore store=(FeatureStore)dm.createStore(parameters);
87
//                                        panelChoose.setFeatureStore(store);
88 10661 caballero
                                        FileBasedPanel filePanel = new FileBasedPanel(wizard
89
                                                        .getWizardComponents());
90
                                        filePanel.setFileExtension("shp");
91
                                        wizard.getWizardComponents().addWizardPanel(filePanel);
92 5400 fjp
93 10661 caballero
                                        wizard.getWizardComponents().setFinishAction(
94
                                                        new MyFinishAction(wizard.getWizardComponents(),
95
                                                                        vista, actionCommand));
96
                                }
97
                                if (actionCommand.equals("DXF")) {
98
                                        FileBasedPanel filePanel = new FileBasedPanel(wizard
99
                                                        .getWizardComponents());
100
                                        filePanel.setFileExtension("dxf");
101
                                        wizard.getWizardComponents().addWizardPanel(filePanel);
102
                                        wizard.getWizardComponents().getBackButton().setEnabled(
103
                                                        false);
104
                                        wizard.getWizardComponents().getNextButton().setEnabled(
105
                                                        false);
106 5400 fjp
107 10661 caballero
                                        wizard.getWizardComponents().setFinishAction(
108
                                                        new MyFinishAction(wizard.getWizardComponents(),
109
                                                                        vista, actionCommand));
110
                                }
111 23535 vcaballero
//                                if (actionCommand.equals("POSTGIS")) {
112
//                                        wizard.getWizardComponents().addWizardPanel(panelChoose);
113
//                                        wizard.getWizardComponents().addWizardPanel(panelFields);
114
//                                        Driver driver = writerManager
115
//                                                        .getDriver("PostGIS JDBC Driver");
116
//                                        panelChoose.setFeatureStore(driver);
117
//                                        panelFields.setWriter(((IWriteable) driver).getWriter());
118
//                                        wizard.getWizardComponents().addWizardPanel(
119
//                                                        new PostGISpanel(wizard.getWizardComponents()));
120
//
121
//                                        wizard.getWizardComponents().setFinishAction(
122
//                                                        new MyFinishAction(wizard.getWizardComponents(),
123
//                                                                        vista, actionCommand));
124
//                                }
125 6604 caballero
126 10661 caballero
                                wizard.getWizardComponents().getFinishButton()
127
                                                .setEnabled(false);
128
                                wizard.getWindowInfo().setWidth(640);
129
                                wizard.getWindowInfo().setHeight(350);
130
                                wizard.getWindowInfo().setTitle(
131
                                                PluginServices.getText(this, "new_layer"));
132
                                // Utilities.centerComponentOnScreen(wizard);
133
                                // wizardFrame.show();
134
                                PluginServices.getMDIManager().addWindow(wizard);
135
                                // System.out.println("Salgo con " + panelChoose.getLayerName());
136 5400 fjp
                }
137
        }
138
        /**
139 29616 jpiera
         * @see org.gvsig.andami.plugins.IExtension#isEnabled()
140 5400 fjp
         */
141
        public boolean isEnabled() {
142 31496 jjdelcerro
                DefaultViewPanel f = (DefaultViewPanel) PluginServices.getMDIManager().getActiveWindow();
143 5400 fjp
144 6604 caballero
                if (f == null)
145 5400 fjp
                        return false;
146 6604 caballero
                return true;
147 5400 fjp
        }
148
149
        /**
150 29616 jpiera
         * @see org.gvsig.andami.plugins.IExtension#isVisible()
151 5400 fjp
         */
152
        public boolean isVisible() {
153 29616 jpiera
                org.gvsig.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager()
154 6882 cesar
                                .getActiveWindow();
155 5400 fjp
156
                if (f == null) {
157
                        return false;
158
                }
159
160 31496 jjdelcerro
                if (f instanceof DefaultViewPanel)
161 5400 fjp
                        return true;
162 6604 caballero
                return false;
163 5400 fjp
        }
164
}