Mercurial > hg > ltpda
diff m-toolbox/m/gui/gltpda/g_ApplyButtonCallback.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_ApplyButtonCallback.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,35 @@ +function g_ApplyButtonCallback(hObject,varargin) + % Whenever the user clicks on the 'Apply' button. + + global params paramEnabled oldparams oldparamEnabled selBlocks + + % If it's executed automacally (upon button deletion), check whether + % there's something to apply or not: + if (nargin>2 && strcmp(get(hObject,'enable'),'off')) || (isempty(params) && isempty(oldparams)), return; end + + % This is to update the old params with those currently stored into + % the block: + temp1 = paramEnabled; + temp2 = params; + paramcommand = get_param(gcbh,'Description'); + eval(paramcommand) % This overwrites also the current 'paramEnabled' + oldparamEnabled = paramEnabled; + paramEnabled = temp1; + oldparams = params; + params = temp2; + clear temp1 temp2 + + % Now to update the block with the latest changed params: + paramcommand = g_BuildParamCommand(params); + for kk=1:length(selBlocks) + try set_param(selBlocks(kk),'Description',paramcommand); catch, end + end + g_AnnotationUpdate(params); + + try set(hObject,'enable','off'); catch, end + + % Redraw the panel only if the user hasn't changed selection or + % clicked on a different tab: + if nargin>2 && varargin{2}, selBlocks = nan; end + +end