Revision 1242

View differences:

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