[gtk+/gtk-2-90: 57/146] Don't use old toolbar API in toolbar stress test
- From: Javier Jardón <jjardon src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-2-90: 57/146] Don't use old toolbar API in toolbar stress test
- Date: Wed, 9 Dec 2009 07:39:47 +0000 (UTC)
commit cc6aaed5f74369e917f8f89cd37266b9056b48c3
Author: Christian Dywan <christian twotoasts de>
Date: Wed Oct 7 19:32:23 2009 +0200
Don't use old toolbar API in toolbar stress test
gtk/gtkprogressbar.c | 189 +++++++++++---------------------------------
gtk/gtkprogressbar.h | 21 -----
tests/stresstest-toolbar.c | 5 +-
3 files changed, 51 insertions(+), 164 deletions(-)
---
diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c
index 96b3167..cce5b3a 100644
--- a/gtk/gtkprogressbar.c
+++ b/gtk/gtkprogressbar.c
@@ -52,12 +52,6 @@ enum {
PROP_TEXT,
PROP_ELLIPSIZE,
- /* Deprecated args */
- PROP_ADJUSTMENT,
- PROP_BAR_STYLE,
- PROP_ACTIVITY_STEP,
- PROP_ACTIVITY_BLOCKS,
- PROP_DISCRETE_BLOCKS
};
static void gtk_progress_bar_set_property (GObject *object,
@@ -87,6 +81,14 @@ static void gtk_progress_bar_set_activity_step_internal (GtkProgressBar *pbar,
static void gtk_progress_bar_set_activity_blocks_internal (GtkProgressBar *pbar,
guint blocks);
+typedef struct
+{
+ gchar* text;
+ gdouble fraction;
+} GtkProgressBarPrivate;
+
+#define GTK_PROGRESS_BAR_GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_PROGRESS_BAR, GtkProgressBarPrivate))
G_DEFINE_TYPE (GtkProgressBar, gtk_progress_bar, GTK_TYPE_PROGRESS)
@@ -113,14 +115,6 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
progress_class->act_mode_enter = gtk_progress_bar_act_mode_enter;
g_object_class_install_property (gobject_class,
- PROP_ADJUSTMENT,
- g_param_spec_object ("adjustment",
- P_("Adjustment"),
- P_("The GtkAdjustment connected to the progress bar (Deprecated)"),
- GTK_TYPE_ADJUSTMENT,
- GTK_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class,
PROP_ORIENTATION,
g_param_spec_enum ("orientation",
P_("Orientation"),
@@ -128,39 +122,6 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
GTK_TYPE_PROGRESS_BAR_ORIENTATION,
GTK_PROGRESS_LEFT_TO_RIGHT,
GTK_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class,
- PROP_BAR_STYLE,
- g_param_spec_enum ("bar-style",
- P_("Bar style"),
- P_("Specifies the visual style of the bar in percentage mode (Deprecated)"),
- GTK_TYPE_PROGRESS_BAR_STYLE,
- GTK_PROGRESS_CONTINUOUS,
- GTK_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class,
- PROP_ACTIVITY_STEP,
- g_param_spec_uint ("activity-step",
- P_("Activity Step"),
- P_("The increment used for each iteration in activity mode (Deprecated)"),
- 0, G_MAXUINT, 3,
- GTK_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class,
- PROP_ACTIVITY_BLOCKS,
- g_param_spec_uint ("activity-blocks",
- P_("Activity Blocks"),
- P_("The number of blocks which can fit in the progress bar area in activity mode (Deprecated)"),
- 2, G_MAXUINT, 5,
- GTK_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class,
- PROP_DISCRETE_BLOCKS,
- g_param_spec_uint ("discrete-blocks",
- P_("Discrete Blocks"),
- P_("The number of discrete blocks in a progress bar (when shown in the discrete style)"),
- 2, G_MAXUINT, 10,
- GTK_PARAM_READWRITE));
g_object_class_install_property (gobject_class,
PROP_FRACTION,
@@ -274,11 +235,15 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
P_("The minimum vertical height of the progress bar"),
1, G_MAXINT, MIN_VERTICAL_BAR_HEIGHT,
G_PARAM_READWRITE));
+
+ g_type_class_add_private (class, sizeof (GtkProgressBarPrivate));
}
static void
gtk_progress_bar_init (GtkProgressBar *pbar)
{
+ GtkProgressBarPrivate* priv;
+
pbar->bar_style = GTK_PROGRESS_CONTINUOUS;
pbar->blocks = 10;
pbar->in_block = -1;
@@ -289,6 +254,11 @@ gtk_progress_bar_init (GtkProgressBar *pbar)
pbar->activity_step = 3;
pbar->activity_blocks = 5;
pbar->ellipsize = PANGO_ELLIPSIZE_NONE;
+
+ /* FIXME: Put priv in the structure once we break ABI */
+ priv = GTK_PROGRESS_BAR_GET_PRIVATE (pbar);
+ priv->text = NULL;
+ priv->fraction = 0.0;
}
static void
@@ -303,25 +273,9 @@ gtk_progress_bar_set_property (GObject *object,
switch (prop_id)
{
- case PROP_ADJUSTMENT:
- gtk_progress_set_adjustment (GTK_PROGRESS (pbar),
- GTK_ADJUSTMENT (g_value_get_object (value)));
- break;
case PROP_ORIENTATION:
gtk_progress_bar_set_orientation (pbar, g_value_get_enum (value));
break;
- case PROP_BAR_STYLE:
- gtk_progress_bar_set_bar_style_internal (pbar, g_value_get_enum (value));
- break;
- case PROP_ACTIVITY_STEP:
- gtk_progress_bar_set_activity_step_internal (pbar, g_value_get_uint (value));
- break;
- case PROP_ACTIVITY_BLOCKS:
- gtk_progress_bar_set_activity_blocks_internal (pbar, g_value_get_uint (value));
- break;
- case PROP_DISCRETE_BLOCKS:
- gtk_progress_bar_set_discrete_blocks_internal (pbar, g_value_get_uint (value));
- break;
case PROP_FRACTION:
gtk_progress_bar_set_fraction (pbar, g_value_get_double (value));
break;
@@ -347,37 +301,24 @@ gtk_progress_bar_get_property (GObject *object,
GParamSpec *pspec)
{
GtkProgressBar *pbar;
+ GtkProgressBarPrivate* priv;
pbar = GTK_PROGRESS_BAR (object);
+ priv = GTK_PROGRESS_BAR_GET_PRIVATE (pbar);
switch (prop_id)
{
- case PROP_ADJUSTMENT:
- g_value_set_object (value, GTK_PROGRESS (pbar)->adjustment);
- break;
case PROP_ORIENTATION:
g_value_set_enum (value, pbar->orientation);
break;
- case PROP_BAR_STYLE:
- g_value_set_enum (value, pbar->bar_style);
- break;
- case PROP_ACTIVITY_STEP:
- g_value_set_uint (value, pbar->activity_step);
- break;
- case PROP_ACTIVITY_BLOCKS:
- g_value_set_uint (value, pbar->activity_blocks);
- break;
- case PROP_DISCRETE_BLOCKS:
- g_value_set_uint (value, pbar->blocks);
- break;
case PROP_FRACTION:
- g_value_set_double (value, gtk_progress_get_current_percentage (GTK_PROGRESS (pbar)));
+ g_value_set_double (value, priv->fraction);
break;
case PROP_PULSE_STEP:
g_value_set_double (value, pbar->pulse_fraction);
break;
case PROP_TEXT:
- g_value_set_string (value, gtk_progress_bar_get_text (pbar));
+ g_value_set_string (value, priv->text);
break;
case PROP_ELLIPSIZE:
g_value_set_enum (value, pbar->ellipsize);
@@ -398,20 +339,6 @@ gtk_progress_bar_new (void)
return pbar;
}
-GtkWidget*
-gtk_progress_bar_new_with_adjustment (GtkAdjustment *adjustment)
-{
- GtkWidget *pbar;
-
- g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), NULL);
-
- pbar = g_object_new (GTK_TYPE_PROGRESS_BAR,
- "adjustment", adjustment,
- NULL);
-
- return pbar;
-}
-
static void
gtk_progress_bar_real_update (GtkProgress *progress)
{
@@ -533,8 +460,8 @@ static void
gtk_progress_bar_size_request (GtkWidget *widget,
GtkRequisition *requisition)
{
- GtkProgress *progress;
GtkProgressBar *pbar;
+ GtkProgressBarPrivate *priv;
gchar *buf;
PangoRectangle logical_rect;
PangoLayout *layout;
@@ -550,19 +477,14 @@ gtk_progress_bar_size_request (GtkWidget *widget,
"yspacing", &yspacing,
NULL);
- progress = GTK_PROGRESS (widget);
pbar = GTK_PROGRESS_BAR (widget);
+ priv = GTK_PROGRESS_BAR_GET_PRIVATE (pbar);
width = 2 * widget->style->xthickness + xspacing;
height = 2 * widget->style->ythickness + yspacing;
- if (progress->show_text && pbar->bar_style != GTK_PROGRESS_DISCRETE)
+ if ((buf = priv->text))
{
- if (!progress->adjustment)
- gtk_progress_set_adjustment (progress, NULL);
-
- buf = gtk_progress_get_text_from_value (progress, progress->adjustment->upper);
-
layout = gtk_widget_create_pango_layout (widget, buf);
pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
@@ -588,7 +510,6 @@ gtk_progress_bar_size_request (GtkWidget *widget,
height += logical_rect.height;
g_object_unref (layout);
- g_free (buf);
}
if (pbar->orientation == GTK_PROGRESS_LEFT_TO_RIGHT ||
@@ -960,6 +881,7 @@ static void
gtk_progress_bar_paint (GtkProgress *progress)
{
GtkProgressBar *pbar;
+ GtkProgressBarPrivate *priv;
GtkWidget *widget;
GtkProgressBarOrientation orientation;
@@ -967,6 +889,7 @@ gtk_progress_bar_paint (GtkProgress *progress)
g_return_if_fail (GTK_IS_PROGRESS_BAR (progress));
pbar = GTK_PROGRESS_BAR (progress);
+ priv = GTK_PROGRESS_BAR_GET_PRIVATE (pbar);
widget = GTK_WIDGET (progress);
orientation = pbar->orientation;
@@ -992,7 +915,7 @@ gtk_progress_bar_paint (GtkProgress *progress)
{
gtk_progress_bar_paint_activity (pbar, orientation);
- if (GTK_PROGRESS (pbar)->show_text)
+ if (priv->text)
{
gint offset;
gint amount;
@@ -1019,7 +942,7 @@ gtk_progress_bar_paint (GtkProgress *progress)
{
gtk_progress_bar_paint_continuous (pbar, amount, orientation);
- if (GTK_PROGRESS (pbar)->show_text)
+ if (priv->text)
gtk_progress_bar_paint_text (pbar, -1, amount, orientation);
}
else
@@ -1108,16 +1031,12 @@ void
gtk_progress_bar_set_fraction (GtkProgressBar *pbar,
gdouble fraction)
{
+ GtkProgressBarPrivate* priv;
+
g_return_if_fail (GTK_IS_PROGRESS_BAR (pbar));
- /* If we know the percentage, we don't want activity mode. */
- gtk_progress_set_activity_mode (GTK_PROGRESS (pbar), FALSE);
-
- /* We use the deprecated GtkProgress interface internally.
- * Once everything's been deprecated for a good long time,
- * we can clean up all this code.
- */
- gtk_progress_set_percentage (GTK_PROGRESS (pbar), fraction);
+ priv = GTK_PROGRESS_BAR_GET_PRIVATE (pbar);
+ priv->fraction = fraction;
g_object_notify (G_OBJECT (pbar), "fraction");
}
@@ -1137,8 +1056,9 @@ gtk_progress_bar_pulse (GtkProgressBar *pbar)
{
g_return_if_fail (GTK_IS_PROGRESS_BAR (pbar));
- /* If we don't know the percentage, we must want activity mode. */
- gtk_progress_set_activity_mode (GTK_PROGRESS (pbar), TRUE);
+ GTK_PROGRESS_GET_CLASS (pbar)->act_mode_enter (GTK_PROGRESS (pbar));
+ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (pbar)))
+ gtk_widget_queue_resize (GTK_WIDGET (pbar));
/* Sigh. */
gtk_progress_bar_real_update (GTK_PROGRESS (pbar));
@@ -1155,16 +1075,13 @@ void
gtk_progress_bar_set_text (GtkProgressBar *pbar,
const gchar *text)
{
+ GtkProgressBarPrivate *priv;
+
g_return_if_fail (GTK_IS_PROGRESS_BAR (pbar));
- gtk_progress_set_show_text (GTK_PROGRESS (pbar), text && *text);
- gtk_progress_set_format_string (GTK_PROGRESS (pbar), text);
-
- /* We don't support formats in this interface, but turn
- * them back on for NULL, which should put us back to
- * the initial state.
- */
- GTK_PROGRESS (pbar)->use_text_format = (text == NULL);
+ priv = GTK_PROGRESS_BAR_GET_PRIVATE (pbar);
+ g_free (priv->text);
+ priv->text = text && *text ? g_strdup (text) : NULL;
g_object_notify (G_OBJECT (pbar), "text");
}
@@ -1188,19 +1105,6 @@ gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,
g_object_notify (G_OBJECT (pbar), "pulse-step");
}
-void
-gtk_progress_bar_update (GtkProgressBar *pbar,
- gdouble percentage)
-{
- g_return_if_fail (GTK_IS_PROGRESS_BAR (pbar));
-
- /* Use of gtk_progress_bar_update() is deprecated !
- * Use gtk_progress_bar_set_percentage ()
- */
-
- gtk_progress_set_percentage (GTK_PROGRESS (pbar), percentage);
-}
-
/**
* gtk_progress_bar_set_orientation:
* @pbar: a #GtkProgressBar
@@ -1241,12 +1145,12 @@ gtk_progress_bar_set_orientation (GtkProgressBar *pbar,
G_CONST_RETURN gchar*
gtk_progress_bar_get_text (GtkProgressBar *pbar)
{
+ GtkProgressBarPrivate* priv;
+
g_return_val_if_fail (GTK_IS_PROGRESS_BAR (pbar), NULL);
- if (GTK_PROGRESS (pbar)->use_text_format)
- return NULL;
- else
- return GTK_PROGRESS (pbar)->format;
+ priv = GTK_PROGRESS_BAR_GET_PRIVATE (pbar);
+ return priv->text;
}
/**
@@ -1260,9 +1164,12 @@ gtk_progress_bar_get_text (GtkProgressBar *pbar)
gdouble
gtk_progress_bar_get_fraction (GtkProgressBar *pbar)
{
+ GtkProgressBarPrivate* priv;
+
g_return_val_if_fail (GTK_IS_PROGRESS_BAR (pbar), 0);
- return gtk_progress_get_current_percentage (GTK_PROGRESS (pbar));
+ priv = GTK_PROGRESS_BAR_GET_PRIVATE (pbar);
+ return priv->fraction;
}
/**
diff --git a/gtk/gtkprogressbar.h b/gtk/gtkprogressbar.h
index 6f09b2c..acbaa6d 100644
--- a/gtk/gtkprogressbar.h
+++ b/gtk/gtkprogressbar.h
@@ -146,27 +146,6 @@ void gtk_progress_bar_set_ellipsize (GtkProgressBar *pbar,
PangoEllipsizeMode gtk_progress_bar_get_ellipsize (GtkProgressBar *pbar);
-#ifndef GTK_DISABLE_DEPRECATED
-
-/* Everything below here is deprecated */
-GtkWidget* gtk_progress_bar_new_with_adjustment (GtkAdjustment *adjustment);
-void gtk_progress_bar_set_bar_style (GtkProgressBar *pbar,
- GtkProgressBarStyle style);
-void gtk_progress_bar_set_discrete_blocks (GtkProgressBar *pbar,
- guint blocks);
-/* set_activity_step() is not only deprecated, it doesn't even work.
- * (Of course, it wasn't usable anyway, you had to set it from a size_allocate
- * handler or something)
- */
-void gtk_progress_bar_set_activity_step (GtkProgressBar *pbar,
- guint step);
-void gtk_progress_bar_set_activity_blocks (GtkProgressBar *pbar,
- guint blocks);
-void gtk_progress_bar_update (GtkProgressBar *pbar,
- gdouble percentage);
-
-#endif /* GTK_DISABLE_DEPRECATED */
-
G_END_DECLS
#endif /* __GTK_PROGRESS_BAR_H__ */
diff --git a/tests/stresstest-toolbar.c b/tests/stresstest-toolbar.c
index 8a4f201..7267981 100644
--- a/tests/stresstest-toolbar.c
+++ b/tests/stresstest-toolbar.c
@@ -35,7 +35,8 @@ add_random (GtkToolbar *toolbar, gint n)
gint position;
gchar *label = g_strdup_printf ("Button %d", n);
- GtkWidget *widget = gtk_button_new_with_label (label);
+ GtkWidget *widget = gtk_tool_button_new (NULL, label);
+ gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (widget), "Bar");
g_free (label);
gtk_widget_show_all (widget);
@@ -45,7 +46,7 @@ add_random (GtkToolbar *toolbar, gint n)
else
position = g_random_int_range (0, g_list_length (toolbar->children));
- gtk_toolbar_insert_widget (toolbar, widget, "Bar", "Baz", position);
+ gtk_toolbar_insert (toolbar, widget, position);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]