Revision 42676

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/resources-plugin/i18n/text.properties
61 61
_Nueva_expresion=Nueva expresion
62 62
_Filtro=Filtro
63 63
_Export_to=Exportar a...
64

  
65
select_target_projection=Seleccione proyecci\u00f3n destino
66
original_projection=Original
67
projection_from_source_layer_before_view_reprojection=Proyecci\u00f3n de la capa origen antes de la reproyecci\u00f3n de la vista
68
view_projection=Vista
69
projection_used_in_view=Proyecci\u00f3n usada en la vista
70
user_selected_projection=Seleccionada por el usuario
71
projection_selected_by_user=Proyecci\u00f3n seleccionada por el usuario
72
selected_projection=Proyecci\u00f3n seleccionada
73
projection_selector=Selector de proyecciones
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
60 60
_Nueva_expresion=New expression
61 61
_Filtro=Filter
62 62
_Export_to=Export to...
63

  
64
select_target_projection=Select target projection
65
original_projection=Original
66
projection_from_source_layer_before_view_reprojection=Projection from source layer before view reprojection
67
view_projection=View
68
projection_used_in_view=Projection used in view
69
user_selected_projection=User selected
70
projection_selected_by_user=Projection selected by user
71
selected_projection=Selected projection
72
projection_selector=Projection selector
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.spi/src/main/java/org/gvsig/exportto/swing/spi/ExporttoSwingProvider.java
23 23
 */
24 24
package org.gvsig.exportto.swing.spi;
25 25

  
26
import org.cresques.cts.IProjection;
26 27
import org.gvsig.exportto.ExporttoService;
27 28

  
28 29
/**
29 30
 * A Exportto provider.
30
 * 
31
 *
31 32
 * @author gvSIG Team
32 33
 * @version $Id$
33 34
 */
......
43 44
     * A {@link ExporttoSwingProvider} are composed of a set of panels. This
44 45
     * method
45 46
     * is used to retrieve all these panels.
46
     * 
47
     *
47 48
     * @param index
48 49
     *            position of the panel to retrieve.
49 50
     * @return
......
57 58
     */
58 59
    public ExporttoService createExporttoService();
59 60

  
61
    /**
62
     * Sets the target projection to which should be exported
63
     * @param targetProjection
64
     */
65
    public void setTargetProjection(IProjection targetProjection);
66

  
67
    /**
68
     * Informs if it needs to ask for a target projection,
69
     * or if it is not needed or provided through its own wizard panel.
70
     * @return
71
     */
72
    public boolean needsPanelTargetProjection();
73

  
60 74
}
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/pom.xml
84 84
            <artifactId>org.gvsig.timesupport.lib.impl</artifactId>
85 85
            <scope>runtime</scope>
86 86
        </dependency>
87
        <dependency>
88
         <groupId>org.gvsig</groupId>
89
         <artifactId>org.gvsig.projection.cresques.ui</artifactId>
90
        </dependency>
87 91
    </dependencies>
88 92
</project>
89 93

  
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/DefaultJExporttoServicePanel.java
43 43
import org.gvsig.exportto.swing.impl.panel.MessagePanel;
44 44
import org.gvsig.exportto.swing.impl.wizard.DefaultWizardContainer;
45 45
import org.gvsig.exportto.swing.impl.wizard.ExportFilterWizard;
46
import org.gvsig.exportto.swing.impl.wizard.ExportTargetProjectionWizard;
46 47
import org.gvsig.exportto.swing.impl.wizard.ExporterSelectionWizard;
47 48
import org.gvsig.exportto.swing.impl.wizard.ExporttoProgressWizard;
48 49
import org.gvsig.exportto.swing.spi.ExporttoSwingProvider;
......
67 68

  
68 69
/**
69 70
 * Default implementation for the {@link JExporttoServicePanel}.
70
 * 
71
 *
71 72
 * @author gvSIG Team
72 73
 * @version $Id$
73 74
 */
......
97 98
    // Wizards used to create the main wizard
98 99
    private ExporterSelectionWizard exporterSelectionWizard = null;
99 100
    private ExportFilterWizard exportFilterWizard = null;
101
    private ExportTargetProjectionWizard exportTargetProjectionWizard  = null;
100 102
    private ExporttoProgressWizard exporttoProgressWizard = null;
101 103

  
102 104
    // Listener for the finish and cancell button
......
113 115
        FLyrVect vlayer,
114 116
        ExporttoServiceFinishAction exporttoServiceFinishAction,
115 117
        int[] providerTypes) {
116
        
118

  
117 119
        this(
118 120
            uimanager,
119 121
            vlayer.getFeatureStore(),
......
122 124
            providerTypes);
123 125
        vectorLayer = vlayer;
124 126
    }
125
    
127

  
126 128
    public DefaultJExporttoServicePanel(DefaultExporttoSwingManager uimanager,
127 129
        FeatureStore featureStore, IProjection projection,
128 130
        ExporttoServiceFinishAction exporttoServiceFinishAction,
......
134 136
        this.providerTypes = providerTypes;
135 137
        this.status = JOptionPane.UNDEFINED_CONDITION;
136 138

  
137
        ImageIcon ii = IconThemeHelper.getImageIcon("wizard-export-to"); 
139
        ImageIcon ii = IconThemeHelper.getImageIcon("wizard-export-to");
138 140
        wizardPanelWithLogo = new WizardPanelWithLogo(ii);
139 141

  
140 142
        // Initialize the wizards
141 143
        exporterSelectionWizard =
142 144
            new ExporterSelectionWizard(this, providerTypes);
145
        exportTargetProjectionWizard = new ExportTargetProjectionWizard(this);
143 146
        exportFilterWizard = new ExportFilterWizard(this);
144 147
        exporttoProgressWizard = new ExporttoProgressWizard(this);
145 148

  
......
165 168
    public FeatureStore getFeatureStore() {
166 169
        return this.featureStore;
167 170
    }
168
    
171

  
169 172
    public void setNextButtonEnabled(boolean isEnabled) {
170 173
        wizardPanelWithLogo.setNextButtonEnabled(isEnabled);
171 174
    }
......
193 196
    public void selectExporttoSwingProvider(
194 197
        ExporttoSwingProviderFactory provider)
195 198
        throws ServiceException {
196
        
199

  
197 200
        if (vectorLayer == null) {
198 201
            exporttoSwingProvider =
199 202
                EXPORTTO_SWING_PROVIDER_MANAGER.createExporttoSwingProvider(
......
213 216
            wizardPanelWithLogo.addOptionPanel(new DefaultWizardContainer(
214 217
                exporttoSwingProvider.getPanelAt(i)));
215 218
        }
219
        exportTargetProjectionWizard.setVectorLayer(vectorLayer);
220
        if (exporttoSwingProvider.needsPanelTargetProjection()){
221
            wizardPanelWithLogo.addOptionPanel(exportTargetProjectionWizard);
222
        }
216 223
        wizardPanelWithLogo.addOptionPanel(exportFilterWizard);
217 224
        wizardPanelWithLogo.addOptionPanel(exporttoProgressWizard);
218 225
    }
......
220 227
    public Dimension getPreferredSize() {
221 228
        return new Dimension(800, 550);
222 229
    }
223
    
230

  
224 231
    public void export() throws DataException, ExporttoServiceException {
225 232
        this.lastWizard();
226 233

  
......
228 235
        FeatureSet featureSet = null;
229 236
        if ( exportFilterWizard.isFullLayerSelected() ) {
230 237
            featureSet = featureStore.getFeatureSet();
231
            
238

  
232 239
        } else if ( exportFilterWizard.isSelectedFeaturesSelected() ) {
233 240
            featureSet = (FeatureSet) featureStore.getSelection();
234
            
241

  
235 242
        } else {
236 243
            Evaluator filter = exportFilterWizard.getFilter();
237 244
            if( filter!=null ) {
......
240 247
                featureSet = featureStore.getFeatureSet(featureQuery);
241 248
            }
242 249
        }
250
        if( exporttoSwingProvider.needsPanelTargetProjection()) {
251
            exporttoSwingProvider.setTargetProjection(exportTargetProjectionWizard.getTargetProjection());
252
        }
243 253

  
244 254
        Export export = new Export(featureSet);
245 255
        export.start();
......
284 294
    private void showError(ExporttoServiceException e) {
285 295
        I18nManager i18nManager = ToolsLocator.getI18nManager();
286 296
        MessagePanel.showMessage(
287
                i18nManager.getTranslation("_Warning"), 
288
                i18nManager.getTranslation("_There_have_been_problems_exporting_data"), 
289
                e, 
297
                i18nManager.getTranslation("_Warning"),
298
                i18nManager.getTranslation("_There_have_been_problems_exporting_data"),
299
                e,
290 300
                e.getFeature()
291 301
        );
292 302
    }
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/panel/ExportTargetProjectionPanelLayout.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<object classname="com.jeta.forms.store.memento.FormPackage">
4
 <at name="fileversion">
5
  <object classname="com.jeta.forms.store.memento.FormsVersion2">
6
   <at name="major">2</at>
7
   <at name="minor">0</at>
8
   <at name="sub">0</at>
9
  </object>
10
 </at>
11
 <at name="form">
12
  <object classname="com.jeta.forms.store.memento.FormMemento">
13
   <super classname="com.jeta.forms.store.memento.ComponentMemento">
14
    <at name="cellconstraints">
15
     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
16
      <at name="column">1</at>
17
      <at name="row">1</at>
18
      <at name="colspan">1</at>
19
      <at name="rowspan">1</at>
20
      <at name="halign">default</at>
21
      <at name="valign">default</at>
22
      <at name="insets" object="insets">0,0,0,0</at>
23
     </object>
24
    </at>
25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26
   </super>
27
   <at name="id">/home/daniel/projects/externals/gvSIG/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/panel/ExportTargetProjectionPanelLayout.xml</at>
28
   <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,FILL:DEFAULT:NONE,CENTER:2DLU:NONE</at>
29
   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
30
   <at name="components">
31
    <object classname="java.util.LinkedList">
32
     <item >
33
      <at name="value">
34
       <object classname="com.jeta.forms.store.memento.BeanMemento">
35
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
36
         <at name="cellconstraints">
37
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
38
           <at name="column">2</at>
39
           <at name="row">2</at>
40
           <at name="colspan">4</at>
41
           <at name="rowspan">1</at>
42
           <at name="halign">default</at>
43
           <at name="valign">default</at>
44
           <at name="insets" object="insets">0,0,0,0</at>
45
          </object>
46
         </at>
47
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
48
        </super>
49
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
50
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
51
        <at name="beanproperties">
52
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
53
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
54
          <at name="properties">
55
           <object classname="com.jeta.forms.store.support.PropertyMap">
56
            <at name="text">select_target_projection</at>
57
            <at name="height">14</at>
58
            <at name="width">932</at>
59
            <at name="name">lblSelectTargetProjection</at>
60
            <at name="fill">
61
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
62
              <at name="name">fill</at>
63
             </object>
64
            </at>
65
            <at name="toolTipText">select_target_projection</at>
66
            <at name="border">
67
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
68
              <super classname="com.jeta.forms.store.properties.BorderProperty">
69
               <at name="name">border</at>
70
              </super>
71
              <at name="borders">
72
               <object classname="java.util.LinkedList">
73
                <item >
74
                 <at name="value">
75
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
76
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
77
                    <at name="name">border</at>
78
                   </super>
79
                  </object>
80
                 </at>
81
                </item>
82
               </object>
83
              </at>
84
             </object>
85
            </at>
86
           </object>
87
          </at>
88
         </object>
89
        </at>
90
       </object>
91
      </at>
92
     </item>
93
     <item >
94
      <at name="value">
95
       <object classname="com.jeta.forms.store.memento.BeanMemento">
96
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
97
         <at name="cellconstraints">
98
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
99
           <at name="column">3</at>
100
           <at name="row">4</at>
101
           <at name="colspan">1</at>
102
           <at name="rowspan">1</at>
103
           <at name="halign">default</at>
104
           <at name="valign">default</at>
105
           <at name="insets" object="insets">0,0,0,0</at>
106
          </object>
107
         </at>
108
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
109
        </super>
110
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
111
        <at name="beanclass">javax.swing.JRadioButton</at>
112
        <at name="beanproperties">
113
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
114
          <at name="classname">javax.swing.JRadioButton</at>
115
          <at name="properties">
116
           <object classname="com.jeta.forms.store.support.PropertyMap">
117
            <at name="height">15</at>
118
            <at name="buttonGroup">
119
             <object classname="com.jeta.forms.store.properties.ButtonGroupProperty">
120
              <at name="name">buttonGroup</at>
121
              <at name="groupname">btngrpSelection</at>
122
             </object>
123
            </at>
124
            <at name="width">15</at>
125
            <at name="name">rdbtnOriginalProjection</at>
126
            <at name="actionCommand">original_projection	</at>
127
            <at name="toolTipText">projection_from_source_layer_before_view_reprojection</at>
128
            <at name="border">
129
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
130
              <super classname="com.jeta.forms.store.properties.BorderProperty">
131
               <at name="name">border</at>
132
              </super>
133
              <at name="borders">
134
               <object classname="java.util.LinkedList">
135
                <item >
136
                 <at name="value">
137
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
138
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
139
                    <at name="name">border</at>
140
                   </super>
141
                  </object>
142
                 </at>
143
                </item>
144
               </object>
145
              </at>
146
             </object>
147
            </at>
148
           </object>
149
          </at>
150
         </object>
151
        </at>
152
       </object>
153
      </at>
154
     </item>
155
     <item >
156
      <at name="value">
157
       <object classname="com.jeta.forms.store.memento.BeanMemento">
158
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
159
         <at name="cellconstraints">
160
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
161
           <at name="column">5</at>
162
           <at name="row">4</at>
163
           <at name="colspan">1</at>
164
           <at name="rowspan">1</at>
165
           <at name="halign">default</at>
166
           <at name="valign">default</at>
167
           <at name="insets" object="insets">0,0,0,0</at>
168
          </object>
169
         </at>
170
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
171
        </super>
172
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
173
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
174
        <at name="beanproperties">
175
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
176
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
177
          <at name="properties">
178
           <object classname="com.jeta.forms.store.support.PropertyMap">
179
            <at name="text">original_projection</at>
180
            <at name="height">14</at>
181
            <at name="width">890</at>
182
            <at name="name">lblRdbtnOriginalProjection</at>
183
            <at name="fill">
184
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
185
              <at name="name">fill</at>
186
             </object>
187
            </at>
188
            <at name="toolTipText">projection_from_source_layer_before_view_reprojection</at>
189
            <at name="border">
190
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
191
              <super classname="com.jeta.forms.store.properties.BorderProperty">
192
               <at name="name">border</at>
193
              </super>
194
              <at name="borders">
195
               <object classname="java.util.LinkedList">
196
                <item >
197
                 <at name="value">
198
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
199
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
200
                    <at name="name">border</at>
201
                   </super>
202
                  </object>
203
                 </at>
204
                </item>
205
               </object>
206
              </at>
207
             </object>
208
            </at>
209
           </object>
210
          </at>
211
         </object>
212
        </at>
213
       </object>
214
      </at>
215
     </item>
216
     <item >
217
      <at name="value">
218
       <object classname="com.jeta.forms.store.memento.BeanMemento">
219
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
220
         <at name="cellconstraints">
221
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
222
           <at name="column">5</at>
223
           <at name="row">5</at>
224
           <at name="colspan">1</at>
225
           <at name="rowspan">1</at>
226
           <at name="halign">default</at>
227
           <at name="valign">default</at>
228
           <at name="insets" object="insets">0,0,0,0</at>
229
          </object>
230
         </at>
231
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
232
        </super>
233
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
234
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
235
        <at name="beanproperties">
236
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
237
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
238
          <at name="properties">
239
           <object classname="com.jeta.forms.store.support.PropertyMap">
240
            <at name="height">12</at>
241
            <at name="width">890</at>
242
            <at name="name">lblOriginalProjection</at>
243
            <at name="fill">
244
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
245
              <at name="name">fill</at>
246
             </object>
247
            </at>
248
            <at name="border">
249
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
250
              <super classname="com.jeta.forms.store.properties.BorderProperty">
251
               <at name="name">border</at>
252
              </super>
253
              <at name="borders">
254
               <object classname="java.util.LinkedList">
255
                <item >
256
                 <at name="value">
257
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
258
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
259
                    <at name="name">border</at>
260
                   </super>
261
                  </object>
262
                 </at>
263
                </item>
264
               </object>
265
              </at>
266
             </object>
267
            </at>
268
           </object>
269
          </at>
270
         </object>
271
        </at>
272
       </object>
273
      </at>
274
     </item>
275
     <item >
276
      <at name="value">
277
       <object classname="com.jeta.forms.store.memento.BeanMemento">
278
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
279
         <at name="cellconstraints">
280
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
281
           <at name="column">3</at>
282
           <at name="row">7</at>
283
           <at name="colspan">1</at>
284
           <at name="rowspan">1</at>
285
           <at name="halign">default</at>
286
           <at name="valign">default</at>
287
           <at name="insets" object="insets">0,0,0,0</at>
288
          </object>
289
         </at>
290
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
291
        </super>
292
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
293
        <at name="beanclass">javax.swing.JRadioButton</at>
294
        <at name="beanproperties">
295
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
296
          <at name="classname">javax.swing.JRadioButton</at>
297
          <at name="properties">
298
           <object classname="com.jeta.forms.store.support.PropertyMap">
299
            <at name="height">15</at>
300
            <at name="buttonGroup">
301
             <object classname="com.jeta.forms.store.properties.ButtonGroupProperty">
302
              <at name="name">buttonGroup</at>
303
              <at name="groupname">btngrpSelection</at>
304
             </object>
305
            </at>
306
            <at name="width">15</at>
307
            <at name="name">rdbtnViewProjection</at>
308
            <at name="actionCommand">original_projection	</at>
309
            <at name="toolTipText">projection_used_in_view</at>
310
            <at name="border">
311
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
312
              <super classname="com.jeta.forms.store.properties.BorderProperty">
313
               <at name="name">border</at>
314
              </super>
315
              <at name="borders">
316
               <object classname="java.util.LinkedList">
317
                <item >
318
                 <at name="value">
319
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
320
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
321
                    <at name="name">border</at>
322
                   </super>
323
                  </object>
324
                 </at>
325
                </item>
326
               </object>
327
              </at>
328
             </object>
329
            </at>
330
           </object>
331
          </at>
332
         </object>
333
        </at>
334
       </object>
335
      </at>
336
     </item>
337
     <item >
338
      <at name="value">
339
       <object classname="com.jeta.forms.store.memento.BeanMemento">
340
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
341
         <at name="cellconstraints">
342
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
343
           <at name="column">5</at>
344
           <at name="row">7</at>
345
           <at name="colspan">1</at>
346
           <at name="rowspan">1</at>
347
           <at name="halign">default</at>
348
           <at name="valign">default</at>
349
           <at name="insets" object="insets">0,0,0,0</at>
350
          </object>
351
         </at>
352
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
353
        </super>
354
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
355
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
356
        <at name="beanproperties">
357
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
358
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
359
          <at name="properties">
360
           <object classname="com.jeta.forms.store.support.PropertyMap">
361
            <at name="text">view_projection</at>
362
            <at name="height">14</at>
363
            <at name="width">890</at>
364
            <at name="name">lblRdbtnViewProjection</at>
365
            <at name="fill">
366
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
367
              <at name="name">fill</at>
368
             </object>
369
            </at>
370
            <at name="toolTipText">projection_used_in_view</at>
371
            <at name="border">
372
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
373
              <super classname="com.jeta.forms.store.properties.BorderProperty">
374
               <at name="name">border</at>
375
              </super>
376
              <at name="borders">
377
               <object classname="java.util.LinkedList">
378
                <item >
379
                 <at name="value">
380
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
381
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
382
                    <at name="name">border</at>
383
                   </super>
384
                  </object>
385
                 </at>
386
                </item>
387
               </object>
388
              </at>
389
             </object>
390
            </at>
391
           </object>
392
          </at>
393
         </object>
394
        </at>
395
       </object>
396
      </at>
397
     </item>
398
     <item >
399
      <at name="value">
400
       <object classname="com.jeta.forms.store.memento.BeanMemento">
401
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
402
         <at name="cellconstraints">
403
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
404
           <at name="column">5</at>
405
           <at name="row">8</at>
406
           <at name="colspan">1</at>
407
           <at name="rowspan">1</at>
408
           <at name="halign">default</at>
409
           <at name="valign">default</at>
410
           <at name="insets" object="insets">0,0,0,0</at>
411
          </object>
412
         </at>
413
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
414
        </super>
415
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
416
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
417
        <at name="beanproperties">
418
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
419
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
420
          <at name="properties">
421
           <object classname="com.jeta.forms.store.support.PropertyMap">
422
            <at name="height">12</at>
423
            <at name="width">890</at>
424
            <at name="name">lblViewProjection</at>
425
            <at name="fill">
426
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
427
              <at name="name">fill</at>
428
             </object>
429
            </at>
430
            <at name="border">
431
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
432
              <super classname="com.jeta.forms.store.properties.BorderProperty">
433
               <at name="name">border</at>
434
              </super>
435
              <at name="borders">
436
               <object classname="java.util.LinkedList">
437
                <item >
438
                 <at name="value">
439
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
440
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
441
                    <at name="name">border</at>
442
                   </super>
443
                  </object>
444
                 </at>
445
                </item>
446
               </object>
447
              </at>
448
             </object>
449
            </at>
450
           </object>
451
          </at>
452
         </object>
453
        </at>
454
       </object>
455
      </at>
456
     </item>
457
     <item >
458
      <at name="value">
459
       <object classname="com.jeta.forms.store.memento.BeanMemento">
460
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
461
         <at name="cellconstraints">
462
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
463
           <at name="column">3</at>
464
           <at name="row">10</at>
465
           <at name="colspan">1</at>
466
           <at name="rowspan">1</at>
467
           <at name="halign">default</at>
468
           <at name="valign">default</at>
469
           <at name="insets" object="insets">0,0,0,0</at>
470
          </object>
471
         </at>
472
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
473
        </super>
474
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
475
        <at name="beanclass">javax.swing.JRadioButton</at>
476
        <at name="beanproperties">
477
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
478
          <at name="classname">javax.swing.JRadioButton</at>
479
          <at name="properties">
480
           <object classname="com.jeta.forms.store.support.PropertyMap">
481
            <at name="height">15</at>
482
            <at name="buttonGroup">
483
             <object classname="com.jeta.forms.store.properties.ButtonGroupProperty">
484
              <at name="name">buttonGroup</at>
485
              <at name="groupname">btngrpSelection</at>
486
             </object>
487
            </at>
488
            <at name="width">15</at>
489
            <at name="name">rdbtnUserProjection</at>
490
            <at name="actionCommand">original_projection	</at>
491
            <at name="toolTipText">projection_selected_by_user</at>
492
            <at name="border">
493
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
494
              <super classname="com.jeta.forms.store.properties.BorderProperty">
495
               <at name="name">border</at>
496
              </super>
497
              <at name="borders">
498
               <object classname="java.util.LinkedList">
499
                <item >
500
                 <at name="value">
501
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
502
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
503
                    <at name="name">border</at>
504
                   </super>
505
                  </object>
506
                 </at>
507
                </item>
508
               </object>
509
              </at>
510
             </object>
511
            </at>
512
           </object>
513
          </at>
514
         </object>
515
        </at>
516
       </object>
517
      </at>
518
     </item>
519
     <item >
520
      <at name="value">
521
       <object classname="com.jeta.forms.store.memento.BeanMemento">
522
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
523
         <at name="cellconstraints">
524
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
525
           <at name="column">5</at>
526
           <at name="row">10</at>
527
           <at name="colspan">1</at>
528
           <at name="rowspan">1</at>
529
           <at name="halign">default</at>
530
           <at name="valign">default</at>
531
           <at name="insets" object="insets">0,0,0,0</at>
532
          </object>
533
         </at>
534
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
535
        </super>
536
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
537
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
538
        <at name="beanproperties">
539
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
540
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
541
          <at name="properties">
542
           <object classname="com.jeta.forms.store.support.PropertyMap">
543
            <at name="text">user_selected_projection</at>
544
            <at name="height">14</at>
545
            <at name="width">890</at>
546
            <at name="name">lblRdbtnUserProjection</at>
547
            <at name="fill">
548
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
549
              <at name="name">fill</at>
550
             </object>
551
            </at>
552
            <at name="toolTipText">projection_selected_by_user</at>
553
            <at name="border">
554
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
555
              <super classname="com.jeta.forms.store.properties.BorderProperty">
556
               <at name="name">border</at>
557
              </super>
558
              <at name="borders">
559
               <object classname="java.util.LinkedList">
560
                <item >
561
                 <at name="value">
562
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
563
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
564
                    <at name="name">border</at>
565
                   </super>
566
                  </object>
567
                 </at>
568
                </item>
569
               </object>
570
              </at>
571
             </object>
572
            </at>
573
           </object>
574
          </at>
575
         </object>
576
        </at>
577
       </object>
578
      </at>
579
     </item>
580
     <item >
581
      <at name="value">
582
       <object classname="com.jeta.forms.store.memento.BeanMemento">
583
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
584
         <at name="cellconstraints">
585
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
586
           <at name="column">5</at>
587
           <at name="row">11</at>
588
           <at name="colspan">1</at>
589
           <at name="rowspan">1</at>
590
           <at name="halign">left</at>
591
           <at name="valign">default</at>
592
           <at name="insets" object="insets">0,0,0,0</at>
593
          </object>
594
         </at>
595
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
596
        </super>
597
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
598
        <at name="beanclass">javax.swing.JPanel</at>
599
        <at name="beanproperties">
600
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
601
          <at name="classname">javax.swing.JPanel</at>
602
          <at name="properties">
603
           <object classname="com.jeta.forms.store.support.PropertyMap">
604
            <at name="height">12</at>
605
            <at name="width">12</at>
606
            <at name="name">jPanelProj</at>
607
            <at name="toolTipText">projection_selector</at>
608
           </object>
609
          </at>
610
         </object>
611
        </at>
612
       </object>
613
      </at>
614
     </item>
615
    </object>
616
   </at>
617
   <at name="properties">
618
    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
619
     <at name="classname">com.jeta.forms.gui.form.GridView</at>
620
     <at name="properties">
621
      <object classname="com.jeta.forms.store.support.PropertyMap">
622
       <at name="name"></at>
623
       <at name="fill">
624
        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
625
         <at name="name">fill</at>
626
        </object>
627
       </at>
628
       <at name="scollBars">
629
        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
630
         <at name="name">scollBars</at>
631
         <at name="verticalpolicy">21</at>
632
         <at name="horizontalpolicy">31</at>
633
         <at name="border">
634
          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
635
           <super classname="com.jeta.forms.store.properties.BorderProperty">
636
            <at name="name">border</at>
637
           </super>
638
           <at name="borders">
639
            <object classname="java.util.LinkedList">
640
             <item >
641
              <at name="value">
642
               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
643
                <super classname="com.jeta.forms.store.properties.BorderProperty">
644
                 <at name="name">border</at>
645
                </super>
646
               </object>
647
              </at>
648
             </item>
649
            </object>
650
           </at>
651
          </object>
652
         </at>
653
        </object>
654
       </at>
655
       <at name="border">
656
        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
657
         <super classname="com.jeta.forms.store.properties.BorderProperty">
658
          <at name="name">border</at>
659
         </super>
660
         <at name="borders">
661
          <object classname="java.util.LinkedList"/>
662
         </at>
663
        </object>
664
       </at>
665
      </object>
666
     </at>
667
    </object>
668
   </at>
669
   <at name="cellpainters">
670
    <object classname="com.jeta.forms.store.support.Matrix">
671
     <at name="rows">
672
      <object classname="[Ljava.lang.Object;" size="12">
673
       <at name="item" index="0">
674
        <object classname="[Ljava.lang.Object;" size="6"/>
675
       </at>
676
       <at name="item" index="1">
677
        <object classname="[Ljava.lang.Object;" size="6"/>
678
       </at>
679
       <at name="item" index="2">
680
        <object classname="[Ljava.lang.Object;" size="6"/>
681
       </at>
682
       <at name="item" index="3">
683
        <object classname="[Ljava.lang.Object;" size="6"/>
684
       </at>
685
       <at name="item" index="4">
686
        <object classname="[Ljava.lang.Object;" size="6"/>
687
       </at>
688
       <at name="item" index="5">
689
        <object classname="[Ljava.lang.Object;" size="6"/>
690
       </at>
691
       <at name="item" index="6">
692
        <object classname="[Ljava.lang.Object;" size="6"/>
693
       </at>
694
       <at name="item" index="7">
695
        <object classname="[Ljava.lang.Object;" size="6"/>
696
       </at>
697
       <at name="item" index="8">
698
        <object classname="[Ljava.lang.Object;" size="6"/>
699
       </at>
700
       <at name="item" index="9">
701
        <object classname="[Ljava.lang.Object;" size="6"/>
702
       </at>
703
       <at name="item" index="10">
704
        <object classname="[Ljava.lang.Object;" size="6"/>
705
       </at>
706
       <at name="item" index="11">
707
        <object classname="[Ljava.lang.Object;" size="6"/>
708
       </at>
709
      </object>
710
     </at>
711
    </object>
712
   </at>
713
   <at name="rowgroups">
714
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
715
     <at name="groups">
716
      <object classname="java.util.HashMap"/>
717
     </at>
718
    </object>
719
   </at>
720
   <at name="colgroups">
721
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
722
     <at name="groups">
723
      <object classname="java.util.HashMap"/>
724
     </at>
725
    </object>
726
   </at>
727
  </object>
728
 </at>
729
</object>
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/panel/ExportTargetProjectionPanelLayout.java
1
package org.gvsig.exportto.swing.impl.panel;
2

  
3
import com.jgoodies.forms.layout.CellConstraints;
4
import com.jgoodies.forms.layout.FormLayout;
5
import java.awt.BorderLayout;
6
import java.awt.ComponentOrientation;
7
import java.awt.Container;
8
import java.awt.Dimension;
9
import javax.swing.Box;
10
import javax.swing.ButtonGroup;
11
import javax.swing.ImageIcon;
12
import javax.swing.JFrame;
13
import javax.swing.JLabel;
14
import javax.swing.JPanel;
15
import javax.swing.JRadioButton;
16

  
17

  
18
public class ExportTargetProjectionPanelLayout extends JPanel
19
{
20
   JLabel lblSelectTargetProjection = new JLabel();
21
   JRadioButton rdbtnOriginalProjection = new JRadioButton();
22
   ButtonGroup btngrpSelection = new ButtonGroup();
23
   JLabel lblRdbtnOriginalProjection = new JLabel();
24
   JLabel lblOriginalProjection = new JLabel();
25
   JRadioButton rdbtnViewProjection = new JRadioButton();
26
   JLabel lblRdbtnViewProjection = new JLabel();
27
   JLabel lblViewProjection = new JLabel();
28
   JRadioButton rdbtnUserProjection = new JRadioButton();
29
   JLabel lblRdbtnUserProjection = new JLabel();
30
   JPanel jPanelProj = new JPanel();
31

  
32
   /**
33
    * Default constructor
34
    */
35
   public ExportTargetProjectionPanelLayout()
36
   {
37
      initializePanel();
38
   }
39

  
40
   /**
41
    * Adds fill components to empty cells in the first row and first column of the grid.
42
    * This ensures that the grid spacing will be the same as shown in the designer.
43
    * @param cols an array of column indices in the first row where fill components should be added.
44
    * @param rows an array of row indices in the first column where fill components should be added.
45
    */
46
   void addFillComponents( Container panel, int[] cols, int[] rows )
47
   {
48
      Dimension filler = new Dimension(10,10);
49

  
50
      boolean filled_cell_11 = false;
51
      CellConstraints cc = new CellConstraints();
52
      if ( cols.length > 0 && rows.length > 0 )
53
      {
54
         if ( cols[0] == 1 && rows[0] == 1 )
55
         {
56
            /** add a rigid area  */
57
            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
58
            filled_cell_11 = true;
59
         }
60
      }
61

  
62
      for( int index = 0; index < cols.length; index++ )
63
      {
64
         if ( cols[index] == 1 && filled_cell_11 )
65
         {
66
            continue;
67
         }
68
         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
69
      }
70

  
71
      for( int index = 0; index < rows.length; index++ )
72
      {
73
         if ( rows[index] == 1 && filled_cell_11 )
74
         {
75
            continue;
76
         }
77
         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
78
      }
79

  
80
   }
81

  
82
   /**
83
    * Helper method to load an image file from the CLASSPATH
84
    * @param imageName the package and name of the file to load relative to the CLASSPATH
85
    * @return an ImageIcon instance with the specified image file
86
    * @throws IllegalArgumentException if the image resource cannot be loaded.
87
    */
88
   public ImageIcon loadImage( String imageName )
89
   {
90
      try
91
      {
92
         ClassLoader classloader = getClass().getClassLoader();
93
         java.net.URL url = classloader.getResource( imageName );
94
         if ( url != null )
95
         {
96
            ImageIcon icon = new ImageIcon( url );
97
            return icon;
98
         }
99
      }
100
      catch( Exception e )
101
      {
102
         e.printStackTrace();
103
      }
104
      throw new IllegalArgumentException( "Unable to load image: " + imageName );
105
   }
106

  
107
   /**
108
    * Method for recalculating the component orientation for
109
    * right-to-left Locales.
110
    * @param orientation the component orientation to be applied
111
    */
112
   public void applyComponentOrientation( ComponentOrientation orientation )
113
   {
114
      // Not yet implemented...
115
      // I18NUtils.applyComponentOrientation(this, orientation);
116
      super.applyComponentOrientation(orientation);
117
   }
118

  
119
   public JPanel createPanel()
120
   {
121
      JPanel jpanel1 = new JPanel();
122
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,FILL:DEFAULT:NONE,CENTER:2DLU:NONE");
123
      CellConstraints cc = new CellConstraints();
124
      jpanel1.setLayout(formlayout1);
125

  
126
      lblSelectTargetProjection.setName("lblSelectTargetProjection");
127
      lblSelectTargetProjection.setText("select_target_projection");
128
      lblSelectTargetProjection.setToolTipText("select_target_projection");
129
      jpanel1.add(lblSelectTargetProjection,cc.xywh(2,2,4,1));
130

  
131
      rdbtnOriginalProjection.setActionCommand("original_projection	");
132
      rdbtnOriginalProjection.setName("rdbtnOriginalProjection");
133
      rdbtnOriginalProjection.setToolTipText("projection_from_source_layer_before_view_reprojection");
134
      btngrpSelection.add(rdbtnOriginalProjection);
135
      jpanel1.add(rdbtnOriginalProjection,cc.xy(3,4));
136

  
137
      lblRdbtnOriginalProjection.setName("lblRdbtnOriginalProjection");
138
      lblRdbtnOriginalProjection.setText("original_projection");
139
      lblRdbtnOriginalProjection.setToolTipText("projection_from_source_layer_before_view_reprojection");
140
      jpanel1.add(lblRdbtnOriginalProjection,cc.xy(5,4));
141

  
142
      lblOriginalProjection.setName("lblOriginalProjection");
143
      jpanel1.add(lblOriginalProjection,cc.xy(5,5));
144

  
145
      rdbtnViewProjection.setActionCommand("original_projection	");
146
      rdbtnViewProjection.setName("rdbtnViewProjection");
147
      rdbtnViewProjection.setToolTipText("projection_used_in_view");
148
      btngrpSelection.add(rdbtnViewProjection);
149
      jpanel1.add(rdbtnViewProjection,cc.xy(3,7));
150

  
151
      lblRdbtnViewProjection.setName("lblRdbtnViewProjection");
152
      lblRdbtnViewProjection.setText("view_projection");
153
      lblRdbtnViewProjection.setToolTipText("projection_used_in_view");
154
      jpanel1.add(lblRdbtnViewProjection,cc.xy(5,7));
155

  
156
      lblViewProjection.setName("lblViewProjection");
157
      jpanel1.add(lblViewProjection,cc.xy(5,8));
158

  
159
      rdbtnUserProjection.setActionCommand("original_projection	");
160
      rdbtnUserProjection.setName("rdbtnUserProjection");
161
      rdbtnUserProjection.setToolTipText("projection_selected_by_user");
162
      btngrpSelection.add(rdbtnUserProjection);
163
      jpanel1.add(rdbtnUserProjection,cc.xy(3,10));
164

  
165
      lblRdbtnUserProjection.setName("lblRdbtnUserProjection");
166
      lblRdbtnUserProjection.setText("user_selected_projection");
167
      lblRdbtnUserProjection.setToolTipText("projection_selected_by_user");
168
      jpanel1.add(lblRdbtnUserProjection,cc.xy(5,10));
169

  
170
      jPanelProj.setName("jPanelProj");
171
      jPanelProj.setToolTipText("projection_selector");
172
      jpanel1.add(jPanelProj,new CellConstraints(5,11,1,1,CellConstraints.LEFT,CellConstraints.DEFAULT));
173

  
174
      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12 });
175
      return jpanel1;
176
   }
177

  
178
   /**
179
    * Initializer
180
    */
181
   protected void initializePanel()
182
   {
183
      setLayout(new BorderLayout());
184
      add(createPanel(), BorderLayout.CENTER);
185
   }
186

  
187

  
188
}
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/panel/ExportTargetProjectionPanel.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.exportto.swing.impl.panel;
25

  
26
import java.awt.event.ActionEvent;
27
import java.awt.event.ActionListener;
28

  
29
import org.cresques.cts.ICoordTrans;
30
import org.cresques.cts.IProjection;
31
import org.gvsig.app.gui.panels.CRSSelectPanel;
32
import org.gvsig.app.gui.panels.CRSSelectPanelFactory;
33
import org.gvsig.exportto.swing.impl.DefaultJExporttoServicePanel;
34
import org.gvsig.fmap.dal.exception.DataException;
35
import org.gvsig.fmap.dal.feature.FeatureStore;
36
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
37
import org.gvsig.tools.ToolsLocator;
38
import org.gvsig.tools.i18n.I18nManager;
39
import org.slf4j.Logger;
40
import org.slf4j.LoggerFactory;
41

  
42
/**
43
 * @author gvSIG Team
44
 * @version $Id$
45
 *
46
 */
47
public class ExportTargetProjectionPanel extends ExportTargetProjectionPanelLayout {
48

  
49
    /**
50
     *
51
     */
52
    private static final long serialVersionUID = -2164424159712152267L;
53

  
54
    private static final Logger logger = LoggerFactory.getLogger(ExportTargetProjectionPanel.class);
55

  
56
    private IProjection originalProjection;
57
    private IProjection viewProjection;
58
    private IProjection userProjection;
59
    private IProjection selectedProjection;
60
    private CRSSelectPanel crsSelectPanel;
61

  
62
    /**
63
     * @param exporttoServicePanel
64
     * @param vectorLayer
65
     */
66
    public ExportTargetProjectionPanel(DefaultJExporttoServicePanel exporttoServicePanel) {
67
        viewProjection=null;
68
        originalProjection=null;
69
        if (originalProjection==null){
70
            FeatureStore store = exporttoServicePanel.getFeatureStore();
71
            try {
72
                this.originalProjection = store.getDefaultFeatureType().getDefaultSRS();
73
            } catch (DataException e) {
74
                logger.warn("Couldn't get original projection from feature store");
75
            }
76
        }
77
        this.initComponents();
78
    }
79

  
80
    /**
81
     * Sets the vector layer and sets its projections
82
     * @param vectorLayer
83
     */
84
    public void setVectorLayer(FLyrVect vectorLayer){
85
        if (vectorLayer!=null){
86
            ICoordTrans ct = vectorLayer.getCoordTrans();
87
            if (ct!=null){
88
                viewProjection=ct.getPDest();
89
                originalProjection=ct.getPOrig();
90
            }
91
        }
92
        initComponents();
93
    }
94

  
95
    private void initComponents() {
96
        selectedProjection=null;
97

  
98
        if (originalProjection==null){
99
            rdbtnOriginalProjection.setEnabled(false);
100
            lblRdbtnOriginalProjection.setEnabled(false);
101
            lblOriginalProjection.setText("");
102
        }else{
103
            rdbtnOriginalProjection.setEnabled(true);
104
            lblRdbtnOriginalProjection.setEnabled(true);
105
            lblOriginalProjection.setText(originalProjection.getAbrev());
106
            this.rdbtnOriginalProjection.setSelected(true);
107
        }
108

  
109
        if (viewProjection==null){
110
            rdbtnViewProjection.setEnabled(false);
111
            lblRdbtnViewProjection.setEnabled(false);
112
            lblViewProjection.setText("");
113
        }else{
114
            rdbtnViewProjection.setEnabled(true);
115
            lblRdbtnViewProjection.setEnabled(true);
116
            lblViewProjection.setText(viewProjection.getAbrev());
117
            this.rdbtnViewProjection.setSelected(true);
118
        }
119

  
120
        ActionListener changeOptionAction = new ActionListener() {
121
            public void actionPerformed(ActionEvent e) {
122
                doChangeOption();
123
            }
124
        };
125
        this.rdbtnViewProjection.addActionListener(changeOptionAction);
126
        this.rdbtnOriginalProjection.addActionListener(changeOptionAction);
127
        this.rdbtnUserProjection.addActionListener(changeOptionAction);
128

  
129
        this.crsSelectPanel=getJPanelProj();
130
        this.jPanelProj.add(crsSelectPanel);
131

  
132
        doChangeOption();
133
        this.translate();
134
    }
135

  
136
    private void translate() {
137
        I18nManager i18nManager = ToolsLocator.getI18nManager();
138

  
139
        this.lblSelectTargetProjection.setText(i18nManager.getTranslation(lblSelectTargetProjection.getText()));
140
        this.lblSelectTargetProjection.setToolTipText(i18nManager.getTranslation(lblSelectTargetProjection.getToolTipText()));
141

  
142
        this.lblRdbtnOriginalProjection.setText(i18nManager.getTranslation(lblRdbtnOriginalProjection.getText()));
143
        this.lblRdbtnOriginalProjection.setToolTipText(i18nManager.getTranslation(lblRdbtnOriginalProjection.getToolTipText()));
144
        this.rdbtnOriginalProjection.setToolTipText(i18nManager.getTranslation(rdbtnOriginalProjection.getToolTipText()));
145

  
146
        this.lblRdbtnViewProjection.setText(i18nManager.getTranslation(lblRdbtnViewProjection.getText()));
147
        this.lblRdbtnViewProjection.setToolTipText(i18nManager.getTranslation(lblRdbtnViewProjection.getToolTipText()));
148
        this.rdbtnViewProjection.setToolTipText(i18nManager.getTranslation(rdbtnViewProjection.getToolTipText()));
149

  
150
        this.lblRdbtnUserProjection.setText(i18nManager.getTranslation(lblRdbtnUserProjection.getText()));
151
        this.lblRdbtnUserProjection.setToolTipText(i18nManager.getTranslation(lblRdbtnUserProjection.getToolTipText()));
152
        this.rdbtnUserProjection.setToolTipText(i18nManager.getTranslation(rdbtnUserProjection.getToolTipText()));
153

  
154
        this.jPanelProj.setToolTipText(i18nManager.getTranslation(jPanelProj.getToolTipText()));
155
        this.crsSelectPanel.getJLabel().setText(i18nManager.getTranslation("selected_projection"));
156
    }
157

  
158
    protected void doChangeOption(){
159
        if( this.rdbtnOriginalProjection.isSelected() ) {
160
            this.jPanelProj.setEnabled(false);
161
            selectedProjection=originalProjection;
162

  
163
        } else if( this.rdbtnViewProjection.isSelected() ) {
164
            this.jPanelProj.setEnabled(false);
165
            selectedProjection=viewProjection;
166

  
167
        } else if( this.rdbtnUserProjection.isSelected() ) {
168
            this.jPanelProj.setEnabled(true);
169
            selectedProjection=userProjection;
170
        }
171
    }
172

  
173
    protected boolean checkPanel(){
174
        return selectedProjection!=null;
175
    }
176

  
177
    private CRSSelectPanel getJPanelProj() {
178
        if (crsSelectPanel == null) {
179
            if (viewProjection!=null){
180
                crsSelectPanel = CRSSelectPanelFactory.getPanel(viewProjection);
181
            }else{
182
                crsSelectPanel = CRSSelectPanelFactory.getPanel(originalProjection);
183
            }
184
            crsSelectPanel.addActionListener(new java.awt.event.ActionListener() {
185

  
186
                public void actionPerformed(java.awt.event.ActionEvent e) {
187
                    if (crsSelectPanel.isOkPressed()) {
188
                        userProjection=crsSelectPanel.getCurProj();
189
                        selectedProjection=userProjection;
190
                        rdbtnUserProjection.setSelected(true);
191
                    }
192
                }
193
            });
194
        }
195
        return crsSelectPanel;
196
    }
197

  
198
    /**
199
     * Returns the target projection to export
200
     * @return
201
     */
202
    public IProjection getTargetProjection(){
203
        return selectedProjection;
204
    }
205

  
206
}
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/wizard/ExportTargetProjectionWizard.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.exportto.swing.impl.wizard;
25

  
26
import javax.swing.JPanel;
27

  
28
import org.cresques.cts.IProjection;
29
import org.gvsig.exportto.swing.impl.DefaultJExporttoServicePanel;
30
import org.gvsig.exportto.swing.impl.panel.ExportFilterPanel;
31
import org.gvsig.exportto.swing.impl.panel.ExportTargetProjectionPanel;
32
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
33
import org.gvsig.gui.beans.wizard.panel.NotContinueWizardException;
34
import org.gvsig.gui.beans.wizard.panel.OptionPanel;
35

  
36
/**
37
 * @author gvSIG Team
38
 * @version $Id$
39
 *
40
 */
41
public class ExportTargetProjectionWizard extends ExportTargetProjectionPanel implements
42
    OptionPanel {
43

  
44
    private DefaultJExporttoServicePanel exporttoServicePanel;
45

  
46
    public ExportTargetProjectionWizard(DefaultJExporttoServicePanel exporttoServicePanel) {
47
        super(exporttoServicePanel);
48
        this.exporttoServicePanel = exporttoServicePanel;
49
    }
50

  
51
    public String getPanelTitle() {
52
        return exporttoServicePanel.getExporttoSwingManager().getTranslation(
53
            "exportto_options");
54
    }
55

  
56
    public void nextPanel() throws NotContinueWizardException {
57
        this.checkPanel();
58
    }
59

  
60
    public void lastPanel() {
61
        exporttoServicePanel.setExportButtonEnabled(false);
62
        exporttoServicePanel.setNextButtonEnabled(true);
63
    }
64

  
65
    public void updatePanel() {
66
        exporttoServicePanel.setExportButtonEnabled(false);
67
        exporttoServicePanel.setNextButtonEnabled(true);
68
    }
69

  
70
    public JPanel getJPanel() {
71
        return this;
72
    }
73

  
74
}
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.file/src/main/java/org/gvsig/exportto/swing/prov/file/AbstractExporttoFileProvider.java
34 34

  
35 35
/**
36 36
 * Exporto provider which gets Exporto from a file.
37
 * 
37
 *
38 38
 * @author gvSIG Team
39 39
 * @version $Id$
40 40
 */
......
48 48

  
49 49
    /**
50 50
     * Constructor.
51
     * 
51
     *
52 52
     * @param providerServices
53 53
     *            the services for the provider
54 54
     * @param file
......
82 82
        return null;
83 83
    }
84 84

  
85
    /**
86
     * Sets the target projection to which should be exported
87
     * @param targetProjection
88
     */
89
    public void setTargetProjection(IProjection targetProjection){
90
        this.projection=targetProjection;
91
    }
92

  
93
    /**
94
     * Informs if it needs to ask for a target projection,
95
     * or if it is not needed or provided through its own wizard panel.
96
     * @return
97
     */
98
    public boolean needsPanelTargetProjection(){
99
        return true;
100
    }
85 101
}
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.jdbc/src/main/java/org/gvsig/exportto/swing/prov/jdbc/BaseExporttoJDBCProvider.java
75 75
    private final SelectTableNamePanel selectTableNamePanel;
76 76
    private final CheckGeometriesPanel checkGeometriesPanel;
77 77
    private final IdentifiersOptionsPanel identifiersOptionsPanel;
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff