Fenster wechseln über eine GUI Anwendung (Makro)

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
ReneB
Posts: 2
Joined: Thu Mar 16, 2017 8:55 am

Fenster wechseln über eine GUI Anwendung (Makro)

Postby ReneB » Thu Mar 16, 2017 9:08 am

Hallo Leute,

ich bin gerade dabei eine GUI Anwendung zu schreiben, die über diverse Methoden verfügt um Objekte im aktuellen aktivierten Dokument zu bearbeiten.

Um dieses GUI Benutzerfreundlich zu gestalten habe ich 2 Buttons eingebaut, die jeweils die Funktion, wechselFensterLinks und wechselFensterRechts besitzen.

Ich möchte, das man mit einem Klick einfach von Dokument zu Dokument wechselt.
Leider gelingt mir das nur zum Teil!!

Meine Methoden aktivieren zwar das Dokument, aber das neu aktivierte Dokument wird nicht im Fenster angezeigt.
So als ob ein "aktualisieren" fehlen würde...

Könnt ihr mir da weiterhelfen?

Code: Select all

      def wechselnFensterRechts(self):
         if(FreeCADGui.ActiveDocument.Document.Name[7:]==''):
            fenster_nummer=0
         else:
            fenster_nummer=int(FreeCADGui.ActiveDocument.Document.Name[7:])         

         if(fenster_nummer < len(App.listDocuments())):
            new_fenster=fenster_nummer+1
            new_doc_name="Unnamed"+str(new_fenster)
            App.setActiveDocument(new_doc_name)
            App.ActiveDocument=App.getDocument(new_doc_name)
            Gui.ActiveDocument=Gui.getDocument(new_doc_name)
            Gui.SendMsgToActiveView("ViewFit")
            #App.ActiveDocument.recompute()      

      def wechselnFensterLinks(self):
         if(FreeCADGui.ActiveDocument.Document.Name[7:]==''):
            fenster_nummer=0
         else:
            fenster_nummer=int(FreeCADGui.ActiveDocument.Document.Name[7:])
         
         if(fenster_nummer >0):
            new_fenster=fenster_nummer-1
            if (new_fenster==0):
               App.setActiveDocument("Unnamed")
               App.ActiveDocument=App.getDocument("Unnamed")
               Gui.ActiveDocument=Gui.getDocument("Unnamed")
               Gui.SendMsgToActiveView("ViewFit")
               #App.ActiveDocument.recompute()
            else:
               new_doc_name="Unnamed"+str(new_fenster)
               App.setActiveDocument(new_doc_name)
               App.ActiveDocument=App.getDocument(new_doc_name)
               Gui.ActiveDocument=Gui.getDocument(new_doc_name)
               Gui.SendMsgToActiveView("ViewFit")
               #App.ActiveDocument.recompute()
ReneB
Posts: 2
Joined: Thu Mar 16, 2017 8:55 am

Re: Fenster wechseln über eine GUI Anwendung (Makro)

Postby ReneB » Thu Mar 16, 2017 1:23 pm

Hat sich erledigt.


Der Code um zwischen den Fenstern zu wechseln ist folgender:

Code: Select all

App.Gui.setActiveDocument(new_doc_name)



Beitrag kann geschlossen werden.
chrisb
Posts: 1846
Joined: Tue Mar 17, 2015 9:14 am

Re: Fenster wechseln über eine GUI Anwendung (Makro)

Postby chrisb » Thu Mar 16, 2017 6:49 pm

ReneB wrote:Beitrag kann geschlossen werden.
Schließen erfolgt dadurch, dass Du den Titel des ersten Beitrags änderst und den Text "[gelöst]" davorschreibst.