diff options
author | Tim Janik <timj@src.gnome.org> | 2008-06-20 11:07:56 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2008-06-20 11:07:56 +0000 |
commit | 1fae5f6303b77b0c1965f49cad798a128f245d2a (patch) | |
tree | 962d9b04f2fd144c09f9c749ae0799d5f9b2c091 /gtk | |
parent | 21e079f9a0186a26ea2d82cc8eab92dc66329252 (diff) | |
download | gtk+-1fae5f6303b77b0c1965f49cad798a128f245d2a.tar.gz |
Seal GtkHandleBox
svn path=/trunk/; revision=20601
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtk.symbols | 1 | ||||
-rw-r--r-- | gtk/gtkhandlebox.c | 32 | ||||
-rw-r--r-- | gtk/gtkhandlebox.h | 27 |
3 files changed, 46 insertions, 14 deletions
diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index d53b0704f5..df3deaadf7 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -1584,6 +1584,7 @@ gtk_gc_release gtk_handle_box_get_handle_position gtk_handle_box_get_shadow_type gtk_handle_box_get_snap_edge +gtk_handle_box_get_child_detached gtk_handle_box_get_type G_GNUC_CONST gtk_handle_box_new gtk_handle_box_set_handle_position diff --git a/gtk/gtkhandlebox.c b/gtk/gtkhandlebox.c index 6036dfdc72..d6435f4b02 100644 --- a/gtk/gtkhandlebox.c +++ b/gtk/gtkhandlebox.c @@ -50,7 +50,8 @@ enum { PROP_SHADOW_TYPE, PROP_HANDLE_POSITION, PROP_SNAP_EDGE, - PROP_SNAP_EDGE_SET + PROP_SNAP_EDGE_SET, + PROP_CHILD_DETACHED }; #define DRAG_HANDLE_SIZE 10 @@ -205,6 +206,14 @@ gtk_handle_box_class_init (GtkHandleBoxClass *class) FALSE, GTK_PARAM_READWRITE)); + g_object_class_install_property (gobject_class, + PROP_CHILD_DETACHED, + g_param_spec_boolean ("child-detached", + P_("Child Detached"), + P_("A boolean value indicating whether the handlebox's child is attached or detached."), + FALSE, + GTK_PARAM_READABLE)); + object_class->destroy = gtk_handle_box_destroy; widget_class->map = gtk_handle_box_map; @@ -323,6 +332,9 @@ gtk_handle_box_get_property (GObject *object, case PROP_SNAP_EDGE_SET: g_value_set_boolean (value, handle_box->snap_edge != -1); break; + case PROP_CHILD_DETACHED: + g_value_set_boolean (value, handle_box->child_detached); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -850,6 +862,24 @@ gtk_handle_box_get_snap_edge (GtkHandleBox *handle_box) return handle_box->snap_edge; } +/** + * gtk_handle_box_get_child_detached: + * @handle_box: a #GtkHandleBox + * + * Whether the handlebox's child is currently detached. + * + * Return value: %TRUE if the child is currently detached, otherwise %FALSE + * + * Since: GSEAL-branch + **/ +gboolean +gtk_handle_box_get_child_detached (GtkHandleBox *handle_box) +{ + g_return_val_if_fail (GTK_IS_HANDLE_BOX (handle_box), FALSE); + + return handle_box->child_detached; +} + static void gtk_handle_box_paint (GtkWidget *widget, diff --git a/gtk/gtkhandlebox.h b/gtk/gtkhandlebox.h index 1d7367c40f..9292466c76 100644 --- a/gtk/gtkhandlebox.h +++ b/gtk/gtkhandlebox.h @@ -58,23 +58,23 @@ struct _GtkHandleBox { GtkBin bin; - GdkWindow *bin_window; /* parent window for children */ - GdkWindow *float_window; - GtkShadowType shadow_type; - guint handle_position : 2; - guint float_window_mapped : 1; - guint child_detached : 1; - guint in_drag : 1; - guint shrink_on_detach : 1; - - signed int snap_edge : 3; /* -1 == unset */ + GdkWindow *GSEAL (bin_window); /* parent window for children */ + GdkWindow *GSEAL (float_window); + GtkShadowType GSEAL (shadow_type); + guint GSEAL (handle_position : 2); + guint GSEAL (float_window_mapped : 1); + guint GSEAL (child_detached : 1); + guint GSEAL (in_drag : 1); + guint GSEAL (shrink_on_detach : 1); + + signed int GSEAL (snap_edge : 3); /* -1 == unset */ /* Variables used during a drag */ - gint deskoff_x, deskoff_y; /* Offset between root relative coordinates + gint GSEAL (deskoff_x), GSEAL (deskoff_y); /* Offset between root relative coordinates * and deskrelative coordinates */ - GtkAllocation attach_allocation; - GtkAllocation float_allocation; + GtkAllocation GSEAL (attach_allocation); + GtkAllocation GSEAL (float_allocation); }; struct _GtkHandleBoxClass @@ -105,6 +105,7 @@ GtkPositionType gtk_handle_box_get_handle_position(GtkHandleBox *handle_box); void gtk_handle_box_set_snap_edge (GtkHandleBox *handle_box, GtkPositionType edge); GtkPositionType gtk_handle_box_get_snap_edge (GtkHandleBox *handle_box); +gboolean gtk_handle_box_get_child_detached (GtkHandleBox *handle_box); G_END_DECLS |