Revision 1242
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.swing/org.gvsig.raster.swing.impl/src/main/java/org/gvsig/raster/swing/impl/openfile/OpenFileContainerImpl.java | ||
---|---|---|
50 | 50 |
|
51 | 51 |
private boolean isButtonVisible = true; |
52 | 52 |
|
53 |
public OpenFileContainerImpl(boolean showBorder, String[] fileFilter) { |
|
53 |
public OpenFileContainerImpl(boolean showBorder, String[] fileFilter, String defaultPath) {
|
|
54 | 54 |
this.showBorder = showBorder; |
55 |
listener = new OpenFileListener(this, fileFilter); |
|
55 |
listener = new OpenFileListener(this, fileFilter, defaultPath);
|
|
56 | 56 |
initialize(); |
57 | 57 |
listener.setButton(this.getJButton()); |
58 | 58 |
} |
59 | 59 |
|
60 |
public OpenFileContainerImpl(boolean showBorder, List<String> fileFilter) { |
|
61 |
this(showBorder, (String[])fileFilter.toArray(new String[0])); |
|
60 |
public OpenFileContainerImpl(boolean showBorder, List<String> fileFilter, String defaultPath) {
|
|
61 |
this(showBorder, (String[])fileFilter.toArray(new String[0]), defaultPath);
|
|
62 | 62 |
listener.setButton(this.getJButton()); |
63 | 63 |
} |
64 | 64 |
|
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.swing/org.gvsig.raster.swing.impl/src/main/java/org/gvsig/raster/swing/impl/openfile/OpenFileListener.java | ||
---|---|---|
32 | 32 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
33 | 33 |
*/ |
34 | 34 |
public class OpenFileListener implements ActionListener { |
35 |
|
|
36 |
private JButton button = null;
|
|
37 |
private String fName = null;
|
|
38 |
private OpenFileContainerImpl controlPanel = null;
|
|
39 |
private String[] fileFilter = null;
|
|
35 |
private JButton button = null; |
|
36 |
private String fName = null;
|
|
37 |
private OpenFileContainerImpl controlPanel = null;
|
|
38 |
private String[] fileFilter = null;
|
|
39 |
private String lastDirectory = null;
|
|
40 | 40 |
|
41 |
public OpenFileListener(OpenFileContainerImpl panel, String[] fileFilter) { |
|
41 |
public OpenFileListener(OpenFileContainerImpl panel, String[] fileFilter, String lastDirectory) {
|
|
42 | 42 |
this.controlPanel = panel; |
43 | 43 |
this.fileFilter = fileFilter; |
44 |
this.lastDirectory = lastDirectory; |
|
44 | 45 |
} |
45 | 46 |
|
46 | 47 |
public void setButton(JButton but) { |
... | ... | |
51 | 52 |
public void actionPerformed(ActionEvent e) { |
52 | 53 |
if(e.getSource() == this.button) { |
53 | 54 |
JFileChooser file = new JFileChooser(); |
54 |
file.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); |
|
55 |
//file.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
|
55 | 56 |
file.setDialogTitle("Select File"); |
57 |
if(lastDirectory != null) { |
|
58 |
File lastDir = new File(lastDirectory); |
|
59 |
if(lastDir.isDirectory() && lastDir.exists()) { |
|
60 |
file.setCurrentDirectory(lastDir); |
|
61 |
} |
|
62 |
if(!lastDir.isDirectory()) { |
|
63 |
lastDir = new File(lastDir.getParent()); |
|
64 |
if(lastDir.exists()) |
|
65 |
file.setCurrentDirectory(lastDir); |
|
66 |
} |
|
67 |
} |
|
68 |
|
|
56 | 69 |
if(fileFilter != null) { |
57 | 70 |
for (int i = 0; i < fileFilter.length; i++) { |
58 | 71 |
file.addChoosableFileFilter(new ReadFilter(file, fileFilter[i])); |
59 | 72 |
} |
60 | 73 |
int returnVal = file.showOpenDialog(controlPanel); |
61 |
if(returnVal == JFileChooser.APPROVE_OPTION){ |
|
74 |
if(returnVal == JFileChooser.APPROVE_OPTION) { |
|
75 |
lastDirectory = file.getSelectedFile().getAbsolutePath(); |
|
62 | 76 |
fName = file.getSelectedFile().toString(); |
63 | 77 |
controlPanel.getTOpen().setText(fName); |
64 | 78 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.swing/org.gvsig.raster.swing.impl/src/main/java/org/gvsig/raster/swing/impl/newlayer/CreateNewLayerPanelImpl.java | ||
---|---|---|
22 | 22 |
package org.gvsig.raster.swing.impl.newlayer; |
23 | 23 |
|
24 | 24 |
import java.awt.BorderLayout; |
25 |
import java.awt.Component; |
|
26 | 25 |
import java.awt.Dimension; |
27 | 26 |
import java.awt.GridBagConstraints; |
28 | 27 |
import java.awt.GridBagLayout; |
29 | 28 |
import java.awt.Insets; |
30 | 29 |
import java.awt.event.ItemEvent; |
31 | 30 |
import java.awt.event.ItemListener; |
32 |
import java.io.File; |
|
33 | 31 |
import java.util.ArrayList; |
34 | 32 |
|
35 | 33 |
import javax.swing.BorderFactory; |
... | ... | |
41 | 39 |
import javax.swing.JTextField; |
42 | 40 |
import javax.swing.filechooser.FileFilter; |
43 | 41 |
|
44 |
import org.gvsig.andami.PluginServices; |
|
45 |
import org.gvsig.andami.Utilities; |
|
46 |
import org.gvsig.andami.ui.mdiManager.IWindow; |
|
47 | 42 |
import org.gvsig.gui.beans.swing.JFileChooser; |
43 |
import org.gvsig.i18n.Messages; |
|
48 | 44 |
import org.gvsig.raster.swing.impl.ExtendedFileFilter; |
49 | 45 |
import org.gvsig.raster.swing.impl.openfile.OpenFileContainerImpl; |
50 | 46 |
import org.gvsig.raster.swing.newlayer.CreateNewLayerPanel; |
... | ... | |
63 | 59 |
private JTextField filenameTextField = null; |
64 | 60 |
private JLabel labelFilename = null; |
65 | 61 |
private JPanel panelNameFile = null; |
66 |
private boolean compress = false; |
|
67 | 62 |
private ArrayList<String> extList = null; |
68 | 63 |
private FileNameManagement fileNameManagement = null; |
69 | 64 |
private OpenFileContainer openFileContainer = null; |
... | ... | |
76 | 71 |
this.extList = fileNameManagement.getPrefixSupported(); |
77 | 72 |
initialize(); |
78 | 73 |
translate(); |
74 |
|
|
75 |
getFileSelectorPanel().setPath(fileNameManagement.getDefaultFilePath()); |
|
76 |
updateNewLayerText(); |
|
79 | 77 |
} |
80 | 78 |
|
81 | 79 |
|
... | ... | |
116 | 114 |
* Seccion donde ir?n todas las traducciones invariables del componente |
117 | 115 |
*/ |
118 | 116 |
private void translate() { |
119 |
getRadioFileGenerate().setText(PluginServices.getText(this, "generar_fichero"));
|
|
120 |
getRadioOpenMemory().setText(PluginServices.getText(this, "abrir_memoria"));
|
|
121 |
getLabelFilename().setText(PluginServices.getText(this, "nombre_capa") + ":");
|
|
117 |
getRadioFileGenerate().setText(Messages.getText( "generar_fichero"));
|
|
118 |
getRadioOpenMemory().setText(Messages.getText( "abrir_memoria"));
|
|
119 |
getLabelFilename().setText(Messages.getText( "nombre_capa") + ":");
|
|
122 | 120 |
} |
123 | 121 |
|
124 | 122 |
/** |
... | ... | |
163 | 161 |
if (filenameTextField == null) { |
164 | 162 |
filenameTextField = new JTextField(); |
165 | 163 |
filenameTextField.setPreferredSize(new Dimension(150, filenameTextField.getPreferredSize().height)); |
166 |
//fileUtil.addOnlyLayerNameListener(this); |
|
167 | 164 |
} |
168 | 165 |
return filenameTextField; |
169 | 166 |
} |
170 | 167 |
|
171 | 168 |
public OpenFileContainer getFileSelectorPanel() { |
172 | 169 |
if (openFileContainer == null) { |
173 |
openFileContainer = new OpenFileContainerImpl(false, extList); |
|
170 |
openFileContainer = new OpenFileContainerImpl( |
|
171 |
false, |
|
172 |
extList, |
|
173 |
fileNameManagement.getDefaultFilePath()); |
|
174 | 174 |
} |
175 | 175 |
return openFileContainer; |
176 | 176 |
} |
... | ... | |
182 | 182 |
panelNameFile.setLayout(new BorderLayout()); |
183 | 183 |
panelNameFile.add(getLabelFilename(), BorderLayout.WEST); |
184 | 184 |
panelNameFile.add(getFilenameTextField(), BorderLayout.CENTER); |
185 |
//updateNewLayerText(); |
|
186 | 185 |
} |
187 | 186 |
return panelNameFile; |
188 | 187 |
} |
... | ... | |
232 | 231 |
* @return |
233 | 232 |
*/ |
234 | 233 |
public String getFileSelected() { |
235 |
String path = ""; |
|
236 | 234 |
if (getRadioFileGenerate().isSelected()) { |
237 | 235 |
JFileChooser chooser = new JFileChooser("NEW_LAYER_RASTER_PANEL", JFileChooser.getLastPath("NEW_LAYER_RASTER_PANEL", null)); |
238 |
chooser.setDialogTitle(PluginServices.getText(this, "seleccionar_fichero"));
|
|
236 |
chooser.setDialogTitle(Messages.getText("seleccionar_fichero"));
|
|
239 | 237 |
|
240 | 238 |
FileFilter selected = null; |
241 | 239 |
for (int i = 0; i < extList.size(); i++) { |
... | ... | |
251 | 249 |
// Cargamos el panel de propiedades en el selector |
252 | 250 |
chooser.setAcceptAllFileFilterUsed(false); |
253 | 251 |
|
254 |
IWindow w = PluginServices.getMDIManager().getActiveWindow(); |
|
255 |
|
|
256 |
if (!(w instanceof Component)) |
|
257 |
w = null; |
|
258 |
|
|
259 |
if (chooser.showSaveDialog((Component) w) != JFileChooser.APPROVE_OPTION) |
|
252 |
if (chooser.showSaveDialog(null) != JFileChooser.APPROVE_OPTION) |
|
260 | 253 |
return null; |
261 | 254 |
|
262 | 255 |
JFileChooser.setLastPath("NEW_LAYER_RASTER_PANEL", chooser.getSelectedFile()); |
263 | 256 |
|
264 | 257 |
ExtendedFileFilter fileFilter = (ExtendedFileFilter) chooser.getFileFilter(); |
265 |
path = fileFilter.getNormalizedFilename(chooser.getSelectedFile());
|
|
258 |
return fileFilter.getNormalizedFilename(chooser.getSelectedFile());
|
|
266 | 259 |
} else { |
267 | 260 |
|
268 | 261 |
String file = getFilenameTextField().getText(); |
269 | 262 |
if (file.compareTo(fileNameManagement.getUniqueLayerName()) == 0) |
270 | 263 |
fileNameManagement.usesUniqueLayerName(); |
271 |
|
|
272 |
if (!compress) |
|
273 |
path = Utilities.createTempDirectory() + File.separator + file + ".tif"; |
|
274 |
else |
|
275 |
path = Utilities.createTempDirectory() + File.separator + file + ".jp2"; |
|
276 | 264 |
updateNewLayerText(); |
265 |
return file; |
|
277 | 266 |
} |
278 |
return path; |
|
279 | 267 |
} |
280 | 268 |
|
281 | 269 |
/** |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.swing/org.gvsig.raster.swing.impl/src/main/java/org/gvsig/raster/swing/impl/DefaultRasterSwingManager.java | ||
---|---|---|
176 | 176 |
* (non-Javadoc) |
177 | 177 |
* @see org.gvsig.raster.swing.RasterSwingManager#createOpenFileContainer(boolean, java.lang.String[]) |
178 | 178 |
*/ |
179 |
public OpenFileContainer createOpenFileContainer(boolean showBorder, String[] fileFilter) { |
|
180 |
return new OpenFileContainerImpl(showBorder, fileFilter); |
|
179 |
public OpenFileContainer createOpenFileContainer(boolean showBorder, String[] fileFilter, String defaultPath) {
|
|
180 |
return new OpenFileContainerImpl(showBorder, fileFilter, defaultPath);
|
|
181 | 181 |
} |
182 | 182 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.swing/org.gvsig.raster.swing.api/src/main/java/org/gvsig/raster/swing/RasterSwingManager.java | ||
---|---|---|
154 | 154 |
* @param fileFilter |
155 | 155 |
* @return |
156 | 156 |
*/ |
157 |
public OpenFileContainer createOpenFileContainer(boolean showBorder, String[] fileFilter); |
|
157 |
public OpenFileContainer createOpenFileContainer(boolean showBorder, String[] fileFilter, String defaultPath);
|
|
158 | 158 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.swing/org.gvsig.raster.swing.api/src/main/java/org/gvsig/raster/swing/newlayer/CreateNewLayerPanel.java | ||
---|---|---|
28 | 28 |
* |
29 | 29 |
*/ |
30 | 30 |
public interface CreateNewLayerPanel { |
31 |
|
|
31 |
public String getFileSelected(); |
|
32 | 32 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.swing/org.gvsig.raster.swing.api/src/main/java/org/gvsig/raster/swing/newlayer/FileNameManagement.java | ||
---|---|---|
36 | 36 |
public void usesUniqueLayerName(); |
37 | 37 |
|
38 | 38 |
public ArrayList<String> getPrefixSupported(); |
39 |
|
|
40 |
public String getDefaultFilePath(); |
|
39 | 41 |
} |
Also available in: Unified diff