mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-12 13:30:19 +00:00
new functions gtk_box_reorder_child, gtk_box_query_child_packing and
Sun Jan 18 03:57:52 1998 Tim Janik <timj@psynet.net> * gtk/gtkbox.h: * gtk/gtkbox.c: new functions gtk_box_reorder_child, gtk_box_query_child_packing and gtk_box_set_child_packing to allow modification of the child linkage after the widget tree is setup. * gtk/gtkbox.c: * gtk/gtklabel.c: * gtk/gtkwindow.c: * gtk/gtkwidget.c: * gtk/gtkobject.c: gtk_*_get_arg() and gtk_*_set_arg() fixes and implementations.
This commit is contained in:
parent
3f44ca9487
commit
40808fa050
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
|||||||
|
Sun Jan 18 03:57:52 1998 Tim Janik <timj@psynet.net>
|
||||||
|
|
||||||
|
* gtk/gtkbox.h:
|
||||||
|
* gtk/gtkbox.c: new functions gtk_box_reorder_child,
|
||||||
|
gtk_box_query_child_packing and gtk_box_set_child_packing to
|
||||||
|
allow modification of the child linkage after the widget tree
|
||||||
|
is setup.
|
||||||
|
|
||||||
|
* gtk/gtkbox.c:
|
||||||
|
* gtk/gtklabel.c:
|
||||||
|
* gtk/gtkwindow.c:
|
||||||
|
* gtk/gtkwidget.c:
|
||||||
|
* gtk/gtkobject.c: gtk_*_get_arg() and gtk_*_set_arg() fixes
|
||||||
|
and implementations.
|
||||||
|
|
||||||
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
||||||
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
||||||
account
|
account
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
Sun Jan 18 03:57:52 1998 Tim Janik <timj@psynet.net>
|
||||||
|
|
||||||
|
* gtk/gtkbox.h:
|
||||||
|
* gtk/gtkbox.c: new functions gtk_box_reorder_child,
|
||||||
|
gtk_box_query_child_packing and gtk_box_set_child_packing to
|
||||||
|
allow modification of the child linkage after the widget tree
|
||||||
|
is setup.
|
||||||
|
|
||||||
|
* gtk/gtkbox.c:
|
||||||
|
* gtk/gtklabel.c:
|
||||||
|
* gtk/gtkwindow.c:
|
||||||
|
* gtk/gtkwidget.c:
|
||||||
|
* gtk/gtkobject.c: gtk_*_get_arg() and gtk_*_set_arg() fixes
|
||||||
|
and implementations.
|
||||||
|
|
||||||
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
||||||
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
||||||
account
|
account
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
Sun Jan 18 03:57:52 1998 Tim Janik <timj@psynet.net>
|
||||||
|
|
||||||
|
* gtk/gtkbox.h:
|
||||||
|
* gtk/gtkbox.c: new functions gtk_box_reorder_child,
|
||||||
|
gtk_box_query_child_packing and gtk_box_set_child_packing to
|
||||||
|
allow modification of the child linkage after the widget tree
|
||||||
|
is setup.
|
||||||
|
|
||||||
|
* gtk/gtkbox.c:
|
||||||
|
* gtk/gtklabel.c:
|
||||||
|
* gtk/gtkwindow.c:
|
||||||
|
* gtk/gtkwidget.c:
|
||||||
|
* gtk/gtkobject.c: gtk_*_get_arg() and gtk_*_set_arg() fixes
|
||||||
|
and implementations.
|
||||||
|
|
||||||
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
||||||
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
||||||
account
|
account
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
Sun Jan 18 03:57:52 1998 Tim Janik <timj@psynet.net>
|
||||||
|
|
||||||
|
* gtk/gtkbox.h:
|
||||||
|
* gtk/gtkbox.c: new functions gtk_box_reorder_child,
|
||||||
|
gtk_box_query_child_packing and gtk_box_set_child_packing to
|
||||||
|
allow modification of the child linkage after the widget tree
|
||||||
|
is setup.
|
||||||
|
|
||||||
|
* gtk/gtkbox.c:
|
||||||
|
* gtk/gtklabel.c:
|
||||||
|
* gtk/gtkwindow.c:
|
||||||
|
* gtk/gtkwidget.c:
|
||||||
|
* gtk/gtkobject.c: gtk_*_get_arg() and gtk_*_set_arg() fixes
|
||||||
|
and implementations.
|
||||||
|
|
||||||
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
||||||
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
||||||
account
|
account
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
Sun Jan 18 03:57:52 1998 Tim Janik <timj@psynet.net>
|
||||||
|
|
||||||
|
* gtk/gtkbox.h:
|
||||||
|
* gtk/gtkbox.c: new functions gtk_box_reorder_child,
|
||||||
|
gtk_box_query_child_packing and gtk_box_set_child_packing to
|
||||||
|
allow modification of the child linkage after the widget tree
|
||||||
|
is setup.
|
||||||
|
|
||||||
|
* gtk/gtkbox.c:
|
||||||
|
* gtk/gtklabel.c:
|
||||||
|
* gtk/gtkwindow.c:
|
||||||
|
* gtk/gtkwidget.c:
|
||||||
|
* gtk/gtkobject.c: gtk_*_get_arg() and gtk_*_set_arg() fixes
|
||||||
|
and implementations.
|
||||||
|
|
||||||
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
||||||
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
||||||
account
|
account
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
Sun Jan 18 03:57:52 1998 Tim Janik <timj@psynet.net>
|
||||||
|
|
||||||
|
* gtk/gtkbox.h:
|
||||||
|
* gtk/gtkbox.c: new functions gtk_box_reorder_child,
|
||||||
|
gtk_box_query_child_packing and gtk_box_set_child_packing to
|
||||||
|
allow modification of the child linkage after the widget tree
|
||||||
|
is setup.
|
||||||
|
|
||||||
|
* gtk/gtkbox.c:
|
||||||
|
* gtk/gtklabel.c:
|
||||||
|
* gtk/gtkwindow.c:
|
||||||
|
* gtk/gtkwidget.c:
|
||||||
|
* gtk/gtkobject.c: gtk_*_get_arg() and gtk_*_set_arg() fixes
|
||||||
|
and implementations.
|
||||||
|
|
||||||
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
||||||
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
||||||
account
|
account
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
Sun Jan 18 03:57:52 1998 Tim Janik <timj@psynet.net>
|
||||||
|
|
||||||
|
* gtk/gtkbox.h:
|
||||||
|
* gtk/gtkbox.c: new functions gtk_box_reorder_child,
|
||||||
|
gtk_box_query_child_packing and gtk_box_set_child_packing to
|
||||||
|
allow modification of the child linkage after the widget tree
|
||||||
|
is setup.
|
||||||
|
|
||||||
|
* gtk/gtkbox.c:
|
||||||
|
* gtk/gtklabel.c:
|
||||||
|
* gtk/gtkwindow.c:
|
||||||
|
* gtk/gtkwidget.c:
|
||||||
|
* gtk/gtkobject.c: gtk_*_get_arg() and gtk_*_set_arg() fixes
|
||||||
|
and implementations.
|
||||||
|
|
||||||
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
Sat Jan 17 18:06:35 1998 Owen Taylor <owt1@cornell.edu>
|
||||||
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
* gdk/gdk.c (gdk_events_pending): Take putback events into
|
||||||
account
|
account
|
||||||
|
139
gtk/gtkbox.c
139
gtk/gtkbox.c
@ -275,6 +275,145 @@ gtk_box_set_spacing (GtkBox *box,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gtk_box_reorder_child (GtkBox *box,
|
||||||
|
GtkWidget *child,
|
||||||
|
guint pos)
|
||||||
|
{
|
||||||
|
GList *list;
|
||||||
|
|
||||||
|
g_return_if_fail (box != NULL);
|
||||||
|
g_return_if_fail (GTK_IS_BOX (box));
|
||||||
|
g_return_if_fail (child != NULL);
|
||||||
|
|
||||||
|
list = box->children;
|
||||||
|
while (list)
|
||||||
|
{
|
||||||
|
GtkBoxChild *child_info;
|
||||||
|
|
||||||
|
child_info = list->data;
|
||||||
|
if (child_info->widget == child)
|
||||||
|
break;
|
||||||
|
|
||||||
|
list = list->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (list)
|
||||||
|
{
|
||||||
|
GList *tmp_list;
|
||||||
|
|
||||||
|
if (list->next)
|
||||||
|
list->next->prev = list->prev;
|
||||||
|
if (list->prev)
|
||||||
|
list->prev->next = list->next;
|
||||||
|
|
||||||
|
tmp_list = box->children;
|
||||||
|
while (pos && tmp_list->next)
|
||||||
|
{
|
||||||
|
pos--;
|
||||||
|
tmp_list = tmp_list->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pos)
|
||||||
|
{
|
||||||
|
tmp_list->next = list;
|
||||||
|
list->prev = tmp_list;
|
||||||
|
list->next = NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (tmp_list->prev)
|
||||||
|
tmp_list->prev->next = list;
|
||||||
|
else
|
||||||
|
box->children = list;
|
||||||
|
list->prev = tmp_list->prev;
|
||||||
|
tmp_list->prev = list;
|
||||||
|
list->next = tmp_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GTK_WIDGET_VISIBLE (child) && GTK_WIDGET_VISIBLE (box))
|
||||||
|
gtk_widget_queue_resize (child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gtk_box_query_child_packing (GtkBox *box,
|
||||||
|
GtkWidget *child,
|
||||||
|
gint *expand,
|
||||||
|
gint *fill,
|
||||||
|
gint *padding,
|
||||||
|
GtkPackType *pack_type)
|
||||||
|
{
|
||||||
|
GList *list;
|
||||||
|
GtkBoxChild *child_info;
|
||||||
|
|
||||||
|
g_return_if_fail (box != NULL);
|
||||||
|
g_return_if_fail (GTK_IS_BOX (box));
|
||||||
|
g_return_if_fail (child != NULL);
|
||||||
|
|
||||||
|
list = box->children;
|
||||||
|
while (list)
|
||||||
|
{
|
||||||
|
child_info = list->data;
|
||||||
|
if (child_info->widget == child)
|
||||||
|
break;
|
||||||
|
|
||||||
|
list = list->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (list)
|
||||||
|
{
|
||||||
|
if (expand)
|
||||||
|
*expand = child_info->expand;
|
||||||
|
if (fill)
|
||||||
|
*fill = child_info->fill;
|
||||||
|
if (padding)
|
||||||
|
*padding = child_info->padding;
|
||||||
|
if (pack_type)
|
||||||
|
*pack_type = child_info->pack;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gtk_box_set_child_packing (GtkBox *box,
|
||||||
|
GtkWidget *child,
|
||||||
|
gint expand,
|
||||||
|
gint fill,
|
||||||
|
gint padding,
|
||||||
|
GtkPackType pack_type)
|
||||||
|
{
|
||||||
|
GList *list;
|
||||||
|
GtkBoxChild *child_info;
|
||||||
|
|
||||||
|
g_return_if_fail (box != NULL);
|
||||||
|
g_return_if_fail (GTK_IS_BOX (box));
|
||||||
|
g_return_if_fail (child != NULL);
|
||||||
|
|
||||||
|
list = box->children;
|
||||||
|
while (list)
|
||||||
|
{
|
||||||
|
child_info = list->data;
|
||||||
|
if (child_info->widget == child)
|
||||||
|
break;
|
||||||
|
|
||||||
|
list = list->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (list)
|
||||||
|
{
|
||||||
|
child_info->expand = expand != FALSE;
|
||||||
|
child_info->fill = fill != FALSE;
|
||||||
|
child_info->padding = padding;
|
||||||
|
if (pack_type == GTK_PACK_END)
|
||||||
|
child_info->pack = GTK_PACK_END;
|
||||||
|
else
|
||||||
|
child_info->pack = GTK_PACK_START;
|
||||||
|
|
||||||
|
if (GTK_WIDGET_VISIBLE (child) && GTK_WIDGET_VISIBLE (box))
|
||||||
|
gtk_widget_queue_resize (child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_box_destroy (GtkObject *object)
|
gtk_box_destroy (GtkObject *object)
|
||||||
|
16
gtk/gtkbox.h
16
gtk/gtkbox.h
@ -80,6 +80,22 @@ void gtk_box_set_homogeneous (GtkBox *box,
|
|||||||
gint homogeneous);
|
gint homogeneous);
|
||||||
void gtk_box_set_spacing (GtkBox *box,
|
void gtk_box_set_spacing (GtkBox *box,
|
||||||
gint spacing);
|
gint spacing);
|
||||||
|
void gtk_box_reorder_child (GtkBox *box,
|
||||||
|
GtkWidget *child,
|
||||||
|
guint pos);
|
||||||
|
void gtk_box_query_child_packing (GtkBox *box,
|
||||||
|
GtkWidget *child,
|
||||||
|
gint *expand,
|
||||||
|
gint *fill,
|
||||||
|
gint *padding,
|
||||||
|
GtkPackType *pack_type);
|
||||||
|
void gtk_box_set_child_packing (GtkBox *box,
|
||||||
|
GtkWidget *child,
|
||||||
|
gint expand,
|
||||||
|
gint fill,
|
||||||
|
gint padding,
|
||||||
|
GtkPackType pack_type);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
131
gtk/gtkwidget.c
131
gtk/gtkwidget.c
@ -88,6 +88,8 @@ enum {
|
|||||||
ARG_HEIGHT,
|
ARG_HEIGHT,
|
||||||
ARG_VISIBLE,
|
ARG_VISIBLE,
|
||||||
ARG_SENSITIVE,
|
ARG_SENSITIVE,
|
||||||
|
ARG_CAN_FOCUS,
|
||||||
|
ARG_CAN_DEFAULT,
|
||||||
ARG_EVENTS,
|
ARG_EVENTS,
|
||||||
ARG_EXTENSION_EVENTS,
|
ARG_EXTENSION_EVENTS,
|
||||||
ARG_NAME,
|
ARG_NAME,
|
||||||
@ -134,6 +136,9 @@ static void gtk_widget_init (GtkWidget *widget);
|
|||||||
static void gtk_widget_set_arg (GtkWidget *widget,
|
static void gtk_widget_set_arg (GtkWidget *widget,
|
||||||
GtkArg *arg,
|
GtkArg *arg,
|
||||||
guint arg_id);
|
guint arg_id);
|
||||||
|
static void gtk_widget_get_arg (GtkWidget *widget,
|
||||||
|
GtkArg *arg,
|
||||||
|
guint arg_id);
|
||||||
static void gtk_real_widget_destroy (GtkObject *object);
|
static void gtk_real_widget_destroy (GtkObject *object);
|
||||||
static void gtk_real_widget_show (GtkWidget *widget);
|
static void gtk_real_widget_show (GtkWidget *widget);
|
||||||
static void gtk_real_widget_hide (GtkWidget *widget);
|
static void gtk_real_widget_hide (GtkWidget *widget);
|
||||||
@ -222,7 +227,7 @@ gtk_widget_get_type ()
|
|||||||
(GtkClassInitFunc) gtk_widget_class_init,
|
(GtkClassInitFunc) gtk_widget_class_init,
|
||||||
(GtkObjectInitFunc) gtk_widget_init,
|
(GtkObjectInitFunc) gtk_widget_init,
|
||||||
(GtkArgSetFunc) gtk_widget_set_arg,
|
(GtkArgSetFunc) gtk_widget_set_arg,
|
||||||
(GtkArgGetFunc) NULL,
|
(GtkArgGetFunc) gtk_widget_get_arg,
|
||||||
};
|
};
|
||||||
|
|
||||||
widget_type = gtk_type_unique (gtk_object_get_type (), &widget_info);
|
widget_type = gtk_type_unique (gtk_object_get_type (), &widget_info);
|
||||||
@ -254,6 +259,8 @@ gtk_widget_class_init (GtkWidgetClass *klass)
|
|||||||
gtk_object_add_arg_type ("GtkWidget::height", GTK_TYPE_INT, ARG_HEIGHT);
|
gtk_object_add_arg_type ("GtkWidget::height", GTK_TYPE_INT, ARG_HEIGHT);
|
||||||
gtk_object_add_arg_type ("GtkWidget::visible", GTK_TYPE_BOOL, ARG_VISIBLE);
|
gtk_object_add_arg_type ("GtkWidget::visible", GTK_TYPE_BOOL, ARG_VISIBLE);
|
||||||
gtk_object_add_arg_type ("GtkWidget::sensitive", GTK_TYPE_BOOL, ARG_SENSITIVE);
|
gtk_object_add_arg_type ("GtkWidget::sensitive", GTK_TYPE_BOOL, ARG_SENSITIVE);
|
||||||
|
gtk_object_add_arg_type ("GtkWidget::can_focus", GTK_TYPE_BOOL, ARG_CAN_FOCUS);
|
||||||
|
gtk_object_add_arg_type ("GtkWidget::can_default", GTK_TYPE_BOOL, ARG_CAN_DEFAULT);
|
||||||
gtk_object_add_arg_type ("GtkWidget::events", GTK_TYPE_GDK_EVENT_MASK, ARG_EVENTS);
|
gtk_object_add_arg_type ("GtkWidget::events", GTK_TYPE_GDK_EVENT_MASK, ARG_EVENTS);
|
||||||
gtk_object_add_arg_type ("GtkWidget::extension_events", GTK_TYPE_GDK_EVENT_MASK, ARG_EXTENSION_EVENTS);
|
gtk_object_add_arg_type ("GtkWidget::extension_events", GTK_TYPE_GDK_EVENT_MASK, ARG_EXTENSION_EVENTS);
|
||||||
gtk_object_add_arg_type ("GtkWidget::name", GTK_TYPE_STRING, ARG_NAME);
|
gtk_object_add_arg_type ("GtkWidget::name", GTK_TYPE_STRING, ARG_NAME);
|
||||||
@ -683,16 +690,16 @@ gtk_widget_set_arg (GtkWidget *widget,
|
|||||||
switch (arg_id)
|
switch (arg_id)
|
||||||
{
|
{
|
||||||
case ARG_X:
|
case ARG_X:
|
||||||
gtk_widget_set_uposition (widget, GTK_VALUE_INT(*arg), -2);
|
gtk_widget_set_uposition (widget, GTK_VALUE_INT (*arg), -2);
|
||||||
break;
|
break;
|
||||||
case ARG_Y:
|
case ARG_Y:
|
||||||
gtk_widget_set_uposition (widget, -2, GTK_VALUE_INT(*arg));
|
gtk_widget_set_uposition (widget, -2, GTK_VALUE_INT (*arg));
|
||||||
break;
|
break;
|
||||||
case ARG_WIDTH:
|
case ARG_WIDTH:
|
||||||
gtk_widget_set_usize (widget, GTK_VALUE_INT(*arg), -1);
|
gtk_widget_set_usize (widget, GTK_VALUE_INT (*arg), -1);
|
||||||
break;
|
break;
|
||||||
case ARG_HEIGHT:
|
case ARG_HEIGHT:
|
||||||
gtk_widget_set_usize (widget, -1, GTK_VALUE_INT(*arg));
|
gtk_widget_set_usize (widget, -1, GTK_VALUE_INT (*arg));
|
||||||
break;
|
break;
|
||||||
case ARG_VISIBLE:
|
case ARG_VISIBLE:
|
||||||
if (GTK_VALUE_BOOL(*arg))
|
if (GTK_VALUE_BOOL(*arg))
|
||||||
@ -701,26 +708,128 @@ gtk_widget_set_arg (GtkWidget *widget,
|
|||||||
gtk_widget_hide (widget);
|
gtk_widget_hide (widget);
|
||||||
break;
|
break;
|
||||||
case ARG_SENSITIVE:
|
case ARG_SENSITIVE:
|
||||||
gtk_widget_set_sensitive (widget, GTK_VALUE_BOOL(*arg));
|
gtk_widget_set_sensitive (widget, GTK_VALUE_BOOL (*arg));
|
||||||
|
break;
|
||||||
|
case ARG_CAN_FOCUS:
|
||||||
|
if (GTK_VALUE_BOOL (*arg))
|
||||||
|
GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
|
||||||
|
else
|
||||||
|
GTK_WIDGET_UNSET_FLAGS (widget, GTK_CAN_FOCUS);
|
||||||
|
break;
|
||||||
|
case ARG_CAN_DEFAULT:
|
||||||
|
if (GTK_VALUE_BOOL (*arg))
|
||||||
|
GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_DEFAULT);
|
||||||
|
else
|
||||||
|
GTK_WIDGET_UNSET_FLAGS (widget, GTK_CAN_DEFAULT);
|
||||||
break;
|
break;
|
||||||
case ARG_EVENTS:
|
case ARG_EVENTS:
|
||||||
gtk_widget_set_events (widget, GTK_VALUE_FLAGS(*arg));
|
gtk_widget_set_events (widget, GTK_VALUE_FLAGS (*arg));
|
||||||
break;
|
break;
|
||||||
case ARG_EXTENSION_EVENTS:
|
case ARG_EXTENSION_EVENTS:
|
||||||
gtk_widget_set_extension_events (widget, GTK_VALUE_FLAGS(*arg));
|
gtk_widget_set_extension_events (widget, GTK_VALUE_FLAGS (*arg));
|
||||||
break;
|
break;
|
||||||
case ARG_NAME:
|
case ARG_NAME:
|
||||||
gtk_widget_set_name (widget, GTK_VALUE_STRING(*arg));
|
gtk_widget_set_name (widget, GTK_VALUE_STRING (*arg));
|
||||||
break;
|
break;
|
||||||
case ARG_STYLE:
|
case ARG_STYLE:
|
||||||
gtk_widget_set_style (widget, (GtkStyle*)GTK_VALUE_BOXED(*arg));
|
gtk_widget_set_style (widget, (GtkStyle*) GTK_VALUE_BOXED (*arg));
|
||||||
break;
|
break;
|
||||||
case ARG_PARENT:
|
case ARG_PARENT:
|
||||||
gtk_container_add (GTK_CONTAINER (GTK_VALUE_OBJECT(*arg)), widget);
|
gtk_container_add (GTK_CONTAINER (GTK_VALUE_OBJECT (*arg)), widget);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************
|
||||||
|
* gtk_widget_set_arg:
|
||||||
|
*
|
||||||
|
* arguments:
|
||||||
|
*
|
||||||
|
* results:
|
||||||
|
*****************************************/
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_widget_get_arg (GtkWidget *widget,
|
||||||
|
GtkArg *arg,
|
||||||
|
guint arg_id)
|
||||||
|
{
|
||||||
|
GtkWidgetAuxInfo *aux_info;
|
||||||
|
gint *eventp;
|
||||||
|
GdkExtensionMode *modep;
|
||||||
|
|
||||||
|
switch (arg_id)
|
||||||
|
{
|
||||||
|
case ARG_X:
|
||||||
|
aux_info = gtk_object_get_data (GTK_OBJECT (widget), aux_info_key);
|
||||||
|
if (!aux_info)
|
||||||
|
GTK_VALUE_INT (*arg) = -2;
|
||||||
|
else
|
||||||
|
GTK_VALUE_INT (*arg) = aux_info->x;
|
||||||
|
break;
|
||||||
|
case ARG_Y:
|
||||||
|
aux_info = gtk_object_get_data (GTK_OBJECT (widget), aux_info_key);
|
||||||
|
if (!aux_info)
|
||||||
|
GTK_VALUE_INT (*arg) = -2;
|
||||||
|
else
|
||||||
|
GTK_VALUE_INT (*arg) = aux_info->y;
|
||||||
|
break;
|
||||||
|
case ARG_WIDTH:
|
||||||
|
aux_info = gtk_object_get_data (GTK_OBJECT (widget), aux_info_key);
|
||||||
|
if (!aux_info)
|
||||||
|
GTK_VALUE_INT (*arg) = -2;
|
||||||
|
else
|
||||||
|
GTK_VALUE_INT (*arg) = aux_info->width;
|
||||||
|
break;
|
||||||
|
case ARG_HEIGHT:
|
||||||
|
aux_info = gtk_object_get_data (GTK_OBJECT (widget), aux_info_key);
|
||||||
|
if (!aux_info)
|
||||||
|
GTK_VALUE_INT (*arg) = -2;
|
||||||
|
else
|
||||||
|
GTK_VALUE_INT (*arg) = aux_info->height;
|
||||||
|
break;
|
||||||
|
case ARG_VISIBLE:
|
||||||
|
GTK_VALUE_BOOL (*arg) = GTK_WIDGET_VISIBLE (widget);
|
||||||
|
break;
|
||||||
|
case ARG_SENSITIVE:
|
||||||
|
GTK_VALUE_BOOL (*arg) = GTK_WIDGET_SENSITIVE (widget);
|
||||||
|
break;
|
||||||
|
case ARG_CAN_FOCUS:
|
||||||
|
GTK_VALUE_BOOL (*arg) = GTK_WIDGET_CAN_FOCUS (widget);
|
||||||
|
break;
|
||||||
|
case ARG_CAN_DEFAULT:
|
||||||
|
GTK_VALUE_BOOL (*arg) = GTK_WIDGET_CAN_DEFAULT (widget);
|
||||||
|
break;
|
||||||
|
case ARG_EVENTS:
|
||||||
|
eventp = gtk_object_get_data (GTK_OBJECT (widget), event_key);
|
||||||
|
if (!eventp)
|
||||||
|
GTK_VALUE_FLAGS (*arg) = 0;
|
||||||
|
else
|
||||||
|
GTK_VALUE_FLAGS (*arg) = *eventp;
|
||||||
|
break;
|
||||||
|
case ARG_EXTENSION_EVENTS:
|
||||||
|
modep = gtk_object_get_data (GTK_OBJECT (widget), extension_event_key);
|
||||||
|
if (!modep)
|
||||||
|
GTK_VALUE_FLAGS (*arg) = 0;
|
||||||
|
else
|
||||||
|
GTK_VALUE_FLAGS (*arg) = *modep;
|
||||||
|
break;
|
||||||
|
case ARG_NAME:
|
||||||
|
if (widget->name)
|
||||||
|
GTK_VALUE_STRING (*arg) = g_strdup (widget->name);
|
||||||
|
else
|
||||||
|
GTK_VALUE_STRING (*arg) = g_strdup ("");
|
||||||
|
break;
|
||||||
|
case ARG_STYLE:
|
||||||
|
GTK_VALUE_BOXED (*arg) = (gpointer) gtk_widget_get_style (widget);
|
||||||
|
break;
|
||||||
|
case ARG_PARENT:
|
||||||
|
GTK_VALUE_OBJECT (*arg) = (GtkObject*) widget->parent;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
arg->type = GTK_TYPE_INVALID;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************
|
/*****************************************
|
||||||
* gtk_widget_init:
|
* gtk_widget_init:
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user