Bonjour,
J'ai des problèmes, surement dus à une mauvaise compréhension, en utilisant les fonction guihandles et guidata.
Je précise que j'aimerais éviter les variables globales
Je déclare dans ma fonction principale une figure globale et une variable new_choix dans la structure data.
J'appelle ensuite une nouvelle fonction 'param_deplacement'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function gui_simu % Création de l'objet Figure (fenêtre principale de la gui) figure('units','pixels',... 'position',[resol(3)*0.1,resol(4)*0.1,resol(3)*0.8,resol(4)*0.8],... 'color',[1.0 1.0 1.0],... 'numbertitle','off',... 'name','Simulateur d images US',... 'menubar','none',... 'tag','interface'); data=guihandles(gcf); data.new_choix=0; guidata(gcf,data);
qui appelle une fonction 'choix_dep' via un callback sur un menu popup.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 function param_deplacement y_top=0.3; x_top=0.01; dy=0.03; dx=0.3; % Titre général % Création de l'objet Uicontrol popup-menu uicontrol('style','popupmenu',... 'units','normalized',... 'position',[x_top y_top-dy dx/2*0.9 dy*2/3],... 'string','Flux parabolique|Translation',... 'callback',@choix_dep,... 'tag','bouton_popup_dep');
Mon problème se situe ici
Je ne vois pas data.new_choix que j'aimerais utiliser pour savoir si cette fonction choix_dep a déjà été appelée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function choix_dep(obj,event) % Fonction appelée lors de l'utilisation du menu popup de choix de type de déplacement data=guidata(gcbf) choix=get(data.bouton_popup_dep,'value'); switch(choix) case(1) param_vaisseau case(2) param_lineaire end
J'ai généralement du mal avec guihandles et guidata. Je ne comprends pas bien comment faire pour que tout ce qui est dans data soit visible tout le temps en appelant guidata(gcbf).
Merci de votre aide,
Adrien
Partager