







|

Sie haben nun schon des öfteren gesehen, wie wir Widgets erstellet haben
bzw. wie wir sie anzeigen können. Im Prinzip werden immer folgende 5
Schritte unternommen um ein Widget zu erzeugen:
- Mit gtk_widgetname_new erzeugen wir ein neues Widget.
- Wir verbinden unser Widget mit Signale und Ereignissen (gtk_signal_connect)
- Wir setzen die Attribute des Widget (optional)
- Wir packen das Widget in den Containter (siehe Kapitel zuvor)
- Wir zeigen das Widget an (gtk_show_widget)
Zu Punkt 5 muss man natürlich anmerken, dass man ein Widget nicht gleich
anzeigen muss, man kann es auch noch mit gtk_widget_hide verstecken.
Hierzu der Syntax dieser beiden Funktionen:
void gtk_widget_show(GtkWidget *widget);
void gtk_widget_hide(GtkWidget *widget);
Nun kann man natürlich anstatt bei jedem erzeugtem Widget gtk_widget_show
bzw. gtk_widget_hide, aufzurufen, alles mit einer Funktion anzeigen bzw. verstecken:
void gtk_widget_show_all(GtkWidget *widget);
void gtk_widget_hide_all(GtkWidget *widget);
Damit wird rekursiv die Funktion gtk_widget_show bzw. gtk_widget_hide
auf alle Kindern-Widgets die sich im Container befinden aufgerufen.
Nun folgt ein kleiner Abschnitt bei dem sie etwas mehr über GTK+ erfahren
der aber nicht Entscheidend für das weitere Verständnis dieses Tutorials ist.
Um GTK+ zu verstehen, müssen sie das X-Window-System ein wenig verstehen.
Ich gehen jetzt einfach mal davon aus das Sie ein wenig zum X-Window-System
verstehen. Sie sollten wenigstens wissen was ein X-Server ist, das X Netzwerk-
Transparent ist, was ein Window Manager ist usw.
X-Window ist der "Boss" aller Windows (Fenster) von dem alle anderen
Fenster und Libs abhängen. Ohne X-Window gäbe es auf Linux kein KDE oder
GTK+. Dies soll jetzt aber nicht heißen, dass
GtkWindow ein X-Window ist, sondern darauf basiert.
Der X-Server ist das Hauptfenster (root window), welcher kein Eltern-Fenster
mehr hat. Somit sind die Kinder-Fenster (child window) meistens die
Window Manager welche schön bunt sind, eine Titelleiste haben und auf der
viele Applikationen laufen. Einfach halt das Look & Feel welches man heute
kennt.
Wichtig ist, das sie wissen, dass GTK+ nicht X-Window direkt anspricht,
sondern die Gdk-Library, welche dazwischen liegt. Die Gdk-Lib ist also
die Basis von GTK+ wenn sie zum Beispiel eine Grafik auf dem Bildschirm
zeichnen wollen.
Ich will, das ganze nicht noch mehr hinausziehen, aber ich finde ein wenig Hintergrundwissen
kann nicht Schaden.

© 2001,2002 Jürgen Wolf
|