diff options
author | Alexander Larsson <alexl@redhat.com> | 2013-07-02 13:43:20 +0200 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2013-07-02 13:43:20 +0200 |
commit | 06a808cf2ac58ae4e37e7b4e30391bc0df86a718 (patch) | |
tree | fb07e30e07c31cedfe5309ed8cedaa9afaa8af07 /gtk/gtkstack.c | |
parent | 09d22284f75058c5a105f539d2c0a0883704b921 (diff) | |
download | gtk+-06a808cf2ac58ae4e37e7b4e30391bc0df86a718.tar.gz |
stack: Use new private model, remove priv pointer
Diffstat (limited to 'gtk/gtkstack.c')
-rw-r--r-- | gtk/gtkstack.c | 118 |
1 files changed, 63 insertions, 55 deletions
diff --git a/gtk/gtkstack.c b/gtk/gtkstack.c index b48189686f..0be5b8d8a0 100644 --- a/gtk/gtkstack.c +++ b/gtk/gtkstack.c @@ -94,7 +94,7 @@ struct _GtkStackChildInfo { gchar *icon_name; }; -struct _GtkStackPrivate { +typedef struct { GList *children; GdkWindow* bin_window; @@ -116,7 +116,7 @@ struct _GtkStackPrivate { gint64 end_time; GtkStackTransitionType active_transition_type; -}; +} GtkStackPrivate; static void gtk_stack_add (GtkContainer *widget, GtkWidget *child); @@ -172,13 +172,11 @@ static gint get_bin_window_x (GtkStack *stack, static gint get_bin_window_y (GtkStack *stack, GtkAllocation *allocation); -G_DEFINE_TYPE(GtkStack, gtk_stack, GTK_TYPE_CONTAINER); +G_DEFINE_TYPE_WITH_PRIVATE(GtkStack, gtk_stack, GTK_TYPE_CONTAINER); static void gtk_stack_init (GtkStack *stack) { - stack->priv = G_TYPE_INSTANCE_GET_PRIVATE (stack, GTK_TYPE_STACK, GtkStackPrivate); - gtk_widget_set_has_window ((GtkWidget*) stack, TRUE); gtk_widget_set_redraw_on_allocate ((GtkWidget*) stack, TRUE); } @@ -187,7 +185,7 @@ static void gtk_stack_finalize (GObject *obj) { GtkStack *stack = GTK_STACK (obj); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); gtk_stack_unschedule_ticks (stack); @@ -204,7 +202,7 @@ gtk_stack_get_property (GObject *object, GParamSpec *pspec) { GtkStack *stack = GTK_STACK (object); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); switch (property_id) { @@ -264,7 +262,7 @@ static void gtk_stack_realize (GtkWidget *widget) { GtkStack *stack = GTK_STACK (widget); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkAllocation allocation; GdkWindowAttr attributes = { 0 }; GdkWindowAttributesType attributes_mask; @@ -315,7 +313,7 @@ static void gtk_stack_unrealize (GtkWidget *widget) { GtkStack *stack = GTK_STACK (widget); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); gtk_widget_unregister_window (widget, priv->bin_window); gdk_window_destroy (priv->bin_window); @@ -418,8 +416,6 @@ gtk_stack_class_init (GtkStackClass *klass) P_("The index of the child in the parent"), -1, G_MAXINT, 0, GTK_PARAM_READWRITE)); - - g_type_class_add_private (klass, sizeof (GtkStackPrivate)); } /** @@ -441,7 +437,7 @@ static GtkStackChildInfo * find_child_info_for_widget (GtkStack *stack, GtkWidget *child) { - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *info; GList *l; @@ -460,15 +456,13 @@ reorder_child (GtkStack *stack, GtkWidget *child, gint position) { - GtkStackPrivate *priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GList *l; GList *old_link = NULL; GList *new_link = NULL; GtkStackChildInfo *child_info = NULL; gint num = 0; - priv = stack->priv; - l = priv->children; /* Loop to find the old position and link of child, new link of child and @@ -517,6 +511,7 @@ gtk_stack_get_child_property (GtkContainer *container, GParamSpec *pspec) { GtkStack *stack = GTK_STACK (container); + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *info; GList *list; guint i; @@ -544,7 +539,7 @@ gtk_stack_get_child_property (GtkContainer *container, case CHILD_PROP_POSITION: i = 0; - for (list = stack->priv->children; list != NULL; list = g_list_next (list)) + for (list = priv->children; list != NULL; list = g_list_next (list)) { if (info == list->data) break; @@ -567,7 +562,7 @@ gtk_stack_set_child_property (GtkContainer *container, GParamSpec *pspec) { GtkStack *stack = GTK_STACK (container); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *info; GtkStackChildInfo *info2; gchar *name; @@ -640,7 +635,7 @@ static gint get_bin_window_x (GtkStack *stack, GtkAllocation *allocation) { - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); int x = 0; if (priv->transition_pos < 1.0) @@ -658,7 +653,7 @@ static gint get_bin_window_y (GtkStack *stack, GtkAllocation *allocation) { - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); int y = 0; if (priv->transition_pos < 1.0) @@ -676,7 +671,7 @@ static gboolean gtk_stack_set_transition_position (GtkStack *stack, gdouble pos) { - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); gboolean done; priv->transition_pos = pos; @@ -724,7 +719,7 @@ gtk_stack_transition_cb (GtkStack *stack, GdkFrameClock *frame_clock, gpointer user_data) { - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); gint64 now; gdouble t; @@ -752,7 +747,7 @@ gtk_stack_transition_cb (GtkStack *stack, static void gtk_stack_schedule_ticks (GtkStack *stack) { - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); if (priv->tick_id == 0) { @@ -764,7 +759,7 @@ gtk_stack_schedule_ticks (GtkStack *stack) static void gtk_stack_unschedule_ticks (GtkStack *stack) { - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); if (priv->tick_id != 0) { @@ -793,7 +788,7 @@ gtk_stack_start_transition (GtkStack *stack, GtkStackTransitionType transition_type, guint transition_duration) { - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkWidget *widget = GTK_WIDGET (stack); gboolean animations_enabled; @@ -829,7 +824,7 @@ set_visible_child (GtkStack *stack, GtkStackTransitionType transition_type, guint transition_duration) { - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *info; GtkWidget *widget = GTK_WIDGET (stack); GList *l; @@ -918,7 +913,7 @@ stack_child_visibility_notify_cb (GObject *obj, gpointer user_data) { GtkStack *stack = GTK_STACK (user_data); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkWidget *child = GTK_WIDGET (obj); GtkStackChildInfo *child_info; @@ -998,7 +993,7 @@ gtk_stack_add (GtkContainer *container, GtkWidget *child) { GtkStack *stack = GTK_STACK (container); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *child_info; g_return_if_fail (child != NULL); @@ -1034,7 +1029,7 @@ gtk_stack_remove (GtkContainer *container, GtkWidget *child) { GtkStack *stack = GTK_STACK (container); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *child_info; gboolean was_visible; @@ -1085,12 +1080,10 @@ void gtk_stack_set_homogeneous (GtkStack *stack, gboolean homogeneous) { - GtkStackPrivate *priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); g_return_if_fail (GTK_IS_STACK (stack)); - priv = stack->priv; - homogeneous = !!homogeneous; if (priv->homogeneous == homogeneous) @@ -1118,9 +1111,11 @@ gtk_stack_set_homogeneous (GtkStack *stack, gboolean gtk_stack_get_homogeneous (GtkStack *stack) { + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); + g_return_val_if_fail (GTK_IS_STACK (stack), FALSE); - return stack->priv->homogeneous; + return priv->homogeneous; } /** @@ -1137,9 +1132,11 @@ gtk_stack_get_homogeneous (GtkStack *stack) guint gtk_stack_get_transition_duration (GtkStack *stack) { + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); + g_return_val_if_fail (GTK_IS_STACK (stack), 0); - return stack->priv->transition_duration; + return priv->transition_duration; } /** @@ -1156,9 +1153,11 @@ void gtk_stack_set_transition_duration (GtkStack *stack, guint duration) { + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); + g_return_if_fail (GTK_IS_STACK (stack)); - stack->priv->transition_duration = duration; + priv->transition_duration = duration; g_object_notify (G_OBJECT (stack), "transition-duration"); } @@ -1176,9 +1175,11 @@ gtk_stack_set_transition_duration (GtkStack *stack, GtkStackTransitionType gtk_stack_get_transition_type (GtkStack *stack) { + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); + g_return_val_if_fail (GTK_IS_STACK (stack), GTK_STACK_TRANSITION_TYPE_NONE); - return stack->priv->transition_type; + return priv->transition_type; } /** @@ -1200,9 +1201,11 @@ void gtk_stack_set_transition_type (GtkStack *stack, GtkStackTransitionType transition) { + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); + g_return_if_fail (GTK_IS_STACK (stack)); - stack->priv->transition_type = transition; + priv->transition_type = transition; g_object_notify (G_OBJECT (stack), "transition-type"); } @@ -1220,9 +1223,11 @@ gtk_stack_set_transition_type (GtkStack *stack, GtkWidget * gtk_stack_get_visible_child (GtkStack *stack) { + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); + g_return_val_if_fail (GTK_IS_STACK (stack), NULL); - return stack->priv->visible_child ? stack->priv->visible_child->widget : NULL; + return priv->visible_child ? priv->visible_child->widget : NULL; } /** @@ -1239,10 +1244,12 @@ gtk_stack_get_visible_child (GtkStack *stack) const gchar * gtk_stack_get_visible_child_name (GtkStack *stack) { + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); + g_return_val_if_fail (GTK_IS_STACK (stack), NULL); - if (stack->priv->visible_child) - return stack->priv->visible_child->name; + if (priv->visible_child) + return priv->visible_child->name; return NULL; } @@ -1265,6 +1272,7 @@ void gtk_stack_set_visible_child (GtkStack *stack, GtkWidget *child) { + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *child_info; g_return_if_fail (GTK_IS_STACK (stack)); @@ -1276,8 +1284,8 @@ gtk_stack_set_visible_child (GtkStack *stack, if (gtk_widget_get_visible (child_info->widget)) set_visible_child (stack, child_info, - stack->priv->transition_type, - stack->priv->transition_duration); + priv->transition_type, + priv->transition_duration); } /** @@ -1298,7 +1306,9 @@ void gtk_stack_set_visible_child_name (GtkStack *stack, const gchar *name) { - gtk_stack_set_visible_child_full (stack, name, stack->priv->transition_type); + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); + + gtk_stack_set_visible_child_full (stack, name, priv->transition_type); } /** @@ -1316,15 +1326,13 @@ gtk_stack_set_visible_child_full (GtkStack *stack, const gchar *name, GtkStackTransitionType transition) { - GtkStackPrivate *priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *child_info, *info; GList *l; g_return_if_fail (GTK_IS_STACK (stack)); g_return_if_fail (name != NULL); - priv = stack->priv; - child_info = NULL; for (l = priv->children; l != NULL; l = l->next) { @@ -1348,7 +1356,7 @@ gtk_stack_forall (GtkContainer *container, gpointer callback_data) { GtkStack *stack = GTK_STACK (container); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *child_info; GList *l; @@ -1368,7 +1376,7 @@ gtk_stack_compute_expand (GtkWidget *widget, gboolean *vexpand_p) { GtkStack *stack = GTK_STACK (widget); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); gboolean hexpand, vexpand; GtkStackChildInfo *child_info; GtkWidget *child; @@ -1402,7 +1410,7 @@ gtk_stack_draw_crossfade (GtkWidget *widget, cairo_t *cr) { GtkStack *stack = GTK_STACK (widget); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); if (priv->last_visible_surface) { @@ -1428,7 +1436,7 @@ gtk_stack_draw_slide (GtkWidget *widget, cairo_t *cr) { GtkStack *stack = GTK_STACK (widget); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkAllocation allocation; gint x = 0; gint y = 0; @@ -1470,7 +1478,7 @@ gtk_stack_draw (GtkWidget *widget, cairo_t *cr) { GtkStack *stack = GTK_STACK (widget); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); cairo_t *pattern_cr; if (priv->visible_child) @@ -1526,7 +1534,7 @@ gtk_stack_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { GtkStack *stack = GTK_STACK (widget); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkAllocation child_allocation; g_return_if_fail (allocation != NULL); @@ -1560,7 +1568,7 @@ gtk_stack_get_preferred_height (GtkWidget *widget, gint *natural_height) { GtkStack *stack = GTK_STACK (widget); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *child_info; GtkWidget *child; gint child_min, child_nat; @@ -1601,7 +1609,7 @@ gtk_stack_get_preferred_height_for_width (GtkWidget *widget, gint *natural_height) { GtkStack *stack = GTK_STACK (widget); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *child_info; GtkWidget *child; gint child_min, child_nat; @@ -1641,7 +1649,7 @@ gtk_stack_get_preferred_width (GtkWidget *widget, gint *natural_width) { GtkStack *stack = GTK_STACK (widget); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *child_info; GtkWidget *child; gint child_min, child_nat; @@ -1682,7 +1690,7 @@ gtk_stack_get_preferred_width_for_height (GtkWidget *widget, gint *natural_width) { GtkStack *stack = GTK_STACK (widget); - GtkStackPrivate *priv = stack->priv; + GtkStackPrivate *priv = gtk_stack_get_instance_private (stack); GtkStackChildInfo *child_info; GtkWidget *child; gint child_min, child_nat; |