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 @ 43925

History | View | Annotate | Download (3.17 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 org.gvsig.export.ExportParameters;
7
import org.gvsig.export.swing.JExportProcessPanel;
8
import org.gvsig.export.swing.spi.ExportPanel;
9
import org.gvsig.export.swing.spi.ExportPanelValidationException;
10
import org.gvsig.export.swing.spi.ExportPanelsManager;
11
import org.gvsig.tools.ToolsLocator;
12
import org.gvsig.tools.i18n.I18nManager;
13
import org.gvsig.tools.swing.api.ToolsSwingLocator;
14
import org.gvsig.tools.swing.api.ToolsSwingManager;
15
import org.gvsig.tools.swing.api.pickercontroller.FilePickerController;
16
import org.gvsig.tools.swing.api.threadsafedialogs.ThreadSafeDialogsManager;
17
import org.gvsig.tools.util.HasAFile;
18

    
19

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

    
29
    private FilePickerController fileController;
30
    private final HasAFile parameters;
31
    private final JExportProcessPanel processPanel;
32
    
33
    
34
    public SelectOutputFilePanel(
35
            JExportProcessPanel processPanel,
36
            ExportParameters parameters
37
        ) {
38
        this.processPanel = processPanel;
39
        this.parameters = (HasAFile)parameters;
40
        this.initComponents();
41
    }
42

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

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

    
54
    @Override
55
    public boolean validatePanel() throws ExportPanelValidationException {
56
        I18nManager i18n = ToolsLocator.getI18nManager();
57
        ThreadSafeDialogsManager dialogs = ToolsSwingLocator.getThreadSafeDialogsManager();
58
        
59
        if( this.fileController.isEmpty() ) {
60
            throw new ExportPanelValidationException(
61
                i18n.getTranslation("_File_cannot_be_empty"));
62
        }
63
        File file = this.fileController.get();
64
        if (file.exists()) {
65
            int resp = dialogs.confirmDialog(
66
                    i18n.getTranslation("fichero_ya_existe_seguro_desea_guardarlo"),
67
                    i18n.getTranslation("guardar"),
68
                    JOptionPane.YES_NO_OPTION, 
69
                    JOptionPane.QUESTION_MESSAGE, 
70
                    "OverwriteFileOnExport"
71
            );
72
            if (resp == JOptionPane.NO_OPTION) {
73
                return false;
74
            }
75
        }
76
        return true;
77
    }
78

    
79
    @Override
80
    public void exitPanel() {
81
        File file = this.fileController.get();
82
        this.parameters.setFile(file);
83
    }
84

    
85
    @Override
86
    public void enterPanel() {
87
        // Default do nothing
88
    }
89

    
90
    @Override
91
    public JComponent asJComponent() {
92
        return this;
93
    }
94

    
95
    private void initComponents() {
96
        this.fileController = ToolsSwingLocator.getToolsSwingManager()
97
                .createFilePickerController(txtFile, btnSelectFile);
98
        this.translate();
99
    }
100
    
101
    private void translate() {
102
        ToolsSwingManager i18nc = ToolsSwingLocator.getToolsSwingManager();
103
        i18nc.translate(this.lblFile);
104
    }
105
}