ein Kapitel zurück                                           ein Kapitel weiter

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:

  1. Mit gtk_widgetname_new erzeugen wir ein neues Widget.
  2. Wir verbinden unser Widget mit Signale und Ereignissen (gtk_signal_connect)
  3. Wir setzen die Attribute des Widget (optional)
  4. Wir packen das Widget in den Containter (siehe Kapitel zuvor)
  5. 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.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf