WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Alle vom dem HauptGUI erstellten Figures anzeigen

 

stealth_mx
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 94
Anmeldedatum: 15.06.13
Wohnort: ---
Version: 2013b
     Beitrag Verfasst am: 11.03.2015, 15:16     Titel: Alle vom dem HauptGUI erstellten Figures anzeigen
  Antworten mit Zitat      
Hallo,
ich habe in meinem Haupt GUI, die möglichkeit an mehreren Projekten gleichzeitig parallel zu arbeiten, um z.B. die Ergebnisse vergleichen zu können.

Alle Projekte sind in einer Liste. Ich kann mir also einen Eintrag ausschen und ihn anschließend öffnen. Dafür erstelle ich ein neues Fenster und initialisiere alles aus dem Projektspeicher.

Ich möchte jetzt verhindern, dass ein Projekt zweimal geöffnet wird. Jedes Projekt hat eine einmaligen Namen, diesen Namen nutze ich auch um die Fenster zu unterscheiden.

Wie kriege ich alle geöffneten Fenster meines HauptGUIs raus?
Ich möchte
Zitat:

figHandles = findobj('Type','figure');
figHandles = findall(0,'Type','figure');

nicht nutzen, da ich nicht davon ausgehen will, dass ich der einzige Benutzer des Base Speichers bin.

Außerdem möchte ich, wenn ich das HauptGUI schließe alle geöffnten Projekte mitschließen. Ohne dabei alle Fremdfenster mitzuschließen.

Minibeispiel

Liste = Projekt_1, Projekt_2, Projekt_3

Ich öffne jetzt Projekt_1 und Projekt_3
Nun habe ich zwei offene Fenster neben meinem GUI.
Wenn ich jetzt im HauptGUI versuche Projekt_1 zu öffnen möchte ich einen Fehler bekommen, dass das Projekts bereits geöffnet ist.

Jetzt schließe ich das HauptGUI und sowohl Projekt_1 als auch Projekt_3 schließen mit.

Weiß jemand wie ich es realisieren kann?

Grüße
Private Nachricht senden Benutzer-Profile anzeigen


Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.03.2015, 08:31     Titel:
  Antworten mit Zitat      
Hallo stealth_mx,

Da die figures nicht abhängig voneinander sind kommst du über children nicht weiter.
Ich würde den figures einen bestimmten Tag mitgeben. Z.B.
Code:
figure('tag','MyProjectFigure')

Dann kannst du mit findobj oder findall sicher sein genau die Fenster zu finden die du suchst.
Dann kannst du übeprüfen ob das entspechende Fenster z.B. über den Namen oder ein anderes Attribut, dass du vergibst z.B. bei UserData Projekt_1 oder Projekt_2 ist.

Gruß Lord nibbler
 
stealth_mx
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 94
Anmeldedatum: 15.06.13
Wohnort: ---
Version: 2013b
     Beitrag Verfasst am: 12.03.2015, 10:40     Titel:
  Antworten mit Zitat      
Hi, ja habe das jetzt so umgesetzt. Funktioniert auch wie es soll, aber wirkt irgendwie nicht sonderlich clever die Methode.
Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 12.03.2015, 14:16     Titel: Re: Alle vom dem HauptGUI erstellten Figures anzeigen
  Antworten mit Zitat      
Hallo stealth_mx,

Ich verwende für die Identifikation von "Unter-Fenstern", die zu einem Haupt-GUI gehören, entweder auch die Tags, oder ich speichere die Handles der neu erstellten Unter-Fenster in den ApplicationData oder UserData des Main-GUI. In der DeleteFcn des Main-GUI werden dann alle diese Fenster ebenfalls geschlossen, wobei vorher noch überprüft wird, ob sie bereits von Hand geschlossen wurden. In den DeleteFcn der Unterfenster kann man auch Code eintragen, der den Handle in den ApplicationData des Haupt-GUI wieder entfernt.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
stealth_mx
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 94
Anmeldedatum: 15.06.13
Wohnort: ---
Version: 2013b
     Beitrag Verfasst am: 12.03.2015, 14:26     Titel:
  Antworten mit Zitat      
Also du merkst einfach in dem HauptGUI was für Fenster du öffnest bzw welche du schließt. Und am Ende bzw wann immer du es auch brauchst fragst du ob das Fenster offen/geschlossen ist. Daran habe ich auch gedacht, aber ging davon aus, das es irgendwie "einfachere" Variante gibt.


Nagut danke für die Info.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.