Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Glade und gtkmm

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Benj
Gast





BeitragVerfasst am: 22. Dez 2006 23:30   Titel: Glade und gtkmm

Hallo,

ich möchte eine Oberfläche für ein Programm mit Glade erstellen und gtkmm-Code erzeugen lassen. Soweit ist das auch kein Problem, aber wie kann ich in einem Signalhandler auf Widgets zugreifen, z.B. nach Klick auf einen Button einen Text in einem Textfeld setzen?

Kann mir da jemand helfen? Vielen Dank im Voraus.

Grüße Benj
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 23. Dez 2006 12:58   Titel:

In Signalhandlern macht man am besten gar nichts außer Variablen zu setzen. Du musst also die Hauptschleife (die X-Eventloop vermutlich) eine Variable überwachen lassen und dann dort die eigentliche Aktion ausführen.

Um welches Signal geht es überhaupt?

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

Benj
Gast





BeitragVerfasst am: 25. Dez 2006 17:28   Titel:

Hallo,

zuerst mal Danke für die schnelle Antwort.

Ich glaube, ich habe meine Frage etwas ungenau formuliert. Es geht nicht so sehr um Signalbehandlung. Das Problem ist folgendes: Glade erzeugt eine Klasse window1_glade, in der die Fensterelemente erzeugt werden. Von dieser Klasse ist die Klasse window1 abgeleitet, die die Signalhandler und andere evtl. selbst geschriebene Methoden beinhaltet. Wenn ich jetzt in einer Methode dieser Klasse z.B. Text in einem Textfeld eintragen möchte, kann ich nicht direkt darauf zugreifen, da das Handle für das Element in window1_glade private ist und daher in window1 nicht sichtbar.
Meine Frage ist: Wie bekommen ich ein Handle auf dieses Textfeld (oder ein anderes Widget) im Fenster.

Benj
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 25. Dez 2006 18:10   Titel:

Vergiss erstmal den Terminus "Signal", der ist unter Unix anders belegt. Du meinst Events.

Ohne Glade genau zu kennen, erkenne ich zwei prinzipielle Möglichkeiten:

1. Die Klasse, deren Fenster du verändern willst hat eine "configure"-Methode. Dann nutze diese, anstatt direkt auf Klassenvariablen zuzugreifen.
2. Ist diese Methode nicht vorhanden, leite die Klasse ab und füge eine solche Methode hinzu.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy