====== GtkWindow ======
Ein Fenster stellt das grundlegende Element jeder aktuellen Benutzeroberfläche dar.
===== Allgemeine Informationen =====
{{ :gui:gtk:widgets:window.png?140|GtkWindow}}
* **Basisklassen:** \\ ''GObject => GInitiallyUnowned => GtkObject => GtkWidget => GtkContainer => GtkBin''
* **Von ''GtkWindow'' abgeleitete Widgets:** ''GtkDialog'', ''GtkAssistant'', ''GtkOffscreenWindow'', ''GtkPlug''
* **Anmerkungen:** Implementiert ''GtkBuildable''.
* **Referenz:** [[http://library.gnome.org/devel/gtk/stable/GtkWindow.html|GtkWindow]]
===== Beispiel =====
#include
int main (int argc, char *argv[])
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Proggen.org!");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
===== Wichtige Funktionen =====
==== gtk_window_new ====
GtkWidget * gtk_window_new (GtkWindowType type);
\\
Erstellt ein neues ''GtkWindow''
* ''type'': ''GTK_WINDOW_TOPLEVEL'' für ein Fenster mit Titelleiste, ''GTK_WINDOW_POPUP'' für ein Popup-Fenster
* **Return value**: Ein neues ''GtkWindow''
==== gtk_window_set_title ====
void gtk_window_set_title (GtkWindow *window, const gchar *title)
\\
Setzt den Titel des ''GtkWindow''. GTK+ selbst hat keine Kontrolle darüber, wie oder ob der Titel angezeigt wird. Das entscheidet der Fenstermanager zur Laufzeit.
* ''window'': Ein ''GtkWindow''
* ''title'': Der neue Titel für das Fenster
==== gtk_window_set_resizable ====
void gtk_window_set_resizable (GtkWindow *window, gboolean resizable);
\\
Legt fest, ob der Benutzer die Größe des Fensters verändern darf.
* ''window'': Ein ''GtkWindow''
* ''resizable'': ''TRUE'', falls der Benutzer die Größe verändern darf (Standard), sonst ''FALSE''
==== gtk_window_add_accel_group ====
void gtk_window_add_accel_group (GtkWindow *window, GtkAccelGroup *accel_group);
\\
Verbindet ''accel_group'' mit ''window''. Siehe auch [[gui:gtk:basics:menus|Tutorial zu Menüleisten und Shortcuts]].
Den gegenteiligen Effekt erzielt ''gtk_window_remove_accel_group'', wobei die Funktionsargumente gleich sind.
* ''window'': Ein ''GtkWindow''
* ''accel_group'': Eine ''GtkAccelGroup''
==== gtk_window_set_default_size ====
void gtk_window_set_default_size (GtkWindow *window, gint width, gint height);
\\
Setzt die Größe des Fensters in Pixeln, kann vom Benutzer geändert werden.
* ''window'': Ein ''GtkWindow''
* ''width'': Die Breite, die das Fenster haben soll.
* ''height'': Die Höhe, die das Fenster haben soll.
==== gtk_window_set_icon ====
void gtk_window_set_icon (GtkWindow *window, GdkPixbuf *icon);
\\
Setzt das Icon, das angezeigt wird, wenn das Fenster minimiert wird. Einige Fenstermanager setzen es auch in die Titelleiste des Fensters.
Für Informationen zu GdkPixbuf, siehe das Tutorial [[gui:gtk:advanced:pixbuf|Bilder laden mit GdkPixbuf]].
* ''window'': Ein ''GdkPixbuf''
* ''icon'': Ein ''GdkPixbuf'', oder NULL
====== ======
-----
**[[gui:gtk:widgets:start|Hoch zur Übersicht]]**