Mercurial > hg > ltpda
diff m-toolbox/m/gui/gltpda/g_LoadFromBlockCallback.m @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/m/gui/gltpda/g_LoadFromBlockCallback.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,33 @@ + function g_LoadFromBlockCallback(currPanel,varargin) + % This callback is called whenever the user selects a From block. + + global guiFontSize + panelDimens = get(currPanel, 'Position'); + backColor = get(currPanel, 'BackgroundColor'); + + % Button: 'Find origin' + uicontrol('Parent',currPanel,'Units','pixels','HorizontalAlignment','center','Position',[(panelDimens(4)-200)/2 panelDimens(4)-100 200 30],'String','Find origin','FontSize',guiFontSize+1,'Visible','on','Enable','on','Callback',@FindOriginCallback,'Style','pushbutton'); + + + + %---------------------------------------------------------------------- + function FindOriginCallback(varargin) + % This callback is called whenever click on the 'Find Origin' button, + % having selected a 'From' block. + + varName = get(gcbh,'GotoTag'); + origin = utils.prog.find_in_models(bdroot,'LookUnderMasks','all','BlockType','Goto','GotoTag',varName); + if numel(origin)>1 + % Error text: there are multiple origins. + uicontrol('Parent',currPanel,'BackgroundColor',backColor,'Units','pixels','HorizontalAlignment','center','Position',[(panelDimens(4)-400)/2 panelDimens(4)-160 400 30],'String','Error: there are multiple sources','Visible','on','Style','text'); + elseif numel(origin)==1 + % Text: full path of the origin. + uicontrol('Parent',currPanel,'BackgroundColor',backColor,'Units','pixels','HorizontalAlignment','center','Position',[(panelDimens(4)-400)/2 panelDimens(4)-160 400 30],'String',origin{1},'Visible','on','Style','text'); + else + % Error text: no origin found. + uicontrol('Parent',currPanel,'BackgroundColor',backColor,'Units','pixels','HorizontalAlignment','center','Position',[(panelDimens(4)-400)/2 panelDimens(4)-160 400 30],'String','Error: no source found','Visible','on','Style','text'); + end + end + %---------------------------------------------------------------------- + + end