GUI: séparer les objects des callback
Bonjour,
Je suis en train de faire une interface avec Matlab mais j'aurais voulu avoir une liste d'objets qui seraient mise à jour à chaque opération avec une fonction de rafraichissement de l'interface mais mon problème est de gérer les fonctions callback dans ce cas. Je m'explique:
Dans un fichier GUI_uicontrols je crée ma liste d'objets de l'interface comme suit:
Code:
1 2 3 4 5 6 7 8 9 10 11
| function GUI_uicontrols
global UICONTROLS
UICONTROLS(5).style = 'pushbutton';;
UICONTROLS(5).visible = 'on';
UICONTROLS(5).handleVisibility = 'on';
UICONTROLS(5).string = 'CLICK HERE';
UICONTROLS(5).enable = 'on';
UICONTROLS(5).position = [0.4 0.91 0.1 0.05];
UICONTROLS(5).callback = 'go'; |
et tous mes autres objets seront aussi stockés dans cette liste.
Ensuite j'ai une fonction pour mettre l'interface à jour:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
function GUI_UpdateFigure
global UICONTROLS
for i = 1:size(UICONTROLS,2)
uc = uicontrol('style',UICONTROLS(i).style,...
'units','normalized',...
'position',UICONTROLS(i).position,...
'string',UICONTROLS(i).string,...
'callback',UICONTROLS(i).callback);
set(uc,'enable',UICONTROLS(i).enable);
set(uc,'handleVisibility',UICONTROLS(i).handleVisibility);
set(uc,'visible',UICONTROLS(i).visible);
end |
Mais voilà ca coince quand je veux appeler ma fonction callback 'go'.
Ou devrais-je définir cette fonction? Dans la fonction qui appelle updateFigure? ou directement dans updateFigure? Mais je ne peux pas définir toutes mes fonctions callback dans un même fichier à part?
Merci pour votre aide!