IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

appel d'un autre callback dans une fonction


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2010
    Messages : 62
    Par défaut appel d'un autre callback dans une fonction
    Bonjour,

    Peut on appeller le callback d'une autre fonction dans le code du callback d'une certaine fonction???

    Si oui, quelle est la syntaxe et comment l'utilise-t-on??

    Merci

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Oui, un callback peut s'appeler comme n'importe quelle fonction. Si c'est à partir d'une interface créée avec GUIDE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monbouton_Callback(handles.monbouton,[],handles);

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2010
    Messages : 62
    Par défaut
    Imaginons que j'ai dans le M-File de mon GUI la fonction suivante:

    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
    function popupmenu1_Callback(hObject, eventdata, handles)
    % hObject    handle to popupmenu1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array
    %        contents{get(hObject,'Value')} returns selected item from popupmenu1
     
    % X=[0:10];
    val=get(hObject,'Value');
    str=get(hObject,'String');
    %get(handles.popupmenu1,'Value')
    switch str{val}
        case 'inverse'
            handles.current_data=handles.inverse;
            inv=plot(handles.X, handles.current_data,'*r');
            %saveas(testcarreinverse2,'inverse.pdf');
        case 'carre'
            handles.current_data=handles.carre;
            car=plot(handles.X, handles.current_data,'*r');
            %saveas(testcarreinverse2,'carre.pdf');
        otherwise
     
    end
     
    guidata(hObject, handles);
    comment je fais pour appeler dans une autre fonction le cas 'inverse' de ce popupmenu1.

    Merci d'avace pour votre aide.

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    La solution basique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    % Récupération du contenu du popupmenu
    str = get(handles.popupmenu1, 'String');
     
    % Définition de la valeur conrrespondante à "inverse"
    set(handles.popupmenu1, 'Value', find(strcmp(str,'inverse')));
     
    % Appel du callback du popupmenu
    popupmenu1_Callback(handles.popupmenu1, [], handles);

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2010
    Messages : 62
    Par défaut
    OK

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. appel du callback dans une autre fonction
    Par amine_wn dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 08/04/2015, 18h07
  2. [Flex4] multiples appels d'un même service dans une fonction
    Par polo31 dans le forum Flex
    Réponses: 5
    Dernier message: 01/08/2012, 14h54
  3. Appel d'un fichier .js dans une fonction javascript
    Par Ubum dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/01/2008, 15h08
  4. [Postgresql]Connecter à une autre base dans une fonction
    Par alex2205 dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/05/2003, 11h30
  5. [Postgresql]Connecter à une autre base dans une fonction
    Par alex2205 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2003, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo