913194d3a95abbee956e7d476d34414a9b0d0191
[scilab.git] / scilab / modules / gui / macros / xgetfile.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2008 - DIGITEO - Sylvestre Koumar
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at    
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 function myFile=xgetfile(fileMask, initialDir, boxTitle)
11
12         [lhs,rhs]=argn(0);      
13         
14         //Warning which indicate that xgetfile is obsolete
15         warnobsolete('uigetfile','5.2');        
16         
17         
18         //Input arguments checking
19         if rhs < 0 & rhs > 3 then
20                 error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"), "xgetfile",1,2,3));
21                 return;
22         end
23
24                 
25         //xgetfile without input
26         if rhs == 0 then
27                 myFile = uigetfile();   
28                 return;
29         end
30                 
31         // 1 input : filemask OR title
32         if rhs == 1 then
33                 if (exists('fileMask') == 1) then
34                         if (type(fileMask) == 10) then
35                                 myFileMask = fileMask;
36                                 myInitialDir = "";
37                                 myBoxTitle = "Uigetfile";       
38                         else
39                                 error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "xgetfile",1));
40                                 return;
41                         end
42                 elseif (exists('title', 'local')) then
43                                 myFileMask = "";
44                                 myInitialDir = "";
45                                 myBoxTitle = string(title);     
46                 else
47                         error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "xgetfile",1));
48                         return;
49                 return;
50                 end
51         end
52         
53         // 2 inputs : filemask, initial directory OR filemask, title
54         if rhs == 2 then
55                 if (type(fileMask) == 10 & exists('initialDir') == 1) then
56                         if type(initialDir) == 10 then
57                                 myFileMask = fileMask;
58                                 myInitialDir = initialDir;
59                                 myBoxTitle = "Uigetfile";       
60                         else
61                                 error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "xgetfile",2));
62                                 return;
63                         end
64                 elseif (exists('title', 'local')) then
65                                 myFileMask = fileMask;
66                                 myInitialDir = "";
67                                 myBoxTitle = string(title);     
68                 else
69                         error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "xgetfile",1));
70                         return;
71                 end
72         end
73         
74         // 3 inputs : filemask, initial directory, box title OR filemask, initial directory, title
75         if rhs == 3 then
76                 if (type(fileMask) == 10 & exists('initialDir') == 1 & exists('boxTitle') == 1) then
77                         myFileMask = fileMask;
78                         
79                         if type(initialDir) == 10 then
80                                 myInitialDir = initialDir;
81                         else
82                                 error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "xgetfile",2));
83                         end
84                         
85                         if type(boxTitle) == 10 then
86                                 myBoxTitle = boxTitle;
87                         else
88                                 error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "xgetfile",3));
89                         end
90                         
91                 elseif (exists('title', 'local')) then
92                                 myFileMask = fileMask;
93                                 myInitialDir = initialDir;
94                                 myBoxTitle = string(title);     
95                 else
96                         error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "xgetfile",1));
97                         return;
98                 end
99         end
100
101         //calling uigetfile
102         myFile = uigetfile(myFileMask, myInitialDir, myBoxTitle);
103         
104 endfunction