Statistics
| Revision:

root / org.gvsig.gpe / library / trunk / org.gvsig.gpe / org.gvsig.gpe.exportto / org.gvsig.gpe.exportto.kml / src / main / java / org / gvsig / gpe / exportto / kml / swing / panels / KMLSelectTargetProjectionPanel.java @ 1972

History | View | Annotate | Download (3.38 KB)

1
package org.gvsig.gpe.exportto.kml.swing.panels;
2

    
3
import javax.swing.JComponent;
4
import org.apache.commons.lang3.StringUtils;
5
import org.cresques.cts.ICoordTrans;
6
import org.cresques.cts.IProjection;
7
import org.gvsig.export.ExportParameters;
8
import org.gvsig.export.ExportParametersGeometry;
9
import org.gvsig.export.swing.JExportProcessPanel;
10
import org.gvsig.export.swing.spi.ExportPanel;
11
import org.gvsig.export.swing.spi.ExportPanelValidationException;
12
import org.gvsig.export.swing.spi.ExportPanelsManager;
13
import org.gvsig.fmap.crs.CRSFactory;
14
import org.gvsig.fmap.dal.swing.DALSwingLocator;
15
import org.gvsig.fmap.dal.swing.ProjectionPickerController;
16
import org.gvsig.tools.ToolsLocator;
17
import org.gvsig.tools.i18n.I18nManager;
18
import org.gvsig.tools.swing.api.ToolsSwingLocator;
19
import org.gvsig.tools.swing.api.ToolsSwingManager;
20

    
21
/**
22
 *
23
 * @author jjdelcerro
24
 */
25
public class KMLSelectTargetProjectionPanel
26
        extends KMLSelectTargetProjectionPanelView
27
        implements ExportPanel {
28

    
29
    private final ExportParametersGeometry parameters;
30
    private final JExportProcessPanel processPanel;
31
    private ProjectionPickerController projectionController;
32

    
33
    public KMLSelectTargetProjectionPanel(
34
            JExportProcessPanel processPanel,
35
            ExportParameters parameters
36
    ) {
37
        this.processPanel = processPanel;
38
        this.parameters = (ExportParametersGeometry) parameters;
39
        this.initComponents();
40
    }
41

    
42
    private void initComponents() {
43
        this.projectionController = DALSwingLocator.getDataSwingManager().createProjectionPickerController(
44
                this.txtUserProjection,
45
                this.btnSelectUserProjection
46
        );
47
        this.translate();
48
        this.projectionController.set(CRSFactory.getCRS("EPSG:4326"));
49
    }
50

    
51
    @Override
52
    public String getIdPanel() {
53
        return ExportPanelsManager.PANEL_SELECT_TARGET_PROJECTION;
54
    }
55

    
56
    @Override
57
    public String getTitlePanel() {
58
        I18nManager i18n = ToolsLocator.getI18nManager();
59
        return i18n.getTranslation("_Target_projection");
60
    }
61

    
62
    @Override
63
    public boolean validatePanel() throws ExportPanelValidationException {
64
        if (parameters instanceof ExportParametersGeometry) {
65
            if (this.getTargetProjection()==null) {
66
                return false;
67
            }
68
            if (!StringUtils.equalsIgnoreCase(this.getTargetProjection().getAbrev(), "EPSG:4326")) {
69
                return false;
70
            }
71
        }
72
        return true;
73
    }
74

    
75
    @Override
76
    public void previousPanel() {
77

    
78
    }
79

    
80
    @Override
81
    public void enterPanel() {
82

    
83
        if( this.projectionController.get()==null ) {
84
            this.projectionController.set(CRSFactory.getCRS("EPSG:4326"));
85
        }
86

    
87
    }
88
    
89
    private IProjection getTargetProjection() {
90
        return this.projectionController.get();
91
    }
92
    
93
    private ICoordTrans getTargetTransformation() {
94
        return this.projectionController.getCoordinateTransformation();
95
    }
96

    
97
    @Override
98
    public void nextPanel() {
99
        this.parameters.setTargetProjection(getTargetProjection());
100
        this.parameters.setTargetTransformation(getTargetTransformation());
101
    }
102

    
103
    @Override
104
    public JComponent asJComponent() {
105
        return this;
106
    }
107

    
108
    private void translate() {
109
        ToolsSwingManager manager = ToolsSwingLocator.getToolsSwingManager();
110
        manager.translate(this.lblSelectTargetProjection);
111
    }
112

    
113
}