summaryrefslogtreecommitdiff
path: root/gtk/gtkstack.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2013-07-02 13:43:20 +0200
committerAlexander Larsson <alexl@redhat.com>2013-07-02 13:43:20 +0200
commit06a808cf2ac58ae4e37e7b4e30391bc0df86a718 (patch)
treefb07e30e07c31cedfe5309ed8cedaa9afaa8af07 /gtk/gtkstack.c
parent09d22284f75058c5a105f539d2c0a0883704b921 (diff)
downloadgtk+-06a808cf2ac58ae4e37e7b4e30391bc0df86a718.tar.gz
stack: Use new private model, remove priv pointer
Diffstat (limited to 'gtk/gtkstack.c')
-rw-r--r--gtk/gtkstack.c118
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;