Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / extensions / extDalTransform / src / main / java / org / gvsig / daltransform / swing / impl / DefaultDataTransformWizard.java @ 35512

History | View | Annotate | Download (5.2 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
*
3
* Copyright (C) 2007-2008 Infrastructures and Transports Department
4
* of the Valencian Government (CIT)
5
* 
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
* 
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
* GNU General Public License for more details.
15
* 
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
* MA  02110-1301, USA.
20
* 
21
*/
22

    
23
/*
24
* AUTHORS (In addition to CIT):
25
* 2009 {Iver T.I.}   {Task}
26
*/
27
 
28
package org.gvsig.daltransform.swing.impl;
29

    
30
import java.util.List;
31

    
32
import org.gvsig.andami.PluginServices;
33
import org.gvsig.andami.ui.mdiManager.IWindow;
34
import org.gvsig.andami.ui.wizard.WizardAndami;
35
import org.gvsig.daltransform.swing.DataTransformGui;
36
import org.gvsig.daltransform.swing.DataTransformWizard;
37
import org.gvsig.daltransform.swing.DataTransformWizardPanel;
38
import org.gvsig.fmap.dal.feature.FeatureStore;
39
import org.gvsig.fmap.mapcontext.MapContext;
40

    
41

    
42
/**
43
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a>
44
 */
45
public class DefaultDataTransformWizard extends WizardAndami implements DataTransformWizard{
46
        private List<DataTransformWizardPanel> transformWizardPanels = null;
47
        //The three default panels
48
        private LoadLayerWizardPanel loadLayerWizardPanel = null;
49
        private SelectDataStoreWizardPanel selectDataStoreWizardPanel = null;
50
        private SelectTransformWizardPanel selectTransformWizardPanel = null;
51
        //If the wizard has to use a concrete transformation
52
        private DataTransformGui dataTransformGui = null;
53
        private int PANELS_TO_REFRESH = 2;
54
        
55
        /**
56
         * @param wizard
57
         */
58
        public DefaultDataTransformWizard() {
59
                super(PluginServices.getIconTheme().get("feature-transform"));        
60
                loadLayerWizardPanel = new LoadLayerWizardPanel();
61
                selectDataStoreWizardPanel = new SelectDataStoreWizardPanel();
62
                selectTransformWizardPanel = new SelectTransformWizardPanel();
63
                initialize();
64
                setSize(selectTransformWizardPanel.getMaxHeight(),
65
                                selectTransformWizardPanel.getMaxWidth());
66
        }
67

    
68
        private void initialize() {
69
                getWizardComponents().getFinishButton().setEnabled(false);
70
                getWindowInfo().setTitle(PluginServices.getText(this, "transform_wizard"));
71
                addDataTransformWizardPanel(selectTransformWizardPanel);
72
                addDataTransformWizardPanel(selectDataStoreWizardPanel);                
73
                getWizardComponents().setFinishAction(new DataTransformSelectionAction(this));
74
        }
75

    
76
        /*
77
         * (non-Javadoc)
78
         * @see org.gvsig.app.daltransform.gui.DataTransformWizard#setApplicable(boolean)
79
         */
80
        public void setApplicable(boolean isEnabled) {
81
                getWizardComponents().getNextButton().setEnabled(isEnabled);                
82
        }        
83

    
84
        /* (non-Javadoc)
85
         * @see org.gvsig.app.daltransform.DataTransformWizard#getDataTransformGui()
86
         */
87
        public DataTransformGui getDataTransformGui() {
88
                if (dataTransformGui == null){
89
                        return selectTransformWizardPanel.getFeatureTransformGui();
90
                }else{
91
                        return dataTransformGui;
92
                }                
93
        }
94

    
95
        /* (non-Javadoc)
96
         * @see org.gvsig.app.daltransform.DataTransformWizard#setDataTransformGui(org.gvsig.app.daltransform.DataTransformGui)
97
         */
98
        public void updateGui() {
99
                //Remove all the panels
100
                for (int i=getWizardComponents().getWizardPanelList().size()-1 ; i>=PANELS_TO_REFRESH ; i--){
101
                        getWizardComponents().removeWizardPanel(i);
102
                }        
103
                //Add new panels
104
                transformWizardPanels = getDataTransformGui().createPanels();
105
                for (int i=0 ; i<transformWizardPanels.size() ; i++){
106
                        addDataTransformWizardPanel(transformWizardPanels.get(i));
107
                }
108
                addDataTransformWizardPanel(loadLayerWizardPanel);                        
109
        }
110
        
111
        public void addDataTransformWizardPanel(DataTransformWizardPanel dataTransformWizardPanel){
112
                dataTransformWizardPanel.setDataTransformWizard(this);
113
                getWizardComponents().addWizardPanel(
114
                                new DataTransformWizardContainer(getWizardComponents(), dataTransformWizardPanel));        
115
        }
116

    
117
        /* (non-Javadoc)
118
         * @see org.gvsig.app.daltransform.DataTransformWizard#getFeatureStore()
119
         */
120
        public FeatureStore getFeatureStore() {
121
                return selectDataStoreWizardPanel.getFeatureStore();
122
        }
123

    
124
        /* (non-Javadoc)
125
         * @see org.gvsig.app.daltransform.DataTransformWizard#isFeatureStoreLayer()
126
         */
127
        public boolean isFeatureStoreLayer() {
128
                return selectDataStoreWizardPanel.isFeatureStoreLayer();
129
        }
130
        
131
        public boolean isLayerLoaded(){
132
                return loadLayerWizardPanel.isLayerLoaded();
133
        }
134
        
135
        public MapContext getMapContext(){
136
                return loadLayerWizardPanel.getMapContext();
137
        }
138

    
139
        /* (non-Javadoc)
140
         * @see org.gvsig.app.daltransform.gui.DataTransformWizard#getWindow()
141
         */
142
        public IWindow getWindow() {
143
                return this;
144
        }
145

    
146
        /* (non-Javadoc)
147
         * @see org.gvsig.app.daltransform.gui.DataTransformWizard#setDataTransformGui(org.gvsig.app.daltransform.gui.DataTransformGui)
148
         */
149
        public void setDataTransformGui(DataTransformGui dataTransformGui) {
150
                this.dataTransformGui = dataTransformGui;
151
                PANELS_TO_REFRESH = 1;
152
                getWizardComponents().removeWizardPanel(0);                
153
        }
154
}
155