Revision 1855
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/raster/gui/wizard/PrepareLayerAskWritableDirectory.java | ||
---|---|---|
21 | 21 |
*/ |
22 | 22 |
package org.gvsig.raster.tools.app.basic.raster.gui.wizard; |
23 | 23 |
|
24 |
import java.awt.event.ActionEvent; |
|
25 |
import java.awt.event.ActionListener; |
|
26 |
import java.io.File; |
|
24 | 27 |
import java.util.Map; |
25 | 28 |
|
29 |
import javax.swing.JOptionPane; |
|
30 |
|
|
26 | 31 |
import org.gvsig.app.prepareAction.PrepareContext; |
27 | 32 |
import org.gvsig.app.prepareAction.PrepareDataStoreParameters; |
28 | 33 |
import org.gvsig.fmap.dal.DataStoreParameters; |
29 | 34 |
import org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters; |
35 |
import org.gvsig.gui.beans.buttonspanel.ButtonsPanel; |
|
36 |
import org.gvsig.i18n.Messages; |
|
30 | 37 |
import org.gvsig.raster.tools.app.basic.raster.gui.wizard.proj.WritableFolderPanel; |
31 | 38 |
import org.gvsig.tools.exception.BaseException; |
32 | 39 |
|
... | ... | |
36 | 43 |
* |
37 | 44 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
38 | 45 |
*/ |
39 |
public class PrepareLayerAskWritableDirectory implements PrepareDataStoreParameters { |
|
46 |
public class PrepareLayerAskWritableDirectory implements PrepareDataStoreParameters, ActionListener { |
|
47 |
private DataStoreParameters newParameters = null; |
|
48 |
private DataStoreParameters oldParameters = null; |
|
49 |
private String selectedPath = null; |
|
40 | 50 |
|
41 | 51 |
public DataStoreParameters prepare(DataStoreParameters storeParameters, |
42 | 52 |
PrepareContext context) throws BaseException { |
43 | 53 |
if(!(storeParameters instanceof RasterDataParameters)) |
44 | 54 |
return storeParameters; |
45 |
WritableFolderPanel panel = new WritableFolderPanel(); |
|
46 | 55 |
|
47 |
return storeParameters; |
|
56 |
oldParameters = storeParameters; |
|
57 |
String uri = ((RasterDataParameters)storeParameters).getURI(); |
|
58 |
|
|
59 |
|
|
60 |
if(uri.contains(File.separator)) { |
|
61 |
uri = uri.substring(0, uri.lastIndexOf(File.separator)); |
|
62 |
} else { |
|
63 |
uri = System.getProperty("user.home"); |
|
64 |
} |
|
65 |
|
|
66 |
if(!isValidFolder(uri)) { |
|
67 |
new WritableFolderPanel(uri, this); |
|
68 |
} else { |
|
69 |
return oldParameters; |
|
70 |
} |
|
71 |
|
|
72 |
return newParameters; |
|
48 | 73 |
} |
49 | 74 |
|
75 |
public void actionPerformed(ActionEvent e) { |
|
76 |
if(e.getID() == 0) { //Cambio de directorio |
|
77 |
selectedPath = e.getActionCommand(); |
|
78 |
} |
|
79 |
if(e.getID() == ButtonsPanel.BUTTON_ACCEPT) { |
|
80 |
if(isValidFolder(selectedPath)) { |
|
81 |
newParameters = oldParameters; |
|
82 |
newParameters.setDynValue(RasterDataParameters.FIELD_RMF_FOLDER, new File(selectedPath)); |
|
83 |
} else { |
|
84 |
JOptionPane.showMessageDialog(null, Messages.getText("folder_not_writable"), "", JOptionPane.WARNING_MESSAGE); |
|
85 |
newParameters = null; |
|
86 |
} |
|
87 |
} |
|
88 |
|
|
89 |
if(e.getID() == ButtonsPanel.BUTTON_CANCEL) { |
|
90 |
newParameters = null; |
|
91 |
} |
|
92 |
} |
|
93 |
|
|
94 |
private boolean isValidFolder(String folder) { |
|
95 |
File path = new File(folder); |
|
96 |
return (path.exists() && path.isDirectory() && path.canWrite()); |
|
97 |
} |
|
98 |
|
|
50 | 99 |
public void post(DataStoreParameters storeParameters, PrepareContext context) { |
51 | 100 |
} |
52 | 101 |
|
... | ... | |
80 | 129 |
|
81 | 130 |
public void interrupted() { |
82 | 131 |
} |
83 |
|
|
84 | 132 |
} |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/raster/gui/wizard/proj/WritableFolderPanel.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import java.awt.GridBagConstraints; |
4 | 4 |
import java.awt.GridBagLayout; |
5 |
import java.awt.Label; |
|
6 | 5 |
import java.awt.Point; |
7 | 6 |
import java.awt.event.ActionEvent; |
8 | 7 |
import java.awt.event.ActionListener; |
9 | 8 |
import java.io.File; |
10 | 9 |
|
11 | 10 |
import javax.swing.JButton; |
11 |
import javax.swing.JLabel; |
|
12 | 12 |
|
13 | 13 |
import org.cresques.Messages; |
14 | 14 |
import org.gvsig.andami.PluginServices; |
... | ... | |
28 | 28 |
private static final long serialVersionUID = 1L; |
29 | 29 |
private SelectDirectoryPanel selectDirectoryPanel = null; |
30 | 30 |
private Point posWindow = null; |
31 |
private int widthWindow = 290; |
|
32 |
private int heightWindow = 80; |
|
31 |
private int widthWindow = 300; |
|
32 |
private int heightWindow = 90; |
|
33 |
private String defaultFolder = null; |
|
34 |
private ActionListener listener = null; |
|
33 | 35 |
|
34 |
public WritableFolderPanel() { |
|
36 |
public WritableFolderPanel(String defaultFolder, ActionListener listener) { |
|
37 |
this.defaultFolder = defaultFolder; |
|
38 |
setListener(listener); |
|
35 | 39 |
posWindow = RasterToolsUtil.iwindowPosition(widthWindow, heightWindow); |
36 | 40 |
initGUI(); |
37 | 41 |
PluginServices.getMDIManager().addWindow(this); |
38 | 42 |
} |
39 | 43 |
|
40 | 44 |
private void initGUI() { |
41 |
getButtonsPanel().addAccept(); |
|
42 |
getButtonsPanel().addCancel(); |
|
43 |
|
|
44 | 45 |
JButton accept = getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT); |
45 | 46 |
JButton cancel = getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL); |
46 | 47 |
getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY).setVisible(false); |
... | ... | |
52 | 53 |
GridBagConstraints gbc = new GridBagConstraints(); |
53 | 54 |
gbc.fill = GridBagConstraints.HORIZONTAL; |
54 | 55 |
gbc.weightx = 1; |
55 |
this.add(new Label(Messages.getText("folder_not_writable")), gbc); |
|
56 |
JLabel label = new JLabel(); |
|
57 |
label.setText("<html><p>" + Messages.getText("folder_not_writable") + "</p></html>"); |
|
58 |
this.add(label, gbc); |
|
56 | 59 |
|
57 | 60 |
gbc.gridy = 1; |
58 | 61 |
this.add(getSelectDirectoryPanel(), gbc); |
... | ... | |
63 | 66 |
public SelectDirectoryPanel getSelectDirectoryPanel() { |
64 | 67 |
if(selectDirectoryPanel == null) { |
65 | 68 |
selectDirectoryPanel = new SelectDirectoryPanel(); |
66 |
//selectDirectoryPanel.get |
|
69 |
selectDirectoryPanel.getJLabelDirectory().setVisible(false); |
|
70 |
selectDirectoryPanel.getJBChooseDirectory().setEnabled(true); |
|
71 |
selectDirectoryPanel.getDirectoryTextField().setText(defaultFolder); |
|
67 | 72 |
} |
68 | 73 |
return selectDirectoryPanel; |
69 | 74 |
} |
75 |
|
|
76 |
public void setListener(ActionListener listener) { |
|
77 |
this.listener = listener; |
|
78 |
} |
|
70 | 79 |
|
71 | 80 |
public void actionPerformed(ActionEvent e) { |
72 | 81 |
if(e.getSource() == getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT)) { |
82 |
if(listener != null) |
|
83 |
listener.actionPerformed(new ActionEvent(getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT), ButtonsPanel.BUTTON_ACCEPT, "")); |
|
73 | 84 |
PluginServices.getMDIManager().closeWindow(this); |
74 | 85 |
} |
75 | 86 |
|
76 | 87 |
if(e.getSource() == getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL)) { |
88 |
if(listener != null) |
|
89 |
listener.actionPerformed(new ActionEvent(getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL), ButtonsPanel.BUTTON_CANCEL, "")); |
|
77 | 90 |
PluginServices.getMDIManager().closeWindow(this); |
78 | 91 |
} |
79 | 92 |
|
... | ... | |
81 | 94 |
File f = new File(getSelectDirectoryPanel().getPath()); |
82 | 95 |
if(f.exists() && f.isDirectory() && f.canWrite()) { |
83 | 96 |
getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT).setEnabled(true); |
97 |
if(listener != null) |
|
98 |
listener.actionPerformed(new ActionEvent(getChangeFolderButton(), 0, getSelectDirectoryPanel().getPath())); |
|
99 |
} else { |
|
100 |
getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT).setEnabled(false); |
|
84 | 101 |
} |
85 | 102 |
} |
86 | 103 |
} |
87 | 104 |
|
105 |
public JButton getChangeFolderButton() { |
|
106 |
return getSelectDirectoryPanel().getJBChooseDirectory(); |
|
107 |
} |
|
108 |
|
|
88 | 109 |
public WindowInfo getWindowInfo() { |
89 | 110 |
WindowInfo m_viewinfo = new WindowInfo(WindowInfo.MODALDIALOG); |
90 | 111 |
m_viewinfo.setTitle(Messages.getText("warning")); |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/raster/bean/createlayer/SelectDirectoryPanel.java | ||
---|---|---|
93 | 93 |
* Obtiene el bot?n de asignaci?n de directorio |
94 | 94 |
* @return JButton |
95 | 95 |
*/ |
96 |
private JButton getJBChooseDirectory() {
|
|
96 |
public JButton getJBChooseDirectory() {
|
|
97 | 97 |
if (jBChooseDirectory == null) { |
98 | 98 |
jBChooseDirectory = new JButton(PluginServices.getText(this, "cambiar_ruta")); |
99 | 99 |
jBChooseDirectory.setEnabled(false); |
... | ... | |
105 | 105 |
* Obtiene la etiqueta con la ruta |
106 | 106 |
* @return JLabel |
107 | 107 |
*/ |
108 |
private JLabel getJLabelDirectory() {
|
|
108 |
public JLabel getJLabelDirectory() {
|
|
109 | 109 |
if (jLabelDirectory == null) { |
110 | 110 |
jLabelDirectory = new JLabel(PluginServices.getText(this, "ruta") + ":"); |
111 | 111 |
jLabelDirectory.setEnabled(false); |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/resources/text.properties | ||
---|---|---|
588 | 588 |
error_saving_rois_rmf=Error salvando las ROI en el fichero de metadatos |
589 | 589 |
problems_loading_rois=Problemas cargando el fichero de ROI.\n La ejecuci?n de la aplicaci?n seguir? normalmente. |
590 | 590 |
remove_roi_file_link=?Quieres eliminar el enlace al fichero de ROIs? El fichero no se borrar? |
591 |
folder_not_writable=La capa seleccionada est? en un directorio sin permiso de escritura. \n Por favor, seleccione un directorio donde pueda escribir para salvar metadatos. |
|
592 |
folder=Directorio |
|
591 |
folder_not_writable=La capa seleccionada est? en un directorio sin permiso de escritura. Por favor, seleccione un directorio donde pueda escribir para salvar metadatos. |
|
592 |
folder=Directorio |
|
593 |
folder_not_writable1=Directorio sin permiso de escritura |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/resources/text_en.properties | ||
---|---|---|
575 | 575 |
error_saving_rois_rmf=Error saving the ROI in the metadata file |
576 | 576 |
problems_loading_rois=Problems loading regions of interest from the file.\n The execution of gvSIG will continue normally. |
577 | 577 |
remove_roi_file_link=Would you like to remove the link with the ROI file? This file will not be removed from disk. |
578 |
folder_not_writable=The selected layer is in a not writable folder. \n Please, select a writable folder to save metadata |
|
579 |
folder=Folder |
|
578 |
folder_not_writable=The selected layer is in a not writable folder. Please, select a writable folder to save metadata |
|
579 |
folder=Folder |
|
580 |
folder_not_writable1=This folder is not writable |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.api/src/main/java/org/gvsig/fmap/dal/coverage/store/parameter/RasterDataParameters.java | ||
---|---|---|
39 | 39 |
*/ |
40 | 40 |
public interface RasterDataParameters extends DataStoreParameters { |
41 | 41 |
//Load options |
42 |
public static int REPROJECT_DATA = 1; |
|
43 |
public static int REPROJECT_VIEW = 2; |
|
44 |
public static int DONT_CHANGE_PROJECTION = 0; |
|
45 |
public static int NEW_PROJETION_TO_THE_LAYER = 6; |
|
46 |
public static int NOT_LOAD = 4; |
|
47 |
public static int ON_THE_FLY = 5; |
|
42 |
public static int REPROJECT_DATA = 1;
|
|
43 |
public static int REPROJECT_VIEW = 2;
|
|
44 |
public static int DONT_CHANGE_PROJECTION = 0;
|
|
45 |
public static int NEW_PROJETION_TO_THE_LAYER = 6;
|
|
46 |
public static int NOT_LOAD = 4;
|
|
47 |
public static int ON_THE_FLY = 5;
|
|
48 | 48 |
|
49 |
//General parameters |
|
50 |
public static final String FIELD_URI = "uri"; |
|
51 |
public static final String FIELD_CRS = "CRS"; |
|
52 |
public static final String FIELD_RMF_FOLDER = "rmf_folder"; |
|
53 |
|
|
49 | 54 |
|
50 | 55 |
/** |
51 | 56 |
* Flag to know if this provider is visible or it isn't |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/AbstractRasterDataParameters.java | ||
---|---|---|
50 | 50 |
public static final String PERSISTENT_NAME = "AbstractRasterDataParameters_Persistent"; |
51 | 51 |
public static final String PERSISTENT_DESCRIPTION = "AbstractRasterDataParameters Persistent"; |
52 | 52 |
|
53 |
protected static final String FIELD_URI = "uri"; |
|
54 |
private static final String FIELD_CRS = "CRS"; |
|
53 |
//protected static final String FIELD_URI = RasterDataParameters.FIELD_URI; |
|
54 |
//private static final String FIELD_CRS = RasterDataParameters.FIELD_CRS; |
|
55 |
//private static final String FIELD_RMF_FOLDER = RasterDataParameters.FIELD_RMF_FOLDER; |
|
55 | 56 |
private static final String FIELD_FRAME = "frame"; |
56 | 57 |
private static final String FIELD_ALPHABAND = "alphaband"; |
57 | 58 |
private static final String FIELD_VISIBLE = "visible"; |
58 | 59 |
private static final String FIELD_REPROJ_OPTION = "selected_option"; |
59 |
private static final String FIELD_RMF_FOLDER = "rmf_folder"; |
|
60 | 60 |
|
61 | 61 |
|
62 | 62 |
public static DynClass registerDynClass(String dynClassName) { |
Also available in: Unified diff