aaf03649069746bf8d022d7c9326b7626ce80b55
[scilab.git] / scilab / modules / scicos / demos / scicos_learn.sci
1 function scicos_learn(fil)
2 // Copyright INRIA
3 funcprot(0);
4 comm='//'
5
6 if exists('scicos_scicoslib')==0 then
7   load("SCI/modules/scicos/macros/scicos_scicos/lib") ;
8 end
9
10 if exists('scicos_autolib')==0 then
11   load("SCI/modules/scicos/macros/scicos_auto/lib") ;
12 end
13
14 if exists('scicos_utilslib')==0 then
15   load("SCI/modules/scicos/macros/scicos_utils/lib") ;
16 end
17
18
19
20 //rename dialog and mouse primitives
21 x_mess=funptr('x_message');clearfun('x_message');newfun('x_message1',x_mess);
22 x_dia=funptr('x_dialog');clearfun('x_dialog');newfun('x_dialog1',x_dia);
23 xcli=funptr('xclick');clearfun('xclick');newfun('xclick1',xcli);
24 xgetm=funptr('xgetmouse');clearfun('xgetmouse');newfun('xgetmouse1',xgetm)
25 x_mdia=funptr('x_mdialog');clearfun('x_mdialog');newfun('x_mdialog1',x_mdia);
26 c_cho=funptr('tk_choose');clearfun('tk_choose');newfun('tk_choose1',c_cho);
27 xgetf=funptr('xgetfile');clearfun('xgetfile');newfun('xgetfile1',xgetf);
28 //these function are redefined below
29 exec('SCI/demos/scicos/dialogs_learn.sci')
30 tk_getfile=xgetfile
31 tk_savefile=xgetfile
32 tk_getcolor=getcolor
33 //reload the functions using the redefined primitive functions
34 names=[
35     'scicos'
36     'getvalue';
37     'choosefile';
38     'do_addnew';
39     'do_block';
40     'do_color';
41     'do_copy';
42     'do_copy_region';
43     'do_delete';
44     'do_delete_region';
45     'do_help';
46     'do_move';
47     'do_stupidmove';
48     'do_palettes';
49     'do_replace';
50     'do_run';
51     'do_SaveAs';
52     'do_tild';
53     'do_view';
54     'getlink';
55     'prt_align';
56     'cosclick';
57     'SaveasInterfFunc_'
58     'do_addnew'
59     'do_export'
60     'do_load' 
61     'do_exit'
62     'x_matrix']
63
64 for k=1:size(names,'r')
65   exec(get_function_path(names(k)))
66 end
67
68 global %fig_counter
69 %fig_counter=0;
70 %scicos_short;
71 %scicos_short($+1,1)='x';
72 %scicos_short($,2)='GrabScope'
73 %scicos_menu;
74 %scicos_menu($)($+1)=['GrabScope'];
75
76
77 %scicos_short;
78 %scicos_short($+1,1)='y';
79 %scicos_short($,2)='Snapshot'
80 %scicos_menu;
81 %scicos_menu($)($+1)=['Snapshot'];
82
83 %scicos_short;
84 %scicos_short($+1,1)='w';
85 %scicos_short($,2)='GrabPalette'
86 %scicos_menu;
87 %scicos_menu($)($+1)=['GrabPalette'];
88
89
90 %scicos_short;
91 %scicos_short($+1,1)='z';
92 %scicos_short($,2)='Comment'
93 %scicos_menu;
94 %scicos_menu($)($+1)=['Comment'];
95
96
97 deff('Snapshot_()',..
98      ['Cmenu=''Replot'''])
99
100 deff('GrabPalette_()',..
101      ['global %fig_counter'
102       'x_message(''Click on scope to save'');'
103       '[c_i,c_x,c_y,c_w]=xclick()'
104       'txt2=x_dialog([''Enter caption''],'''');'
105       'Cmenu=''Replot'''])
106
107 deff('GrabScope_()',..
108      ['global %fig_counter'
109       'x_message(''Click on scope to save'');'
110       '[c_i,c_x,c_y,c_w]=xclick()'
111       'txt2=x_dialog([''Enter caption''],'''');'
112       'Cmenu=''Replot'''])
113
114
115 //deff('Comment_()',..
116 //     ['txt=x_dialog([''Enter comments''],'''');'
117 //      'Cmenu=''Replot'''])
118
119 deff('Comment_()',..
120      ['txt=x_dialog([''Enter comments''],'''');'
121       'Cmenu=''Open/Set'''])
122
123
124 clear('%scicos_gui_mode_back')
125 if exists('%scicos_gui_mode') then
126   %scicos_gui_mode_back=%scicos_gui_mode
127 end
128 %scicos_gui_mode=0
129
130 uapp=mopen(fil,'w')
131 global MousePos
132 MousePos=[-100 -100 -1]
133 lines(0);
134 ierr=execstr('scicos();','errcatch')
135 mclose(uapp)
136 if exists('%scicos_gui_mode_back') then
137   %scicos_gui_mode=%scicos_gui_mode_back
138 end
139
140 // kill the added primitives
141 clearfun('x_message1');clearfun('x_dialog1');clearfun('xclick1')
142 clearfun('xgetmouse1');clearfun('x_mdialog1');clearfun('tk_choose1');
143 clearfun('xgetfile1');
144 //retore the primitives
145 newfun('x_message',x_mess)
146 newfun('x_dialog',x_dia)
147 newfun('x_mdialog',x_mdia)
148 newfun('tk_choose',c_cho)
149 newfun('xclick',xcli)
150 newfun('xgetmouse',xgetm)
151 newfun('xgetfile',xgetf)
152 endfunction
153