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 | 43925 | jjdelcerro | 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 | } |