summaryrefslogtreecommitdiff
path: root/gtk/gtkwindow.c
diff options
context:
space:
mode:
authorTim Janik <timj@src.gnome.org>1998-01-17 07:52:38 +0000
committerTim Janik <timj@src.gnome.org>1998-01-17 07:52:38 +0000
commit8d721e5b7571526e498a275fa53179f8741e9abd (patch)
tree7e062bfe95304f4f76d7f1b61d240f39de416297 /gtk/gtkwindow.c
parent8dc9cd53ff0ecdfe983155327b636b6db59ccb56 (diff)
downloadgtk+-8d721e5b7571526e498a275fa53179f8741e9abd.tar.gz
more *_get_arg/*_set_arg implementations
-timj
Diffstat (limited to 'gtk/gtkwindow.c')
-rw-r--r--gtk/gtkwindow.c35
1 files changed, 33 insertions, 2 deletions
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 1ab8d70647..0401fc2b6f 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -60,6 +60,9 @@ static void gtk_window_init (GtkWindow *window);
static void gtk_window_set_arg (GtkWindow *window,
GtkArg *arg,
guint arg_id);
+static void gtk_window_get_arg (GtkWindow *window,
+ GtkArg *arg,
+ guint arg_id);
static void gtk_window_destroy (GtkObject *object);
static void gtk_window_show (GtkWidget *widget);
static void gtk_window_hide (GtkWidget *widget);
@@ -123,7 +126,7 @@ gtk_window_get_type ()
(GtkClassInitFunc) gtk_window_class_init,
(GtkObjectInitFunc) gtk_window_init,
(GtkArgSetFunc) gtk_window_set_arg,
- (GtkArgGetFunc) NULL,
+ (GtkArgGetFunc) gtk_window_get_arg,
};
window_type = gtk_type_unique (gtk_bin_get_type (), &window_info);
@@ -228,7 +231,7 @@ gtk_window_set_arg (GtkWindow *window,
switch (arg_id)
{
case ARG_TYPE:
- window->type = GTK_VALUE_ENUM(*arg);
+ window->type = GTK_VALUE_ENUM (*arg);
break;
case ARG_TITLE:
gtk_window_set_title (window, GTK_VALUE_STRING(*arg));
@@ -245,6 +248,34 @@ gtk_window_set_arg (GtkWindow *window,
}
}
+static void
+gtk_window_get_arg (GtkWindow *window,
+ GtkArg *arg,
+ guint arg_id)
+{
+ switch (arg_id)
+ {
+ case ARG_TYPE:
+ GTK_VALUE_ENUM(*arg) = window->type;
+ break;
+ case ARG_TITLE:
+ GTK_VALUE_STRING(*arg) = g_strdup (window->title);
+ break;
+ case ARG_AUTO_SHRINK:
+ GTK_VALUE_BOOL(*arg) = window->auto_shrink;
+ break;
+ case ARG_ALLOW_SHRINK:
+ GTK_VALUE_BOOL(*arg) = window->allow_shrink;
+ break;
+ case ARG_ALLOW_GROW:
+ GTK_VALUE_BOOL(*arg) = window->allow_grow;
+ break;
+ default:
+ arg->type = GTK_TYPE_INVALID;
+ break;
+ }
+}
+
GtkWidget*
gtk_window_new (GtkWindowType type)
{