Bonjour à tous,
Je permets de créer un poste car je fais face à un problème "d'architecture" de mon code Matlab et malgré des recherche sur la toile, je n'ai pas encore trouvé la solution adéquate.
Alors voilà, j'ai repris une application Matlab avec interface graphique mélangeant handles-set-get-setappdata-getappdata/variables globales-locales, code généré par le Guide, code en ligne de commande pour créé les objets graphiques et les traiter.
Après analyse du code j'ai décidé de tout reprendre de zéro car le maintien du code et la mise en place de d'amélioration était presque impossible.
Je me suis alors lancer dans une version où tout était codé en lignes de commandes et passait une structures de données globale sauvegardant toutes les informations... malheureusement, malgré la clarté de mon code, mes responsables ont préféré que je bascule tout mon code en utilisant le Guide. Bref, voici pour le contexte.
J'ai aujourd'hui une fenêtre (figure) principale généré par le Guide on l'on entre des paramètres, et là je souhaiterais pouvoir lancer un nouvelle fenêtre (figure) contenant toutes les résultat de mes simulations indexé dans des onglets (un par simulation s'il y en a plusieurs) et divers points me posent problèmes:
- Dans ma première version à la main en ligne de code, j'arrivais à lancer une nouvelle fenêtre par simulation aisément, or depuis que je passé sur la version "Guide", je dois avoir un souci de handles, car à chaque fois le code me réécris sur la nouvelle fenêtre courante (en gros une seule nouvelle fenêtre est créée et actualisée).
Voici pour illustration la commande qui lance la nouvelle figure, code qui fonctionnait en ligne de codes mais plus avec le Guide et je ne comprends pas pourquoi...
"I" étant l'indice de chaque simulation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for I=1:nbSorties FigureSimulation(handles.figurePrincipale, I); end
Donc j'espère que quelqu'un pourras éclairer ma lanterne sur ce premier point?
- Ensuite, une fois que ce problème résolu, j'aimerais savoir si au lieu de créer de nouvelles figures à chaque simulation, on ne pourrait pas créer une unique nouvelle figure et indexer par des onglets pour chaque simulation, j'ai aperçu le paramètre "WindowStyle" avec l'argument "docked", est-ce la bonne piste pour réaliser ce que je souhaite?
- Enfin, j'aimerais avoir une précision sur l'utilisation du handles via "appdata" via "setappdata/getappdata", de ce que j'ai compris, lorsque l'on crée une variable, via cette méthode, elle à sont propre workspace et est accessible via "getappdata" partout dans l'application et mise-à-jour partout dans l'application avec "setappdata" et ce quelque soit la fonction générée par le guide. Quelqu'un pourrait-il me confirmer dans mes dire ou m'expliquer le cas échéant quelle serait mon erreur de compréhension? Je pose cette question car j'ai là encore des problèmes qui me sont apparus...
Si jamais vous avez connaissance d'une doc' ou un autre topic répondant clairement à mes questions, je suis preneur, j'ai lu pas mal de choses sur le sujet certes, mais j'en ai sans doute manqué!
Merci d'avance pour votre aide.
Basto
Partager