Revision 29
org.gvsig.derivedgeometries/trunk/org.gvsig.derivedgeometries/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.impl/src/main/java/org/gvsig/derivedgeometries/swing/impl/panels/DefaultLayerAndProcessSelectionPanel.java | ||
---|---|---|
11 | 11 |
import java.io.File; |
12 | 12 |
import java.util.Vector; |
13 | 13 |
|
14 |
import javax.swing.AbstractAction; |
|
15 | 14 |
import javax.swing.JComponent; |
16 | 15 |
import javax.swing.JFileChooser; |
17 | 16 |
import javax.swing.JOptionPane; |
18 |
import javax.swing.filechooser.FileFilter; |
|
19 | 17 |
|
18 |
import org.apache.commons.io.FilenameUtils; |
|
20 | 19 |
import org.slf4j.Logger; |
21 | 20 |
import org.slf4j.LoggerFactory; |
22 | 21 |
|
... | ... | |
141 | 140 |
|
142 | 141 |
public void layerAdded(LayerCollectionEvent e) { |
143 | 142 |
FLayer layer = e.getAffectedLayer(); |
144 |
if(layer instanceof FLyrVect){
|
|
143 |
if (layer instanceof FLyrVect) {
|
|
145 | 144 |
getLayersComboBox().addItem(layer); |
146 | 145 |
} |
147 | 146 |
} |
... | ... | |
159 | 158 |
|
160 | 159 |
public void layerRemoved(LayerCollectionEvent e) { |
161 | 160 |
FLayer layer = e.getAffectedLayer(); |
162 |
if(layer instanceof FLyrVect){
|
|
161 |
if (layer instanceof FLyrVect) {
|
|
163 | 162 |
getLayersComboBox().removeItem(layer); |
164 | 163 |
} |
165 | 164 |
} |
... | ... | |
203 | 202 |
getJButtonSelectPath().addActionListener( |
204 | 203 |
new java.awt.event.ActionListener() { |
205 | 204 |
|
206 |
@SuppressWarnings("serial") |
|
207 | 205 |
public void actionPerformed(java.awt.event.ActionEvent e) { |
208 |
JFileChooser jfc = new JFileChooser(); |
|
206 |
ThreadSafeDialogsManager dlgManager = |
|
207 |
ToolsSwingLocator.getThreadSafeDialogsManager(); |
|
209 | 208 |
|
210 |
// Removes the default choosable file filter |
|
211 |
FileFilter[] filters = jfc.getChoosableFileFilters(); |
|
212 |
|
|
213 |
for (int i = 0; i < filters.length; i++) |
|
214 |
jfc.removeChoosableFileFilter(filters[i]); |
|
215 |
|
|
216 |
// Only SHP |
|
217 | 209 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
218 |
SimpleFileFilter filterSHP = |
|
219 |
new SimpleFileFilter(SHAPE_EXTENSION, i18nManager |
|
220 |
.getTranslation("shape_file") + " (*.shp)"); |
|
221 |
jfc.addChoosableFileFilter(filterSHP); |
|
222 |
jfc.setFileFilter(filterSHP); |
|
223 | 210 |
|
224 |
jfc.addActionListener(new AbstractAction() { |
|
211 |
File[] files = |
|
212 |
dlgManager.showChooserDialog( |
|
213 |
"test", |
|
214 |
JFileChooser.OPEN_DIALOG, |
|
215 |
JFileChooser.FILES_ONLY, |
|
216 |
false, |
|
217 |
new File(System.getProperty("user.home")), |
|
218 |
new SimpleFileFilter(SHAPE_EXTENSION, i18nManager |
|
219 |
.getTranslation("shape_file") + " (*.shp)"), |
|
220 |
true); |
|
225 | 221 |
|
226 |
public void actionPerformed(ActionEvent evt) { |
|
227 |
JFileChooser jfc = (JFileChooser) evt.getSource(); |
|
222 |
if (files == null) { |
|
223 |
return; |
|
224 |
} |
|
228 | 225 |
|
229 |
if (JFileChooser.APPROVE_SELECTION.equals(evt |
|
230 |
.getActionCommand())) { |
|
231 |
File destFile = null; |
|
226 |
if (files.length == 1) { |
|
227 |
File file = files[0]; |
|
232 | 228 |
|
233 |
if (jfc.getSelectedFile() == null) { |
|
234 |
return; |
|
235 |
} |
|
229 |
if (file.exists()) { |
|
236 | 230 |
|
237 |
if (jfc.getSelectedFile().getAbsoluteFile() |
|
238 |
.getAbsolutePath() |
|
239 |
.endsWith("." + SHAPE_EXTENSION)) { |
|
231 |
String title = |
|
232 |
i18nManager |
|
233 |
.getTranslation("_file_already_exist"); |
|
234 |
String message = |
|
235 |
i18nManager |
|
236 |
.getTranslation("_file_already_exist_override_it"); |
|
240 | 237 |
|
241 |
ThreadSafeDialogsManager dlgManager = |
|
242 |
ToolsSwingLocator |
|
243 |
.getThreadSafeDialogsManager(); |
|
238 |
int answer = |
|
239 |
dlgManager.confirmDialog(message, title, |
|
240 |
JOptionPane.YES_NO_OPTION, |
|
241 |
JOptionPane.INFORMATION_MESSAGE); |
|
244 | 242 |
|
245 |
I18nManager i18nManager = |
|
246 |
ToolsLocator.getI18nManager(); |
|
243 |
if (answer == JOptionPane.YES_OPTION) { |
|
244 |
getOutputLayerPath().setText( |
|
245 |
file.getAbsolutePath()); |
|
246 |
} else { |
|
247 |
return; |
|
248 |
} |
|
247 | 249 |
|
248 |
String title = |
|
249 |
i18nManager |
|
250 |
.getTranslation("_file_already_exist"); |
|
251 |
String message = |
|
252 |
i18nManager |
|
253 |
.getTranslation("_file_already_exist_override_it"); |
|
250 |
} else { |
|
254 | 251 |
|
255 |
int answer = |
|
256 |
dlgManager.confirmDialog(message, |
|
257 |
title, JOptionPane.YES_NO_OPTION, |
|
258 |
JOptionPane.INFORMATION_MESSAGE); |
|
259 |
|
|
260 |
if (answer == JOptionPane.YES_OPTION) { |
|
261 |
destFile = |
|
262 |
jfc.getSelectedFile() |
|
263 |
.getAbsoluteFile(); |
|
264 |
} else { |
|
265 |
return; |
|
266 |
} |
|
267 |
} else { |
|
268 |
destFile = |
|
269 |
new File(jfc.getSelectedFile() |
|
270 |
.getAbsoluteFile() |
|
271 |
.getAbsolutePath() |
|
272 |
+ "." + SHAPE_EXTENSION); |
|
273 |
} |
|
274 |
|
|
252 |
if (FilenameUtils.getExtension( |
|
253 |
file.getAbsolutePath()).equals(SHAPE_EXTENSION)) { |
|
275 | 254 |
getOutputLayerPath().setText( |
276 |
destFile.toString()); |
|
255 |
file.getAbsolutePath()); |
|
256 |
} else { |
|
277 | 257 |
|
278 |
} else if (JFileChooser.CANCEL_SELECTION.equals(evt |
|
279 |
.getActionCommand())) { |
|
280 |
getOutputLayerPath().setText(""); |
|
258 |
StringBuilder stb = new StringBuilder(); |
|
259 |
stb.append(file.getAbsolutePath()); |
|
260 |
stb.append("."); |
|
261 |
stb.append(SHAPE_EXTENSION); |
|
262 |
|
|
263 |
getOutputLayerPath().setText(stb.toString()); |
|
281 | 264 |
} |
282 | 265 |
} |
283 |
}); |
|
284 |
|
|
285 |
jfc.showOpenDialog(null); |
|
266 |
} |
|
286 | 267 |
} |
287 | 268 |
}); |
288 | 269 |
} |
Also available in: Unified diff