Statistics
| Revision:

svn-gvsig-desktop / 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 / export / swing / impl / panels / SelectOutputFilePanel.java @ 44386

History | View | Annotate | Download (3.64 KB)

1
package org.gvsig.export.swing.impl.panels;
2

    
3
import java.io.File;
4
import javax.swing.JComponent;
5
import javax.swing.JOptionPane;
6
import static org.geotools.resources.TestData.file;
7
import org.gvsig.export.ExportParameters;
8
import org.gvsig.export.swing.JExportProcessPanel;
9
import org.gvsig.export.swing.spi.ExportPanel;
10
import org.gvsig.export.swing.spi.ExportPanelValidationException;
11
import org.gvsig.export.swing.spi.ExportPanelsManager;
12
import org.gvsig.tools.ToolsLocator;
13
import org.gvsig.tools.i18n.I18nManager;
14
import org.gvsig.tools.swing.api.ToolsSwingLocator;
15
import org.gvsig.tools.swing.api.ToolsSwingManager;
16
import org.gvsig.tools.swing.api.pickercontroller.FilePickerController;
17
import org.gvsig.tools.swing.api.threadsafedialogs.ThreadSafeDialogsManager;
18
import org.gvsig.tools.util.HasAFile;
19

    
20
/**
21
 *
22
 * @author jjdelcerro
23
 */
24
public class SelectOutputFilePanel
25
        extends SelectOutputFilePanelView
26
        implements ExportPanel {
27

    
28
    private FilePickerController fileController;
29
    private final HasAFile parameters;
30
    private final JExportProcessPanel processPanel;
31

    
32
    public SelectOutputFilePanel(
33
            JExportProcessPanel processPanel,
34
            ExportParameters parameters
35
    ) {
36
        this.processPanel = processPanel;
37
        this.parameters = (HasAFile) parameters;
38
        this.initComponents();
39
    }
40

    
41
    @Override
42
    public String getIdPanel() {
43
        return ExportPanelsManager.PANEL_SELECT_OUTPUT_FILE;
44
    }
45

    
46
    @Override
47
    public String getTitlePanel() {
48
        I18nManager i18n = ToolsLocator.getI18nManager();
49
        return i18n.getTranslation("Seleccionar_fichero");
50
    }
51

    
52
    @Override
53
    public boolean validatePanel() throws ExportPanelValidationException {
54
        I18nManager i18n = ToolsLocator.getI18nManager();
55
        ThreadSafeDialogsManager dialogs = ToolsSwingLocator.getThreadSafeDialogsManager();
56

    
57
        if (this.fileController.isEmpty()) {
58
            throw new ExportPanelValidationException(
59
                    i18n.getTranslation("_File_cannot_be_empty"));
60
        }
61
        File file = this.fileController.get();
62
        if (file.exists()) {
63
            int resp = dialogs.confirmDialog(
64
                    i18n.getTranslation("fichero_ya_existe_seguro_desea_guardarlo"),
65
                    i18n.getTranslation("guardar"),
66
                    JOptionPane.YES_NO_OPTION,
67
                    JOptionPane.QUESTION_MESSAGE,
68
                    "OverwriteFileOnExport"
69
            );
70
            if (resp == JOptionPane.NO_OPTION) {
71
                return false;
72
            }
73
        }
74
        return true;
75
    }
76

    
77
    @Override
78
    public void previousPanel() {
79

    
80
    }
81

    
82
    @Override
83
    public void nextPanel() {
84
        File file = this.fileController.get();
85
        this.parameters.setFile(file);
86
    }
87

    
88
    @Override
89
    public void enterPanel() {
90
        File file = this.parameters.getFile();
91
        if (file != null) {
92
            this.fileController.set(file);
93
        }
94
    }
95

    
96
    @Override
97
    public JComponent asJComponent() {
98
        return this;
99
    }
100

    
101
    private void initComponents() {
102
        I18nManager i18n = ToolsLocator.getI18nManager();
103
        File initialPath = null;
104
        if (this.parameters.getFile()!=null) {
105
            initialPath = this.parameters.getFile();
106
        }
107
        this.fileController = ToolsSwingLocator.getToolsSwingManager()
108
                .createFilePickerController(txtFile, 
109
                        btnSelectFile,
110
                        null,
111
                        null, initialPath, true);
112
        this.translate();
113
    }
114

    
115
    private void translate() {
116
        ToolsSwingManager i18nc = ToolsSwingLocator.getToolsSwingManager();
117
        i18nc.translate(this.lblFile);
118
    }
119
}