Revision 16403 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/addlayer/fileopen/FileOpenWizard.java
FileOpenWizard.java | ||
---|---|---|
23 | 23 |
import java.awt.event.ActionListener; |
24 | 24 |
import java.awt.geom.Rectangle2D; |
25 | 25 |
import java.io.File; |
26 |
import java.lang.reflect.InvocationTargetException; |
|
27 | 26 |
import java.util.ArrayList; |
28 | 27 |
import java.util.Iterator; |
29 | 28 |
import java.util.prefs.Preferences; |
... | ... | |
71 | 70 |
private TitledBorder titledBorder = null; |
72 | 71 |
|
73 | 72 |
/** |
74 |
* Lista de manejadores de ficheros (extensiones)
|
|
75 |
*/
|
|
76 |
private ArrayList listFileOpen = new ArrayList();
|
|
73 |
* Lista de manejadores de ficheros (extensiones)
|
|
74 |
*/
|
|
75 |
private ArrayList<IFileOpen> listFileOpen = new ArrayList<IFileOpen>();
|
|
77 | 76 |
|
78 | 77 |
/** |
79 | 78 |
* Construye un FileOpenWizard usando la extension por defecto |
... | ... | |
107 | 106 |
String key = (String) iterator.next(); |
108 | 107 |
Object obj = extensionPoint.get(key); |
109 | 108 |
if (obj instanceof Class) { |
110 |
try { |
|
111 |
obj = ((Class) obj).getConstructor(null).newInstance(null); |
|
112 |
} catch (Exception e) { |
|
113 |
// TODO: Tratar este printStackTrace |
|
114 |
e.printStackTrace(); |
|
115 |
} |
|
109 |
try { |
|
110 |
obj = ((Class) obj).getConstructor(null).newInstance(null); |
|
111 |
} catch (Exception e) { |
|
112 |
e.printStackTrace(); |
|
113 |
} |
|
116 | 114 |
} |
117 | 115 |
if (obj instanceof IFileOpen) { |
118 |
listFileOpen.add(obj); |
|
116 |
listFileOpen.add((IFileOpen) obj);
|
|
119 | 117 |
} |
120 | 118 |
} |
121 | 119 |
init(null, proj); |
122 | 120 |
} |
123 | 121 |
|
124 | 122 |
/** |
125 |
* Creates a new FileOpenWizard object.
|
|
123 |
* Creates a new FileOpenWizard object.
|
|
126 | 124 |
* @param driverClasses |
127 | 125 |
* @param proj |
128 |
*/
|
|
126 |
*/
|
|
129 | 127 |
public FileOpenWizard(IFileOpen[] driverClasses, boolean proj) { |
130 | 128 |
init(driverClasses, proj); |
131 | 129 |
} |
132 | 130 |
|
133 | 131 |
/** |
134 |
* Creates a new FileOpenWizard object.
|
|
132 |
* Creates a new FileOpenWizard object.
|
|
135 | 133 |
* @param driverClasses |
136 |
*/
|
|
134 |
*/
|
|
137 | 135 |
public FileOpenWizard(IFileOpen[] driverClasses) { |
138 | 136 |
init(driverClasses, true); |
139 | 137 |
} |
140 | 138 |
|
141 | 139 |
/** |
142 |
* Creates a new FileOpenWizard object.
|
|
140 |
* Creates a new FileOpenWizard object.
|
|
143 | 141 |
* @param driverClasses |
144 | 142 |
* @param proj |
145 | 143 |
* @param title |
... | ... | |
150 | 148 |
} |
151 | 149 |
|
152 | 150 |
/** |
153 |
* @param driverClasses2
|
|
154 |
* @param b
|
|
155 |
*/
|
|
151 |
* @param driverClasses2
|
|
152 |
* @param b
|
|
153 |
*/
|
|
156 | 154 |
private void init(IFileOpen[] driverClasses, boolean projection) { |
157 | 155 |
this.projection = projection; |
158 | 156 |
|
... | ... | |
169 | 167 |
} |
170 | 168 |
|
171 | 169 |
/* |
172 |
* (non-Javadoc)
|
|
173 |
* @see com.iver.cit.gvsig.gui.WizardPanel#initWizard()
|
|
174 |
*/
|
|
170 |
* (non-Javadoc)
|
|
171 |
* @see com.iver.cit.gvsig.gui.WizardPanel#initWizard()
|
|
172 |
*/
|
|
175 | 173 |
public void initWizard() { |
176 | 174 |
setTabName(PluginServices.getText(this, "Fichero")); |
177 | 175 |
init(null, true); |
178 | 176 |
} |
179 | 177 |
|
180 | 178 |
/** |
181 |
* This method initializes this
|
|
182 |
*/
|
|
179 |
* This method initializes this
|
|
180 |
*/
|
|
183 | 181 |
private void initialize() { |
184 | 182 |
this.setSize(514, 280); |
185 | 183 |
this.setLayout(null); |
... | ... | |
202 | 200 |
} |
203 | 201 |
|
204 | 202 |
/** |
205 |
* This method initializes jPanel2
|
|
206 |
* @return javax.swing.JPanel
|
|
207 |
*/
|
|
203 |
* This method initializes jPanel2
|
|
204 |
* @return javax.swing.JPanel
|
|
205 |
*/
|
|
208 | 206 |
private JPanel getJPanel2() { |
209 | 207 |
if (jPanel2 == null) { |
210 | 208 |
jPanel2 = new JPanel(); |
... | ... | |
241 | 239 |
} |
242 | 240 |
|
243 | 241 |
/** |
244 |
* This method initializes jPanel
|
|
245 |
* @return javax.swing.JPanel
|
|
246 |
*/
|
|
242 |
* This method initializes jPanel
|
|
243 |
* @return javax.swing.JPanel
|
|
244 |
*/
|
|
247 | 245 |
private CRSSelectPanel getJPanelProj() { |
248 | 246 |
if (jPanelProj == null) { |
249 | 247 |
IProjection proj = CRSFactory.getCRS("EPSG:23030"); |
... | ... | |
283 | 281 |
} |
284 | 282 |
|
285 | 283 |
/* |
286 |
* (non-Javadoc)
|
|
287 |
* @see java.lang.Object#toString()
|
|
288 |
*/
|
|
284 |
* (non-Javadoc)
|
|
285 |
* @see java.lang.Object#toString()
|
|
286 |
*/
|
|
289 | 287 |
public String toString() { |
290 | 288 |
return f.getName(); |
291 | 289 |
} |
... | ... | |
304 | 302 |
} |
305 | 303 |
|
306 | 304 |
/** |
307 |
* This method initializes listManagerDemoSkin
|
|
308 |
* @return ListManagerSkin
|
|
309 |
*/
|
|
305 |
* This method initializes listManagerDemoSkin
|
|
306 |
* @return ListManagerSkin
|
|
307 |
*/
|
|
310 | 308 |
private ListManagerSkin getListManagerSkin() { |
311 | 309 |
if (listManagerSkin == null) { |
312 | 310 |
listManagerSkin = new ListManagerSkin(false); |
... | ... | |
317 | 315 |
} |
318 | 316 |
|
319 | 317 |
/* |
320 |
* (non-Javadoc)
|
|
321 |
* @see com.iver.utiles.listManager.ListManagerListener#addObjects()
|
|
322 |
*/
|
|
318 |
* (non-Javadoc)
|
|
319 |
* @see com.iver.utiles.listManager.ListManagerListener#addObjects()
|
|
320 |
*/
|
|
323 | 321 |
public Object[] addObjects() { |
324 | 322 |
this.callStateChanged(true); |
325 | 323 |
fileChooser = new JFileChooser(lastPath); |
... | ... | |
329 | 327 |
boolean finded = false; |
330 | 328 |
FileFilter auxFilter=null; |
331 | 329 |
for (int i = 0; i < listFileOpen.size(); i++) { |
332 |
IFileOpen fileOpen = (IFileOpen) listFileOpen.get(i);
|
|
330 |
IFileOpen fileOpen = listFileOpen.get(i); |
|
333 | 331 |
fileOpen.pre(); |
334 |
ArrayList aux = fileOpen.getFileFilter(); |
|
332 |
ArrayList<FileFilter> aux = fileOpen.getFileFilter();
|
|
335 | 333 |
|
336 | 334 |
for (int j = 0; j < aux.size(); j++) { |
337 |
FileFilter fileFilter = (FileFilter) aux.get(j);
|
|
335 |
FileFilter fileFilter = aux.get(j); |
|
338 | 336 |
fileChooser.addChoosableFileFilter(fileFilter); |
339 | 337 |
if (lastFileFilter!=null && lastFileFilter.getDescription().equals(fileFilter.getDescription())){ |
340 | 338 |
auxFilter=fileFilter; |
... | ... | |
348 | 346 |
int result = fileChooser.showOpenDialog(this); |
349 | 347 |
|
350 | 348 |
File[] newFiles = null; |
351 |
MyFile[] toAdd;
|
|
349 |
ArrayList<MyFile> toAdd = new ArrayList<MyFile>();
|
|
352 | 350 |
if (result == JFileChooser.APPROVE_OPTION) { |
353 | 351 |
lastPath = fileChooser.getCurrentDirectory().getAbsolutePath(); |
354 | 352 |
lastFileFilter = (FileFilter) fileChooser.getFileFilter(); |
... | ... | |
356 | 354 |
|
357 | 355 |
IFileOpen lastFileOpen = null; |
358 | 356 |
for (int i = 0; i < listFileOpen.size(); i++) { |
359 |
IFileOpen fileOpen = (IFileOpen) listFileOpen.get(i);
|
|
360 |
ArrayList aux = fileOpen.getFileFilter(); |
|
357 |
IFileOpen fileOpen = listFileOpen.get(i); |
|
358 |
ArrayList<FileFilter> aux = fileOpen.getFileFilter();
|
|
361 | 359 |
for (int j = 0; j < aux.size(); j++) { |
362 |
if (fileChooser.getFileFilter() == (FileFilter) aux.get(j)) {
|
|
360 |
if (fileChooser.getFileFilter() == aux.get(j)) { |
|
363 | 361 |
for (int iFile=0; iFile<newFiles.length; iFile++) { |
364 |
File fileAux = fileOpen.post(newFiles[iFile]); |
|
365 |
if (fileAux != null) |
|
366 |
newFiles[iFile] = fileAux; |
|
362 |
newFiles[iFile] = fileOpen.post(newFiles[iFile]); |
|
367 | 363 |
} |
368 | 364 |
lastFileOpen = fileOpen; |
369 | 365 |
break; |
... | ... | |
371 | 367 |
} |
372 | 368 |
} |
373 | 369 |
|
374 |
toAdd = new MyFile[newFiles.length]; |
|
375 | 370 |
for (int ind = 0; ind < newFiles.length; ind++) { |
371 |
if (newFiles[ind] == null) |
|
372 |
break; |
|
376 | 373 |
String driverName = ((FileFilter) fileChooser.getFileFilter()).getDescription(); |
377 |
toAdd[ind] = new MyFile(newFiles[ind], driverName, lastFileOpen);
|
|
374 |
toAdd.add(new MyFile(newFiles[ind], driverName, lastFileOpen));
|
|
378 | 375 |
} |
379 | 376 |
|
380 |
return toAdd; |
|
377 |
return toAdd.toArray();
|
|
381 | 378 |
} else |
382 | 379 |
return new Object[0]; |
383 | 380 |
} |
384 | 381 |
|
385 | 382 |
/* |
386 |
* (non-Javadoc)
|
|
387 |
* @see com.iver.cit.gvsig.gui.WizardPanel#execute()
|
|
388 |
*/
|
|
383 |
* (non-Javadoc)
|
|
384 |
* @see com.iver.cit.gvsig.gui.WizardPanel#execute()
|
|
385 |
*/
|
|
389 | 386 |
public void execute() { |
390 | 387 |
if (getFiles() == null) |
391 | 388 |
return; |
... | ... | |
448 | 445 |
} |
449 | 446 |
|
450 | 447 |
public void setTitle(String title) { |
451 |
getTitledBorder().setTitle(title);
|
|
452 |
}
|
|
448 |
getTitledBorder().setTitle(title);
|
|
449 |
}
|
|
453 | 450 |
|
454 | 451 |
/* |
455 |
* (non-Javadoc)
|
|
456 |
* @see com.iver.utiles.listManager.ListManagerListener#getProperties(java.lang.Object)
|
|
457 |
*/
|
|
452 |
* (non-Javadoc)
|
|
453 |
* @see com.iver.utiles.listManager.ListManagerListener#getProperties(java.lang.Object)
|
|
454 |
*/
|
|
458 | 455 |
public Object getProperties(Object selected) { |
459 | 456 |
return null; |
460 | 457 |
} |
461 | 458 |
|
462 | 459 |
/* |
463 |
* (non-Javadoc)
|
|
464 |
* @see com.iver.cit.gvsig.gui.WizardPanel#getLayer()
|
|
465 |
*/
|
|
460 |
* (non-Javadoc)
|
|
461 |
* @see com.iver.cit.gvsig.gui.WizardPanel#getLayer()
|
|
462 |
*/
|
|
466 | 463 |
public FLayer getLayer() { |
467 | 464 |
return null; |
468 | 465 |
} |
Also available in: Unified diff