Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / extensions / extCAD / src / com / iver / cit / gvsig / CreateNewLayer.java @ 24081

History | View | Annotate | Download (5.75 KB)

1
package com.iver.cit.gvsig;
2

    
3
import java.sql.Driver;
4
import java.sql.DriverManager;
5
import java.util.ArrayList;
6

    
7
import javax.swing.ImageIcon;
8

    
9
import org.gvsig.fmap.data.DataManager;
10
import org.gvsig.fmap.data.DataStoreParameters;
11
import org.gvsig.fmap.data.exceptions.InitializeException;
12
import org.gvsig.fmap.data.feature.FeatureStore;
13
import org.gvsig.fmap.data.impl.DefaultDataManager;
14
import org.gvsig.fmap.mapcontext.layers.LayerFactory;
15
import org.gvsig.fmap.mapcontrol.MapControl;
16

    
17
import com.iver.andami.PluginServices;
18
import com.iver.andami.messages.NotificationManager;
19
import com.iver.andami.plugins.Extension;
20
import com.iver.andami.ui.wizard.WizardAndami;
21
import com.iver.cit.gvsig.gui.cad.CADToolAdapter;
22
import com.iver.cit.gvsig.gui.cad.MyFinishAction;
23
import com.iver.cit.gvsig.gui.cad.panels.ChooseGeometryType;
24
import com.iver.cit.gvsig.gui.cad.panels.FileBasedPanel;
25
import com.iver.cit.gvsig.gui.cad.panels.JPanelFieldDefinition;
26
import com.iver.cit.gvsig.gui.cad.panels.PostGISpanel;
27
import com.iver.cit.gvsig.project.documents.view.gui.View;
28

    
29
/**
30
 * DOCUMENT ME!
31
 *
32
 * @author Vicente Caballero Navarro
33
 */
34
public class CreateNewLayer extends Extension {
35
        static ImageIcon LOGO;
36

    
37
        /**
38
         * @see com.iver.andami.plugins.IExtension#initialize()
39
         */
40
        public void initialize() {
41
        }
42

    
43
        /**
44
         * @see com.iver.andami.plugins.IExtension#execute(java.lang.String)
45
         */
46
public void execute(String actionCommand) {
47
                com.iver.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager()
48
                                .getActiveWindow();
49

    
50
                if (f instanceof View) {
51
                        try {
52
                                View vista = (View) f;
53

    
54
                                LOGO = new javax.swing.ImageIcon(this.getClass()
55
                                                .getClassLoader().getResource(
56
                                                                "images/package_graphics.png"));
57
                                CADToolAdapter cta = CADExtension.getCADToolAdapter();
58
                                MapControl mapControl = vista.getMapControl();
59
                                cta.setMapControl(mapControl);
60
                                /*
61
                                 * SimpleLogoJWizardFrame wizardFrame = new
62
                                 * SimpleLogoJWizardFrame( LOGO);
63
                                 * wizardFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
64
                                 *
65
                                 * SwingUtilities.updateComponentTreeUI(wizardFrame);
66
                                 *
67
                                 * wizardFrame.setTitle("Creaci?n de un nuevo Tema");
68
                                 */
69
                                WizardAndami wizard = new WizardAndami(LOGO);
70

    
71
//                                DriverManager writerManager = LayerFactory.getDM();
72
//                                ArrayList spatialDrivers = new ArrayList();
73
//                                String[] writerNames = writerManager.getDriverNames();
74
//                                for (int i = 0; i < writerNames.length; i++) {
75
//                                        Driver drv = writerManager.getDriver(writerNames[i]);
76
//                                        if (drv instanceof ISpatialWriter)
77
//                                                spatialDrivers.add(drv.getName());
78
//                                }
79

    
80
                                ChooseGeometryType panelChoose = new ChooseGeometryType(wizard
81
                                                .getWizardComponents());
82
                                JPanelFieldDefinition panelFields = new JPanelFieldDefinition(
83
                                                wizard.getWizardComponents());
84
                                DataManager dm=DefaultDataManager.getManager();
85
                                if (actionCommand.equals("SHP")) {
86
                                        wizard.getWizardComponents().addWizardPanel(panelChoose);
87
                                        wizard.getWizardComponents().addWizardPanel(panelFields);
88

    
89

    
90
                                        DataStoreParameters parameters = dm.createStoreParameters("SHPStore");
91
                                        FeatureStore store=(FeatureStore)dm.createStore(parameters);
92
                                        panelChoose.setFeatureStore(store);
93
                                        FileBasedPanel filePanel = new FileBasedPanel(wizard
94
                                                        .getWizardComponents());
95
                                        filePanel.setFileExtension("shp");
96
                                        wizard.getWizardComponents().addWizardPanel(filePanel);
97

    
98
                                        wizard.getWizardComponents().setFinishAction(
99
                                                        new MyFinishAction(wizard.getWizardComponents(),
100
                                                                        vista, actionCommand));
101
                                }
102
                                if (actionCommand.equals("DXF")) {
103
                                        FeatureStore store = (FeatureStore)dm.createStoreParameters("DXFStore");
104

    
105
                                        panelChoose.setFeatureStore(store);
106
                                        FileBasedPanel filePanel = new FileBasedPanel(wizard
107
                                                        .getWizardComponents());
108
                                        filePanel.setFileExtension("dxf");
109
                                        wizard.getWizardComponents().addWizardPanel(filePanel);
110
                                        wizard.getWizardComponents().getBackButton().setEnabled(
111
                                                        false);
112
                                        wizard.getWizardComponents().getNextButton().setEnabled(
113
                                                        false);
114

    
115
                                        wizard.getWizardComponents().setFinishAction(
116
                                                        new MyFinishAction(wizard.getWizardComponents(),
117
                                                                        vista, actionCommand));
118
                                }
119
//                                if (actionCommand.equals("POSTGIS")) {
120
//                                        wizard.getWizardComponents().addWizardPanel(panelChoose);
121
//                                        wizard.getWizardComponents().addWizardPanel(panelFields);
122
//                                        Driver driver = writerManager
123
//                                                        .getDriver("PostGIS JDBC Driver");
124
//                                        panelChoose.setFeatureStore(driver);
125
//                                        panelFields.setWriter(((IWriteable) driver).getWriter());
126
//                                        wizard.getWizardComponents().addWizardPanel(
127
//                                                        new PostGISpanel(wizard.getWizardComponents()));
128
//
129
//                                        wizard.getWizardComponents().setFinishAction(
130
//                                                        new MyFinishAction(wizard.getWizardComponents(),
131
//                                                                        vista, actionCommand));
132
//                                }
133

    
134
                                wizard.getWizardComponents().getFinishButton()
135
                                                .setEnabled(false);
136
                                wizard.getWindowInfo().setWidth(640);
137
                                wizard.getWindowInfo().setHeight(350);
138
                                wizard.getWindowInfo().setTitle(
139
                                                PluginServices.getText(this, "new_layer"));
140
                                // Utilities.centerComponentOnScreen(wizard);
141
                                // wizardFrame.show();
142
                                PluginServices.getMDIManager().addWindow(wizard);
143
                                // System.out.println("Salgo con " + panelChoose.getLayerName());
144
                        } catch (InitializeException e) {
145
                                NotificationManager.addError(e.getMessage(),e);
146
                        }
147
                }
148
        }
149
        /**
150
         * @see com.iver.andami.plugins.IExtension#isEnabled()
151
         */
152
        public boolean isEnabled() {
153
                View f = (View) PluginServices.getMDIManager().getActiveWindow();
154

    
155
                if (f == null)
156
                        return false;
157
                return true;
158
        }
159

    
160
        /**
161
         * @see com.iver.andami.plugins.IExtension#isVisible()
162
         */
163
        public boolean isVisible() {
164
                com.iver.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager()
165
                                .getActiveWindow();
166

    
167
                if (f == null) {
168
                        return false;
169
                }
170

    
171
                if (f instanceof View)
172
                        return true;
173
                return false;
174
        }
175
}