AMAPstudio

User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
file_preview_and_checking_in_file_chooser [2017/12/08 16:16]
coligny [FileAccessory without file checking]
file_preview_and_checking_in_file_chooser [2018/03/12 15:42] (current)
coligny
Line 1: Line 1:
-====== ​File preview and checking ​in file choosers ======+====== ​Checking the files in file choosers ​/ File previews ​======
  
-fc-5.12.2017+fc-8.12.2017
  
  
  
-===== Checking file format ​in the CheckingFileChooser:​ 2 methods =====+===== Checking file format ​on the fly in a CheckingFileChooser:​ 2 methods =====
  
 It is possible to use the **CheckingFileChooser** instead of the JFileChooser to check during selection which files will be loaded without error. The process relies on a method to be redefined called **check (File f)**. When the file given to this method is correct, the method must return true.  It is possible to use the **CheckingFileChooser** instead of the JFileChooser to check during selection which files will be loaded without error. The process relies on a method to be redefined called **check (File f)**. When the file given to this method is correct, the method must return true. 
Line 53: Line 53:
 <code java> <code java>
 // fc-4.12.2017 A file chooser showing which files can be loaded // fc-4.12.2017 A file chooser showing which files can be loaded
-JFileChooser chooser = new CheckingFileChooser(Settings.getProperty("​capsis.inventory.path",​+JFileChooser chooser = new CheckingFileChooser(Settings.getProperty("​samsara2.inventory.path",​
  PathManager.getDir("​data"​))) {  PathManager.getDir("​data"​))) {
  
- public ​boolean ​check(File f) {+ public ​void check(File f) throws Exception ​{
  String fileName = f.getAbsolutePath();​  String fileName = f.getAbsolutePath();​
  
- // Specific code, returns true if the file is ok...+ // Throws an exception ​if file can not be loaded
  
- try { + // Use fake objects to avoid side effects 
- // Use fake objects to avoid side effects + Samsa2Model modelFake = new Samsa2Model();​ 
- Samsa2Model modelFake = new Samsa2Model();​ + Samsa2InitialParameters ipFake = modelFake.getSettings();​
- Samsa2InitialParameters ipFake = modelFake.getSettings();​+
  
- // Check if the file can be loaded + // Check if the file can be loaded 
- ipFake.vParamMS.virtualStand = false; + ipFake.vParamMS.virtualStand = false; 
- ipFake.fileName = fileName; + ipFake.fileName = fileName; 
- ipFake.buildInitScene(modelFake);​+ ipFake.buildInitScene(modelFake);​
  
- // Seems ok 
- return true; 
- 
- } catch (Throwable e) { 
- // Seems problematic 
- return false; 
- 
- } 
  }  }
 }; };
file_preview_and_checking_in_file_chooser.1512749819.txt · Last modified: 2017/12/08 16:16 by coligny