samer@0
|
1 function u=construct(s,sizes_in)
|
samer@0
|
2 fg=fig(s); figure(fg); clf;
|
samer@0
|
3 set(gcf,'Name',s.opts.name);
|
samer@0
|
4 hpanel = uipanel('title',s.opts.title,'bordertype','line');
|
samer@0
|
5 %hpanel = uigridcontainer('v0','GridSize',[1,1]);
|
samer@0
|
6 hedit = uicontrol('parent',hpanel,'style','edit','string',s.opts.init,'horizontalalignment','left');
|
samer@0
|
7 %hbtn = uicontrol('parent',hpanel,'style','pushbutton','string','send');
|
samer@0
|
8 set(hedit,'BackgroundColor',get(0,'DefaultAxesColor'));
|
samer@0
|
9 set(hedit,'units','normalized','position',[0,0,1,1]);
|
samer@0
|
10 %set(hedit,'ToolTipString','Enter a MATLAB expression to evaluate a send.');
|
samer@0
|
11 %set(hbtn,'ToolTipString','Press to resend the last entered expression.');
|
samer@0
|
12
|
samer@0
|
13 queue = {};
|
samer@0
|
14 u=mkunit(s);
|
samer@0
|
15 u.process=@proc;
|
samer@0
|
16 u.sizes_out = {[1,1]};
|
samer@0
|
17 u.dispose = @dispose;
|
samer@0
|
18 u.starting = @starting;
|
samer@0
|
19 u.stopping = @stopping;
|
samer@0
|
20 u.get_state = @()get(hedit,'string');
|
samer@0
|
21 u.set_state = @(s)set(hedit,'string',s);
|
samer@0
|
22
|
samer@0
|
23 function dispose, delete(hpanel); end
|
samer@0
|
24 function starting, set(hedit,'Callback',@send); end
|
samer@0
|
25 function stopping, set(hedit,'Callback',[]); end
|
samer@0
|
26 function x=proc, x=queue; queue={}; end
|
samer@0
|
27
|
samer@0
|
28 function send(varargin),
|
samer@0
|
29 str=get(hedit,'string');
|
samer@0
|
30 fprintf('* esender: evaluating %s\n',str);
|
samer@0
|
31 try, queue = [queue, {evalin('base',str)}];
|
samer@0
|
32 catch fprintf('* esender: ERROR evaluating.\n');
|
samer@0
|
33 end
|
samer@0
|
34 end
|
samer@0
|
35 end
|