From abe267641a1ba63903d3191b0c6d7044fe260112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 24 May 2010 21:35:01 +0200 Subject: [PATCH] gtkbbox: Move public members to private structure --- gtk/gtkbbox.c | 82 +++++++++++++++++++++++++++++++++++---------------- gtk/gtkbbox.h | 9 +++--- 2 files changed, 61 insertions(+), 30 deletions(-) diff --git a/gtk/gtkbbox.c b/gtk/gtkbbox.c index c675ed7300..4f68309a07 100644 --- a/gtk/gtkbbox.c +++ b/gtk/gtkbbox.c @@ -61,6 +61,16 @@ #include "gtkintl.h" +struct _GtkButtonBoxPriv +{ + GtkButtonBoxStyle layout_style; + + gint child_ipad_x; + gint child_ipad_y; + gint child_min_width; + gint child_min_height; +}; + enum { PROP_0, PROP_LAYOUT_STYLE @@ -175,17 +185,26 @@ gtk_button_box_class_init (GtkButtonBoxClass *class) P_("If TRUE, the child appears in a secondary group of children, suitable for, e.g., help buttons"), FALSE, GTK_PARAM_READWRITE)); + + g_type_class_add_private (class, sizeof (GtkButtonBoxPriv)); } static void gtk_button_box_init (GtkButtonBox *button_box) { - GTK_BOX (button_box)->spacing = 0; - button_box->child_min_width = GTK_BUTTONBOX_DEFAULT; - button_box->child_min_height = GTK_BUTTONBOX_DEFAULT; - button_box->child_ipad_x = GTK_BUTTONBOX_DEFAULT; - button_box->child_ipad_y = GTK_BUTTONBOX_DEFAULT; - button_box->layout_style = GTK_BUTTONBOX_DEFAULT_STYLE; + GtkButtonBoxPriv *priv; + + button_box->priv = G_TYPE_INSTANCE_GET_PRIVATE (button_box, + GTK_TYPE_BUTTON_BOX, + GtkButtonBoxPriv); + priv = button_box->priv; + + gtk_box_set_spacing (GTK_BOX (button_box), 0); + priv->child_min_width = GTK_BUTTONBOX_DEFAULT; + priv->child_min_height = GTK_BUTTONBOX_DEFAULT; + priv->child_ipad_x = GTK_BUTTONBOX_DEFAULT; + priv->child_ipad_y = GTK_BUTTONBOX_DEFAULT; + priv->layout_style = GTK_BUTTONBOX_DEFAULT_STYLE; } static void @@ -212,10 +231,12 @@ gtk_button_box_get_property (GObject *object, GValue *value, GParamSpec *pspec) { + GtkButtonBoxPriv *priv = GTK_BUTTON_BOX (object)->priv; + switch (prop_id) { case PROP_LAYOUT_STYLE: - g_value_set_enum (value, GTK_BUTTON_BOX (object)->layout_style); + g_value_set_enum (value, priv->layout_style); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -273,13 +294,17 @@ void gtk_button_box_set_layout (GtkButtonBox *widget, GtkButtonBoxStyle layout_style) { + GtkButtonBoxPriv *priv; + g_return_if_fail (GTK_IS_BUTTON_BOX (widget)); g_return_if_fail (layout_style >= GTK_BUTTONBOX_DEFAULT_STYLE && layout_style <= GTK_BUTTONBOX_CENTER); - if (widget->layout_style != layout_style) + priv = widget->priv; + + if (priv->layout_style != layout_style) { - widget->layout_style = layout_style; + priv->layout_style = layout_style; g_object_notify (G_OBJECT (widget), "layout-style"); gtk_widget_queue_resize (GTK_WIDGET (widget)); } @@ -298,7 +323,7 @@ gtk_button_box_get_layout (GtkButtonBox *widget) { g_return_val_if_fail (GTK_IS_BUTTON_BOX (widget), GTK_BUTTONBOX_SPREAD); - return widget->layout_style; + return widget->priv->layout_style; } /** @@ -316,8 +341,8 @@ gboolean gtk_button_box_get_child_secondary (GtkButtonBox *widget, GtkWidget *child) { - GList *list; GtkBoxChild *child_info; + GList *list; g_return_val_if_fail (GTK_IS_BUTTON_BOX (widget), FALSE); g_return_val_if_fail (GTK_IS_WIDGET (child), FALSE); @@ -399,6 +424,7 @@ _gtk_button_box_child_requisition (GtkWidget *widget, int *width, int *height) { + GtkButtonBoxPriv *priv; GtkButtonBox *bbox; GtkBoxChild *child; GList *children; @@ -422,6 +448,7 @@ _gtk_button_box_child_requisition (GtkWidget *widget, g_return_if_fail (GTK_IS_BUTTON_BOX (widget)); bbox = GTK_BUTTON_BOX (widget); + priv = bbox->priv; gtk_widget_style_get (widget, "child-min-width", &width_default, @@ -429,15 +456,15 @@ _gtk_button_box_child_requisition (GtkWidget *widget, "child-internal-pad-x", &ipad_x_default, "child-internal-pad-y", &ipad_y_default, NULL); - - child_min_width = bbox->child_min_width != GTK_BUTTONBOX_DEFAULT - ? bbox->child_min_width : width_default; - child_min_height = bbox->child_min_height !=GTK_BUTTONBOX_DEFAULT - ? bbox->child_min_height : height_default; - ipad_x = bbox->child_ipad_x != GTK_BUTTONBOX_DEFAULT - ? bbox->child_ipad_x : ipad_x_default; - ipad_y = bbox->child_ipad_y != GTK_BUTTONBOX_DEFAULT - ? bbox->child_ipad_y : ipad_y_default; + + child_min_width = priv->child_min_width != GTK_BUTTONBOX_DEFAULT + ? priv->child_min_width : width_default; + child_min_height = priv->child_min_height != GTK_BUTTONBOX_DEFAULT + ? priv->child_min_height : height_default; + ipad_x = priv->child_ipad_x != GTK_BUTTONBOX_DEFAULT + ? priv->child_ipad_x : ipad_x_default; + ipad_y = priv->child_ipad_y != GTK_BUTTONBOX_DEFAULT + ? priv->child_ipad_y : ipad_y_default; nchildren = 0; nsecondaries = 0; @@ -497,6 +524,7 @@ static void gtk_button_box_size_request (GtkWidget *widget, GtkRequisition *requisition) { + GtkButtonBoxPriv *priv; GtkBox *box; GtkButtonBox *bbox; gint nvis_children; @@ -508,11 +536,12 @@ gtk_button_box_size_request (GtkWidget *widget, box = GTK_BOX (widget); bbox = GTK_BUTTON_BOX (widget); + priv = bbox->priv; orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)); spacing = box->spacing; - layout = bbox->layout_style != GTK_BUTTONBOX_DEFAULT_STYLE - ? bbox->layout_style : gtk_button_box_kludge_get_layout_default (GTK_BUTTON_BOX (widget)); + layout = priv->layout_style != GTK_BUTTONBOX_DEFAULT_STYLE + ? priv->layout_style : gtk_button_box_kludge_get_layout_default (GTK_BUTTON_BOX (widget)); _gtk_button_box_child_requisition (widget, &nvis_children, @@ -569,6 +598,7 @@ static void gtk_button_box_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { + GtkButtonBoxPriv *priv; GtkBox *base_box; GtkButtonBox *box; GtkBoxChild *child; @@ -590,12 +620,14 @@ gtk_button_box_size_allocate (GtkWidget *widget, gint spacing; GtkOrientation orientation; - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)); base_box = GTK_BOX (widget); box = GTK_BUTTON_BOX (widget); + priv = box->priv; + + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)); spacing = base_box->spacing; - layout = box->layout_style != GTK_BUTTONBOX_DEFAULT_STYLE - ? box->layout_style : gtk_button_box_kludge_get_layout_default (GTK_BUTTON_BOX (widget)); + layout = priv->layout_style != GTK_BUTTONBOX_DEFAULT_STYLE + ? priv->layout_style : gtk_button_box_kludge_get_layout_default (GTK_BUTTON_BOX (widget)); _gtk_button_box_child_requisition (widget, &nvis_children, &n_secondaries, diff --git a/gtk/gtkbbox.h b/gtk/gtkbbox.h index 72f8458142..a63a50883c 100644 --- a/gtk/gtkbbox.h +++ b/gtk/gtkbbox.h @@ -47,16 +47,15 @@ G_BEGIN_DECLS #define GTK_BUTTONBOX_DEFAULT -1 typedef struct _GtkButtonBox GtkButtonBox; +typedef struct _GtkButtonBoxPriv GtkButtonBoxPriv; typedef struct _GtkButtonBoxClass GtkButtonBoxClass; struct _GtkButtonBox { GtkBox box; - gint GSEAL (child_min_width); - gint GSEAL (child_min_height); - gint GSEAL (child_ipad_x); - gint GSEAL (child_ipad_y); - GtkButtonBoxStyle GSEAL (layout_style); + + /*< private >*/ + GtkButtonBoxPriv *priv; }; struct _GtkButtonBoxClass