Bonjour à tous,

Alors voilà mon problème :

Dans un programme, j'aimerai pouvoir donner à l'utilisateur le choix entre deux options de manière interactive. Pour ça, dans le programme principal, j'appelle un sous programme "interface" dans lequel je crée une fenêtre avec 2 boutons poussoir intitulés "manuelle" et "aléatoire".

Voici le code correspondant :

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function interface
%% Création de la figure
f=figure('Visible','off','Position',[450,300,350,200]);
 
%% Création des éléments de la figure
hmanuel=uicontrol('Style','pushbutton',...
                  'String','manuelle',...
                  'Position',[50 90 100 50],...
                  'Callback',{@set_choice});
 
haleatoir=uicontrol('Style','pushbutton',...
                    'String','aléatoire',...
                    'Position',[200 90 100 50],...
                    'Callback',{@set_choice});
 
htitre=uicontrol('Style','text',...
                 'String','Comment voulez-vous selectionner les centres des clusters?',...
                 'Position',[10 160 330 10]);
 
%% Affichage de la figure                
set(f,'Visible','on');
 
 
    function set_choice(source,eventdata)
        str = get(source,'String'); 
        switch str
            case 'manuelle'
                %action           
            case 'aléatoire'
                %autre action         
        end            
    end   
 
end

le truc, c'est que je sais pas comment pouvoir exploiter le bouton sur lequel j'appuie.
Dans mon programme principal ou j'appelle la fonction "interface", j'aimerai pouvoir récupérer une valeur qui m'indique sur quel bouton je viens de cliquer.

J'ai essayé un truc du style
choix=interface;
avec les
%action
dans le code remplacés par des trucs du genre
choix=1;
ou
choix=2
mais sans succès...

Donc voilà, si qqn a une idée, je le remercie d'avance!!
Si j'ai pas été clair sur ce que je voulais ou si il vous semble qu'il manque des infos, dites le moi.


D'avance merci!