* Bug 16320 fixed: typos in blocks interfaces + a few files
[scilab.git] / scilab / modules / scicos_blocks / macros / Sinks / AFFICH_m.sci
1 //  Scicos
2 //
3 //  Copyright (C) INRIA - METALAU Project <scicos@inria.fr>
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 //
19 // See the file ../license.txt
20 //
21
22 function [x,y,typ] = AFFICH_m(job,arg1,arg2)
23     //** 22 Aug 2006: looking for a nasty "font" bugs
24     //**
25     //** 07 Aug 2008: this function has been update for Scilab 5.0 by
26     //**              Simone Mannori and Jean-Baptiste Silvy
27
28     x=[];
29     y=[];
30     typ=[];
31
32     select job
33
34     case "set" then
35         x = arg1 ;
36         graphics = arg1.graphics ;
37         exprs = graphics.exprs ;
38         model = arg1.model ;
39
40         while %t do
41             [ok,in,font,fontsize,colr,nt,nd,herit,exprs]=scicos_getvalue(..
42             msprintf(_("Set %s block parameters"), "AFFICH_m"),..
43              _(["Input Size";
44                 "Font number";
45                 "Font size";
46                 "Color";
47                 "Total number of digits (>3)";
48                 "Number of fractional part digits ()";
49                 "Block inherits (1) or not (0)"]),..
50             list("mat",[1 2],"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1),exprs)
51
52             if ~ok then
53                 break,
54             end //user cancel modification
55
56             mess = [] ; //** no message
57
58             if font<=0 then
59                 mess=[mess ; _("The Font number must be > 0") ; " "]
60                 ok=%f
61             end
62
63             if fontsize<=0 then
64                 mess=[mess ; _("The Font size must be > 0") ; " "]
65                 ok=%f
66             end
67
68             if nt<=3 then
69                 mess=[mess; _("The Total number of digits must be > 3") ; " "]
70                 ok=%f
71             end
72
73             if nd<0 then
74                 mess=[mess ; _("The Number of fractional part digits must be >= 0") ; " "]
75                 ok=%f
76             end
77
78             if ~ok then
79                 message([_("Some specified values are inconsistent:") ;
80                         " " ; mess]);
81             end
82
83             if ~or(herit==[0 1]) then
84                 mess=[mess ; _("Accept inherited values are 0 and 1") ; " "]
85                 ok=%f
86             end
87
88             if ~ok then
89                 message([_("Some specified values are inconsistent:") ;
90                          " " ; mess])
91             end
92
93             //** Positive case ->
94             if ok then
95                 //[model,graphics,ok]=check_io(model,graphics,1,[],ones(1-herit,1),[])
96                 [model,graphics,ok] = set_io(model, graphics, list(in,1), list(), ones(1-herit,1), [])
97             end
98
99             if ok then
100                 model.ipar = [font;fontsize;colr;nt;nd;in(1,1)];
101                 model.dstate = [-1;0;0;1;1;0;zeros(in(1,1)*in(1,2),1)]
102                 model.evtin = ones(1-herit,1)
103                 graphics.exprs = exprs;
104                 x.graphics = graphics;
105                 x.model = model ;
106                 break
107             end
108         end
109
110     case "define" then
111         font = 1
112         fontsize = 1
113         colr = 1
114         nt = 5
115         nd = 1
116         in = [1 1]
117
118         model = scicos_model();
119         model.sim = list("affich2",4) ;
120         model.in = in(1,1);
121         model.in2 = in(1,2);
122         model.evtin  = 1 ;
123         model.dstate = [-1;0;0;1;1;0;zeros(in(1,1)*in(1,2),1)]
124         model.ipar   = [font;fontsize;colr;1000;nt;nd;in(1,1)]
125         model.blocktype = "c" ;
126         model.firing = []     ;
127         model.dep_ut = [%t %f]
128         model.label = "" ;
129
130         exprs = [ sci2exp([model.in model.in2]);
131         string(font);
132         string(fontsize);
133         string(colr);
134         string(nt);
135         string(nd);
136         string(0) ]
137
138         gr_i=[]
139
140         x = standard_define([3 2],model,exprs,gr_i)
141
142     end
143
144 endfunction