2375a99a6de15ec8688e6c404aa4ad679db0ddd9
[scilab.git] / scilab / contrib / xcos_toolbox_skeleton / macros / TBX_MUT_STYLE.sci
1 //
2 // This file is part of the Xcos skeleton toolbox
3 //
4 // see license.txt for more licensing information
5
6 function [x,y,typ]=TBX_MUT_STYLE(job,arg1,arg2)
7   x=[];y=[];typ=[]
8   select job
9    case 'plot' then
10     standard_draw(arg1)
11    case 'getinputs' then
12     [x,y,typ]=standard_inputs(arg1)
13    case 'getoutputs' then
14     [x,y,typ]=standard_outputs(arg1)
15    case 'getorigin' then
16     [x,y]=standard_origin(arg1)
17    case 'set' then
18     x=arg1;
19     model = x.model;
20     graphics = x.graphics;    
21
22     // no parameters yet, just change the style of the block and the ports
23     hexa = [string(1:9) "A" "B" "C" "D" "E" "F"];
24     graphics.style = "BIGSOM_f;fillColor=#" + strcat(hexa(15 * rand(1,6) + 1));
25
26     port_styles = ["actor" "cloud" "connector" "cylinder" "curve" "doubleEllipse" "ellipse" "hexagon" "image" "label" "line" "rectangle" "rhombus" "triangle"];
27     graphics.in_style = "ExplicitInputPort;shape=" + port_styles(size(port_styles, '*') * rand(model.in) + ones(model.in));
28     graphics.out_style = "ExplicitOutputPort;shape=" + port_styles(size(port_styles, '*') * rand(model.out) + ones(model.out));
29
30     disp(graphics.style);
31     disp(graphics.in_style);
32     disp(graphics.out_style);
33
34     x.model = model;
35     x.graphics = graphics;
36
37    case 'define' then
38     model=scicos_model()
39     model.sim=list('block_sum',4)
40     // n inputs with a single "double" element
41     model.in=ones(4, 1);
42     model.intyp=ones(model.in);
43     // one output with a single "double" element
44     model.out=1
45     model.outtyp=1
46     
47     model.blocktype='c'
48     model.dep_ut=[%f %f]
49
50     exprs=string([]);
51     gr_i=['txt=[''TBX_SUM_c''];';
52           'xstringb(orig(1),orig(2),txt,sz(1),sz(2),''fill'')']
53
54     x=standard_define([2 2],model,exprs,gr_i)
55   end
56 endfunction
57