m2sci_gui now uses Scilab uicontrols instead of a TK user interface
[scilab.git] / scilab / modules / m2sci / macros / cb_m2sci_gui.sci
1 //
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2008 - INRIA - Vincent COUVERT 
4 // 
5 // This file must be used under the terms of the CeCILL.
6 // This source file is licensed as described in the file COPYING, which
7 // you should have received as part of this distribution.  The terms
8 // are also available at    
9 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10 //
11
12 // Callback function for M2SCI GUI (See m2sci_gui.sci)
13
14 function cb_m2sci_gui
15
16 //
17 // --- Switch to file conversion mode ---
18 //
19 if get(gcbo,"tag")=="fileradio" then
20
21     set(gcbo, "value", 1);
22     set(findobj("tag", "dirradio"), "value", 0);
23     
24     // Make dir objects not-visible
25     set(findobj("tag", "dirtitle"),"visible","off");
26     set(findobj("tag", "dirlabel"),"visible","off");
27     set(findobj("tag", "diredit"),"visible","off");
28     set(findobj("tag", "dirbtn"),"visible","off");
29
30     // Make file objects visible
31     set(findobj("tag", "filetitle"),"visible","on");
32     set(findobj("tag", "filelabel"),"visible","on");
33     set(findobj("tag", "fileedit"),"visible","on");
34     set(findobj("tag", "filebtn"),"visible","on");
35   
36 //
37 // --- Switch to directory conversion mode ---
38 //
39 elseif get(gcbo,"tag")=="dirradio" then
40     
41     set(gcbo, "value", 1);
42     set(findobj("tag", "fileradio"), "value", 0);
43     
44     // Make dir objects visible
45     set(findobj("tag", "dirtitle"),"visible","on");
46     set(findobj("tag", "dirlabel"),"visible","on");
47     set(findobj("tag", "diredit"),"visible","on");
48     set(findobj("tag", "dirbtn"),"visible","on");
49
50     // Make file objects not-visible
51     set(findobj("tag", "filetitle"),"visible","off");
52     set(findobj("tag", "filelabel"),"visible","off");
53     set(findobj("tag", "fileedit"),"visible","off");
54     set(findobj("tag", "filebtn"),"visible","off");
55     
56 //
57 // --- Directory to convert ---
58 //
59 elseif get(gcbo,"tag")=="dirbtn" then
60   
61   ditname = uigetdir(getcwd(), gettext("Select the directory to convert"));
62   set(findobj("tag", "diredit"), "string", dirname);
63   
64 //
65 // --- File to convert ---
66 //
67 elseif get(gcbo,"tag")=="filebtn" then
68   
69   filename = xgetfile("*.m", getcwd(), gettext("Select the file to convert"));
70   set(findobj("tag", "fileedit"), "string", filename);
71   
72 //
73 // --- Output directory ---
74 //
75 elseif get(gcbo,"tag")=="outbtn" then
76   
77   dirname = uigetdir(getcwd(), gettext("Select the directory for generated files"));
78   set(findobj("tag", "outedit"), "string", dirname);
79   
80 //
81 // --- Recmode option ---
82 //
83 elseif or(get(gcbo, "tag")==["recradioyes","recradiono"]) then
84   
85   set(findobj("tag", "recradioyes"), "value", 0);
86   set(findobj("tag", "recradiono"), "value", 0);
87   
88   set(gcbo, "value", 1);
89   
90 //
91 // --- Double option ---
92 //
93 elseif or(get(gcbo, "tag")==["doubradioyes","doubradiono"]) then
94   
95   set(findobj("tag", "doubradioyes"), "value", 0);
96   set(findobj("tag", "doubradiono"), "value", 0);
97   
98   set(gcbo, "value", 1);
99   
100 //
101 // --- Verbose option ---
102 //
103 elseif or(get(gcbo, "tag")==["verbradio0","verbradio1","verbradio2","verbradio3"]) then
104   
105   set(findobj("tag", "verbradio0"), "value", 0);
106   set(findobj("tag", "verbradio1"), "value", 0);
107   set(findobj("tag", "verbradio2"), "value", 0);
108   set(findobj("tag", "verbradio3"), "value", 0);
109   
110   set(gcbo, "value", 1);
111   
112 //
113 // --- Pretty print option ---
114 //
115 elseif or(get(gcbo, "tag")==["ppradioyes","ppradiono"]) then
116   
117   set(findobj("tag", "ppradioyes"), "value", 0);
118   set(findobj("tag", "ppradiono"), "value", 0);
119   
120   set(gcbo, "value", 1);
121   
122 //
123 // --- Cancel conversion ---
124 //
125 elseif get(gcbo, "tag")=="cancelbtn" then
126   //delete(findobj("tag", "m2scifig"));
127   delete(gcf())
128 //
129 // --- Launch conversion ---
130 //
131 elseif get(gcbo, "tag")=="convertbtn" then
132   outputdir = get(findobj("tag", "outedit"), "string");
133   
134   rec = get(findobj("tag", "recradioyes"), "value") == 1;
135   
136   doub = get(findobj("tag", "doubradioyes"), "value") == 1;
137   
138   if get(findobj("tag", "verbradio0"), "value") == 1 then
139     verb = 0;
140   elseif get(findobj("tag", "verbradio1"), "value") == 1 then
141     verb = 1;
142   elseif get(findobj("tag", "verbradio2"), "value") == 1 then
143     verb = 2;
144   else
145     verb = 3;
146   end
147   
148   pp = get(findobj("tag", "ppradioyes"), "value") == 1;
149   
150   if get(findobj("tag", "fileradio"), "value") == 1 then // Single file conversion
151     inputfile = get(findobj("tag", "fileedit"), "string");
152     delete(gcf());
153     mfile2sci(inputfile, outputdir, rec, doub, verb, pp);
154   else // Directory conversion
155     inputdir = get(findobj("tag", "diredit"), "string");
156     delete(gcf());
157     translatepaths(inputdir, outputdir);
158   end
159 end
160
161 endfunction