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 :

interface "intelligente" et assignin


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Par défaut interface "intelligente" et assignin
    Bonjour.
    J'ai deux questions à poser :
    tout d'abord à propos d'assignin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    methode='handles.option.methode';
    selection='methode_1';
     
    assignin('caller',methode,selection)
    Voilà un exemple qui ne fonctionne pas. Apperement c'est un problème de structure, car si methode='option', ça fonctionne très bien. Auriez vous une alternative?

    Ensuite, je désire faire une interface "intelligente" basée sur un fichier .mat d'option sous forme de structure. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    option.methode(1).name=methode1;
    option.methode(1).value=3;
     
    option.methode(2).name=methode_2;
    option.methode(2).value=6;
    Voilà, je voudrais par exemple pour chaque méthode, creer une logne dans une interface contenant, le nom, un bouton d'action, une zone d'édition, etc... bref de koi modifier ces options.

    En fait je voudrais une interface qui en fonction des options présentes, affiche de quoi les modifier.

    Pour l'instant, j'édite un fichier .m ressemblant à celui de l'exemple de simple_gui de matlab, au fur et a mesure du code, puis je le lance à la fin ... Avez vous une autre solution ?

    Merci par avance.

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Citation Envoyé par milach Voir le message
    tout d'abord à propos d'assignin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    methode='handles.option.methode';
    selection='methode_1';
     
    assignin('caller',methode,selection)
    Voilà un exemple qui ne fonctionne pas. Apperement c'est un problème de structure, car si methode='option', ça fonctionne très bien. Auriez vous une alternative?
    assignin affecte une valeur à une variable. handles.option.methode n'est pas une variable.
    De plus je ne comprends pas l'intérêt de faire ça.
    Que souhaites-tu faire exactement ?

    Citation Envoyé par milach Voir le message
    Ensuite, je désire faire une interface "intelligente" basée sur un fichier .mat d'option sous forme de structure. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    option.methode(1).name=methode1;
    option.methode(1).value=3;
     
    option.methode(2).name=methode_2;
    option.methode(2).value=6;
    Voilà, je voudrais par exemple pour chaque méthode, creer une logne dans une interface contenant, le nom, un bouton d'action, une zone d'édition, etc... bref de koi modifier ces options.

    En fait je voudrais une interface qui en fonction des options présentes, affiche de quoi les modifier.

    Pour l'instant, j'édite un fichier .m ressemblant à celui de l'exemple de simple_gui de matlab, au fur et a mesure du code, puis je le lance à la fin ... Avez vous une autre solution ?
    Euh...Je n'ai rien compris
    Un exemple ?

  3. #3
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Par défaut
    assignin :

    l'intéret de faire ça est que toutes mes variables sont dans la structure handles .

    Handles.option.methode dans mon cas est une variable, déjà définie même, je veux la modifier par assignin. Le truc est que le nom de la variable est modifié est définie avant, dans mon code. Ce nom est donc sous forme de chaine de caractere. Donc pour l'évaluer, pas de problème, eval(methode) fonctionne tres bien, mais pas assignin.

    interface:

    Je veux juste une interface, qui propose la modification de toutes les variables présentes par exemple. Imaginons j ai 4 varaibles char : a, b , c et d . Je voudrais un gui , creer automatiquement qui permet de modifier A, b , c d. ET si il y avait une variable d, qu'il permette la modification de cette variable. C'est pour un programme évolutif, ou les gens rajoutent leurs options , leurs fonctions. Et pour cca, je ne peux définir l'interface d'avance.

  4. #4
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Citation Envoyé par milach Voir le message
    assignin :

    l'intéret de faire ça est que toutes mes variables sont dans la structure handles .

    Handles.option.methode dans mon cas est une variable, déjà définie même, je veux la modifier par assignin. Le truc est que le nom de la variable est modifié est définie avant, dans mon code. Ce nom est donc sous forme de chaine de caractere. Donc pour l'évaluer, pas de problème, eval(methode) fonctionne tres bien, mais pas assignin.
    Si c'est juste methode que tu veux évaluer as-tu pensé aux champs dynamiques ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    handles.option.(methode)=methode_1;
    Citation Envoyé par milach Voir le message
    interface:

    Je veux juste une interface, qui propose la modification de toutes les variables présentes par exemple. Imaginons j ai 4 varaibles char : a, b , c et d . Je voudrais un gui , creer automatiquement qui permet de modifier A, b , c d. ET si il y avait une variable d, qu'il permette la modification de cette variable. C'est pour un programme évolutif, ou les gens rajoutent leurs options , leurs fonctions. Et pour cca, je ne peux définir l'interface d'avance.
    je vois un peu mieux et je pense avoir une idée mais là sans MATLAB difficile. Si j'ai le temps ce soir...

  5. #5
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Par défaut
    en fait j'ai des options (ce n'est pas fixé mais je fais toujours comme ça ) . Voilà une arborescence d'exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    %option
    	%option.binarisation
    		option.binarisation.methode='M1';
    			option.binarisation.M1.option1=2;
    			option.binarisation.M1.option2=4;
    		option.binarisation.methode='M2';
    Imaginons j'ai un dossier où dedans j'ai deux *.m : M1.m et M2.m. gràce à un uigetfile ou un truc du genre, j'affiche tous les fichiers .m de ce dossier sous forme d'une liste. L'opérateur clique sur ce qui veut, bref je récupère le nom du fichier choisi, auxquel j'enlève le '.m'. Je me retrouve donc soit avec M1 soit avec M2. Donc la je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    assignin('caller',current_methode,selection)
    avec current methode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     selection='M1' %par exemple phase='binarisation'; % il y en a plusieurs ... c'est une grosse arborescence d'option, c'est comme si je faisais du langage objet sous matlab en fait ...  current_methode=['option.' phase '.' selection];

  6. #6
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    En quoi donc est-ce différent de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    selection='M1';
    phase='binarisation';
    option.(phase).(selection)=selection;%là je suis pas sure de ce que tu veux mettre

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

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