MATLAB Answers

0

how to assign a callback located in a array of string (in uicontrol) ? ex uicontrol(​'callback'​,array(1))

Asked by Fabienne Guerville on 14 Aug 2019
Latest activity Commented on by Geoff Hayes
on 14 Aug 2019
my example :
listProcessingUnitCallback={...
'signalstatistics_callback','signalFFT_callback','inverseFFT_callback','harmonic_callback','PSD_callback',...
'spectralCoherence_callback','angle_callback','orderSpectrum_callback','invorderSpectrum_callback',...
'synchronousaverage_callback','synchronousaveragespectrum_callback','residual_callback','residualspectrum_callback',...
'envelope_callback','envelopespectrum_callback','miscProcessing_callback','Spectrogram_callback',...
'Cyclostatio_callback','FIRFilter_callback','TOPdetect_callback'};
handle.ProcessingConfig = uicontrol(...
'Style' , 'checkbox' ,...
'String' , 'Processing1' ,...
'Tag' , 'processing1' ,...
'Callback' ,listProcessingUnitCallback(1),... how to write this ?
'Units' , 'Normalized' ,...
'Position' ,[0. 0.97 1 0.03],...
'Parent' ,handle.actionsButtonsConfigProc);

  0 Comments

Sign in to comment.

Tags

Products

1 Answer

Answer by Geoff Hayes
on 14 Aug 2019

Fabienne - I think that you may want to create an array of function handles rather than an array of (string) function names. For example,
listProcessingUnitCallback={...
@signalstatistics_callback,@signalFFT_callback};
and then you would extract the callback as
'Callback' ,listProcessingUnitCallback{1},...
using the {} braces rather than the () brackets.

  2 Comments

Fabienne's answer moved here
it's exactly what I want to do but with your syntax I have the same error message : Error while evaluating UIControl Callback.
Fabienne - please copy and paste the full error message to this question so that we can understand what is going on. It could be that the signature of your functions (in the cell array) do not match the expected signatures of the uicontrol callback.

Sign in to comment.