[gtk+/resolution-independence: 9/24] port GtkExpander, GtkFixed, GtkProgressBar and GtkGamma to RI
- From: Davyd Madeley <davyd src gnome org>
- To: svn-commits-list gnome org
- Subject: [gtk+/resolution-independence: 9/24] port GtkExpander, GtkFixed, GtkProgressBar and GtkGamma to RI
- Date: Sat, 2 May 2009 02:17:47 -0400 (EDT)
commit 30c5e6fe7a5965bd6c2fae9b54997b95b7222024
Author: David Zeuthen <davidz redhat com>
Date: Wed Aug 13 14:22:48 2008 -0400
port GtkExpander, GtkFixed, GtkProgressBar and GtkGamma to RI
min/max for GtkExpander
min/max for GtkFixed
min/max for GtkProgressBar
fixed gtkprogressbar.c
fixed gtkfixed.c
fixed gtkexpander.c
---
docs/reference/gtk/gtk-sections.txt | 1 +
gtk/gtk.symbols | 1 +
gtk/gtkexpander.c | 64 +++++++++++++++++++-------------
gtk/gtkexpander.h | 3 +-
gtk/gtkfixed.c | 52 ++++++++++++--------------
gtk/gtkfixed.h | 12 +++---
gtk/gtkgamma.c | 10 +++---
gtk/gtkprogressbar.c | 68 +++++++++++++++++-----------------
8 files changed, 111 insertions(+), 100 deletions(-)
diff --git a/docs/reference/gtk/gtk-sections.txt b/docs/reference/gtk/gtk-sections.txt
index 4b1cd42..92c60f4 100644
--- a/docs/reference/gtk/gtk-sections.txt
+++ b/docs/reference/gtk/gtk-sections.txt
@@ -1417,6 +1417,7 @@ gtk_expander_set_expanded
gtk_expander_get_expanded
gtk_expander_set_spacing
gtk_expander_get_spacing
+gtk_expander_get_spacing_unit
gtk_expander_set_label
gtk_expander_get_label
gtk_expander_set_use_underline
diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols
index ee88445..9d13ae3 100644
--- a/gtk/gtk.symbols
+++ b/gtk/gtk.symbols
@@ -1435,6 +1435,7 @@ gtk_expander_get_expanded
gtk_expander_get_label
gtk_expander_get_label_widget
gtk_expander_get_spacing
+gtk_expander_get_spacing_unit
gtk_expander_get_type G_GNUC_CONST
gtk_expander_get_use_markup
gtk_expander_get_use_underline
diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c
index 6866f98..8977ac0 100644
--- a/gtk/gtkexpander.c
+++ b/gtk/gtkexpander.c
@@ -38,8 +38,8 @@
#define GTK_EXPANDER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_EXPANDER, GtkExpanderPrivate))
-#define DEFAULT_EXPANDER_SIZE 10
-#define DEFAULT_EXPANDER_SPACING 2
+#define DEFAULT_EXPANDER_SIZE GTK_SIZE_ONE_TWELFTH_EM(10)
+#define DEFAULT_EXPANDER_SPACING GTK_SIZE_ONE_TWELFTH_EM(2)
enum
{
@@ -215,13 +215,11 @@ gtk_expander_class_init (GtkExpanderClass *klass)
g_object_class_install_property (gobject_class,
PROP_SPACING,
- g_param_spec_int ("spacing",
- P_("Spacing"),
- P_("Space to put between the label and the child"),
- 0,
- G_MAXINT,
- 0,
- GTK_PARAM_READWRITE));
+ gtk_param_spec_size ("spacing",
+ P_("Spacing"),
+ P_("Space to put between the label and the child"),
+ 0, G_MAXINT, 0,
+ GTK_PARAM_READWRITE));
g_object_class_install_property (gobject_class,
PROP_LABEL_WIDGET,
@@ -232,22 +230,18 @@ gtk_expander_class_init (GtkExpanderClass *klass)
GTK_PARAM_READWRITE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("expander-size",
- P_("Expander Size"),
- P_("Size of the expander arrow"),
- 0,
- G_MAXINT,
- DEFAULT_EXPANDER_SIZE,
- GTK_PARAM_READABLE));
+ gtk_param_spec_size ("expander-size",
+ P_("Expander Size"),
+ P_("Size of the expander arrow"),
+ 0, G_MAXINT, DEFAULT_EXPANDER_SIZE,
+ GTK_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("expander-spacing",
- P_("Indicator Spacing"),
- P_("Spacing around expander arrow"),
- 0,
- G_MAXINT,
- DEFAULT_EXPANDER_SPACING,
- GTK_PARAM_READABLE));
+ gtk_param_spec_size ("expander-spacing",
+ P_("Indicator Spacing"),
+ P_("Spacing around expander arrow"),
+ 0, G_MAXINT, DEFAULT_EXPANDER_SPACING,
+ GTK_PARAM_READABLE));
widget_class->activate_signal =
g_signal_new (I_("activate"),
@@ -330,7 +324,7 @@ gtk_expander_set_property (GObject *object,
gtk_expander_set_use_markup (expander, g_value_get_boolean (value));
break;
case PROP_SPACING:
- gtk_expander_set_spacing (expander, g_value_get_int (value));
+ gtk_expander_set_spacing (expander, gtk_value_get_size (value));
break;
case PROP_LABEL_WIDGET:
gtk_expander_set_label_widget (expander, g_value_get_object (value));
@@ -365,7 +359,7 @@ gtk_expander_get_property (GObject *object,
g_value_set_boolean (value, priv->use_markup);
break;
case PROP_SPACING:
- g_value_set_int (value, priv->spacing);
+ gtk_value_set_size (value, priv->spacing, expander);
break;
case PROP_LABEL_WIDGET:
g_value_set_object (value,
@@ -1459,7 +1453,7 @@ gtk_expander_get_expanded (GtkExpander *expander)
**/
void
gtk_expander_set_spacing (GtkExpander *expander,
- gint spacing)
+ GtkSize spacing)
{
g_return_if_fail (GTK_IS_EXPANDER (expander));
g_return_if_fail (spacing >= 0);
@@ -1489,6 +1483,24 @@ gtk_expander_get_spacing (GtkExpander *expander)
{
g_return_val_if_fail (GTK_IS_EXPANDER (expander), 0);
+ return gtk_widget_size_to_pixel (expander, expander->priv->spacing);
+}
+
+/**
+ * gtk_expander_get_spacing_unit:
+ * @expander: a #GtkExpander
+ *
+ * Like gtk_expander_set_spacing() but preserves the unit.
+ *
+ * Return value: spacing between the expander and child.
+ *
+ * Since: 2.14
+ **/
+GtkSize
+gtk_expander_get_spacing_unit (GtkExpander *expander)
+{
+ g_return_val_if_fail (GTK_IS_EXPANDER (expander), 0);
+
return expander->priv->spacing;
}
diff --git a/gtk/gtkexpander.h b/gtk/gtkexpander.h
index dc07a6c..1961882 100644
--- a/gtk/gtkexpander.h
+++ b/gtk/gtkexpander.h
@@ -71,8 +71,9 @@ gboolean gtk_expander_get_expanded (GtkExpander *expander);
/* Spacing between the expander/label and the child */
void gtk_expander_set_spacing (GtkExpander *expander,
- gint spacing);
+ GtkSize spacing);
gint gtk_expander_get_spacing (GtkExpander *expander);
+GtkSize gtk_expander_get_spacing_unit (GtkExpander *expander);
void gtk_expander_set_label (GtkExpander *expander,
const gchar *label);
diff --git a/gtk/gtkfixed.c b/gtk/gtkfixed.c
index 96c4a8d..8b4fbb6 100644
--- a/gtk/gtkfixed.c
+++ b/gtk/gtkfixed.c
@@ -86,23 +86,19 @@ gtk_fixed_class_init (GtkFixedClass *class)
gtk_container_class_install_child_property (container_class,
CHILD_PROP_X,
- g_param_spec_int ("x",
- P_("X position"),
- P_("X position of child widget"),
- G_MININT,
- G_MAXINT,
- 0,
- GTK_PARAM_READWRITE));
+ gtk_param_spec_size ("x",
+ P_("X position"),
+ P_("X position of child widget"),
+ 0, G_MAXINT, 0,
+ GTK_PARAM_READWRITE));
gtk_container_class_install_child_property (container_class,
CHILD_PROP_Y,
- g_param_spec_int ("y",
- P_("Y position"),
- P_("Y position of child widget"),
- G_MININT,
- G_MAXINT,
- 0,
- GTK_PARAM_READWRITE));
+ gtk_param_spec_size ("y",
+ P_("Y position"),
+ P_("Y position of child widget"),
+ 0, G_MAXINT, 0,
+ GTK_PARAM_READWRITE));
}
static GType
@@ -149,8 +145,8 @@ get_child (GtkFixed *fixed,
void
gtk_fixed_put (GtkFixed *fixed,
GtkWidget *widget,
- gint x,
- gint y)
+ GtkSize x,
+ GtkSize y)
{
GtkFixedChild *child_info;
@@ -171,9 +167,9 @@ static void
gtk_fixed_move_internal (GtkFixed *fixed,
GtkWidget *widget,
gboolean change_x,
- gint x,
+ GtkSize x,
gboolean change_y,
- gint y)
+ GtkSize y)
{
GtkFixedChild *child;
@@ -208,8 +204,8 @@ gtk_fixed_move_internal (GtkFixed *fixed,
void
gtk_fixed_move (GtkFixed *fixed,
GtkWidget *widget,
- gint x,
- gint y)
+ GtkSize x,
+ GtkSize y)
{
gtk_fixed_move_internal (fixed, widget, TRUE, x, TRUE, y);
}
@@ -226,14 +222,14 @@ gtk_fixed_set_child_property (GtkContainer *container,
case CHILD_PROP_X:
gtk_fixed_move_internal (GTK_FIXED (container),
child,
- TRUE, g_value_get_int (value),
+ TRUE, gtk_value_get_size (value),
FALSE, 0);
break;
case CHILD_PROP_Y:
gtk_fixed_move_internal (GTK_FIXED (container),
child,
FALSE, 0,
- TRUE, g_value_get_int (value));
+ TRUE, gtk_value_get_size (value));
break;
default:
GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec);
@@ -255,10 +251,10 @@ gtk_fixed_get_child_property (GtkContainer *container,
switch (property_id)
{
case CHILD_PROP_X:
- g_value_set_int (value, fixed_child->x);
+ gtk_value_set_size (value, fixed_child->x, container);
break;
case CHILD_PROP_Y:
- g_value_set_int (value, fixed_child->y);
+ gtk_value_set_size (value, fixed_child->y, container);
break;
default:
GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec);
@@ -324,10 +320,10 @@ gtk_fixed_size_request (GtkWidget *widget,
gtk_widget_size_request (child->widget, &child_requisition);
requisition->height = MAX (requisition->height,
- child->y +
+ gtk_widget_size_to_pixel (fixed, child->y) +
child_requisition.height);
requisition->width = MAX (requisition->width,
- child->x +
+ gtk_widget_size_to_pixel (fixed, child->x) +
child_requisition.width);
}
}
@@ -372,8 +368,8 @@ gtk_fixed_size_allocate (GtkWidget *widget,
if (GTK_WIDGET_VISIBLE (child->widget))
{
gtk_widget_get_child_requisition (child->widget, &child_requisition);
- child_allocation.x = child->x + border_width;
- child_allocation.y = child->y + border_width;
+ child_allocation.x = gtk_widget_size_to_pixel (fixed, child->x) + border_width;
+ child_allocation.y = gtk_widget_size_to_pixel (fixed, child->y) + border_width;
if (GTK_WIDGET_NO_WINDOW (widget))
{
diff --git a/gtk/gtkfixed.h b/gtk/gtkfixed.h
index 7c78247..8ceb021 100644
--- a/gtk/gtkfixed.h
+++ b/gtk/gtkfixed.h
@@ -64,8 +64,8 @@ struct _GtkFixedClass
struct _GtkFixedChild
{
GtkWidget *widget;
- gint x;
- gint y;
+ GtkSize x;
+ GtkSize y;
};
@@ -73,12 +73,12 @@ GType gtk_fixed_get_type (void) G_GNUC_CONST;
GtkWidget* gtk_fixed_new (void);
void gtk_fixed_put (GtkFixed *fixed,
GtkWidget *widget,
- gint x,
- gint y);
+ GtkSize x,
+ GtkSize y);
void gtk_fixed_move (GtkFixed *fixed,
GtkWidget *widget,
- gint x,
- gint y);
+ GtkSize x,
+ GtkSize y);
void gtk_fixed_set_has_window (GtkFixed *fixed,
gboolean has_window);
gboolean gtk_fixed_get_has_window (GtkFixed *fixed);
diff --git a/gtk/gtkgamma.c b/gtk/gtkgamma.c
index fd03f85..9b825c0 100644
--- a/gtk/gtkgamma.c
+++ b/gtk/gtkgamma.c
@@ -258,7 +258,7 @@ gtk_gamma_curve_init (GtkGammaCurve *curve)
curve->gamma = 1.0;
curve->table = gtk_table_new (1, 2, FALSE);
- gtk_table_set_col_spacings (GTK_TABLE (curve->table), 3);
+ gtk_table_set_col_spacings (GTK_TABLE (curve->table), GTK_SIZE_ONE_TWELFTH_EM (3));
gtk_container_add (GTK_CONTAINER (curve), curve->table);
curve->curve = gtk_curve_new ();
@@ -266,7 +266,7 @@ gtk_gamma_curve_init (GtkGammaCurve *curve)
G_CALLBACK (curve_type_changed_callback), curve);
gtk_table_attach_defaults (GTK_TABLE (curve->table), curve->curve, 0, 1, 0, 1);
- vbox = gtk_vbox_new (/* homogeneous */ FALSE, /* spacing */ 3);
+ vbox = gtk_vbox_new (/* homogeneous */ FALSE, /* spacing */ GTK_SIZE_ONE_TWELFTH_EM (3));
gtk_table_attach (GTK_TABLE (curve->table), vbox, 1, 2, 0, 1, 0, 0, 0, 0);
/* toggle buttons: */
@@ -412,18 +412,18 @@ button_clicked_callback (GtkWidget *w, gpointer data)
vbox = GTK_DIALOG (c->gamma_dialog)->vbox;
hbox = gtk_hbox_new (/* homogeneous */ FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 2);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, GTK_SIZE_ONE_TWELFTH_EM (2));
gtk_widget_show (hbox);
label = gtk_label_new_with_mnemonic (_("_Gamma value"));
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 2);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, GTK_SIZE_ONE_TWELFTH_EM (2));
gtk_widget_show (label);
sprintf (buf, "%g", c->gamma);
c->gamma_text = gtk_entry_new ();
gtk_label_set_mnemonic_widget (GTK_LABEL (label), c->gamma_text);
gtk_entry_set_text (GTK_ENTRY (c->gamma_text), buf);
- gtk_box_pack_start (GTK_BOX (hbox), c->gamma_text, TRUE, TRUE, 2);
+ gtk_box_pack_start (GTK_BOX (hbox), c->gamma_text, TRUE, TRUE, GTK_SIZE_ONE_TWELFTH_EM (2));
gtk_widget_show (c->gamma_text);
/* fill in action area: */
diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c
index 96b3167..f7100da 100644
--- a/gtk/gtkprogressbar.c
+++ b/gtk/gtkprogressbar.c
@@ -37,10 +37,10 @@
#include "gtkalias.h"
-#define MIN_HORIZONTAL_BAR_WIDTH 150
-#define MIN_HORIZONTAL_BAR_HEIGHT 20
-#define MIN_VERTICAL_BAR_WIDTH 22
-#define MIN_VERTICAL_BAR_HEIGHT 80
+#define MIN_HORIZONTAL_BAR_WIDTH GTK_SIZE_ONE_TWELFTH_EM(150)
+#define MIN_HORIZONTAL_BAR_HEIGHT GTK_SIZE_ONE_TWELFTH_EM(20)
+#define MIN_VERTICAL_BAR_WIDTH GTK_SIZE_ONE_TWELFTH_EM(22)
+#define MIN_VERTICAL_BAR_HEIGHT GTK_SIZE_ONE_TWELFTH_EM(80)
enum {
PROP_0,
@@ -210,17 +210,17 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
PANGO_ELLIPSIZE_NONE,
GTK_PARAM_READWRITE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("xspacing",
- P_("XSpacing"),
- P_("Extra spacing applied to the width of a progress bar."),
- 0, G_MAXINT, 7,
- G_PARAM_READWRITE));
+ gtk_param_spec_size ("xspacing",
+ P_("XSpacing"),
+ P_("Extra spacing applied to the width of a progress bar."),
+ 0, G_MAXINT, GTK_SIZE_ONE_TWELFTH_EM (7),
+ G_PARAM_READWRITE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("yspacing",
- P_("YSpacing"),
- P_("Extra spacing applied to the height of a progress bar."),
- 0, G_MAXINT, 7,
- G_PARAM_READWRITE));
+ gtk_param_spec_size ("yspacing",
+ P_("YSpacing"),
+ P_("Extra spacing applied to the height of a progress bar."),
+ 0, G_MAXINT, GTK_SIZE_ONE_TWELFTH_EM (7),
+ G_PARAM_READWRITE));
/**
* GtkProgressBar:min-horizontal-bar-width:
@@ -230,11 +230,11 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
* Since: 2.14
*/
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("min-horizontal-bar-width",
- P_("Min horizontal bar width"),
- P_("The minimum horizontal width of the progress bar"),
- 1, G_MAXINT, MIN_HORIZONTAL_BAR_WIDTH,
- G_PARAM_READWRITE));
+ gtk_param_spec_size ("min-horizontal-bar-width",
+ P_("Min horizontal bar width"),
+ P_("The minimum horizontal width of the progress bar"),
+ 0, G_MAXINT, MIN_HORIZONTAL_BAR_WIDTH,
+ G_PARAM_READWRITE));
/**
* GtkProgressBar:min-horizontal-bar-height:
*
@@ -243,11 +243,11 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
* Since: 2.14
*/
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("min-horizontal-bar-height",
- P_("Min horizontal bar height"),
- P_("Minimum horizontal height of the progress bar"),
- 1, G_MAXINT, MIN_HORIZONTAL_BAR_HEIGHT,
- G_PARAM_READWRITE));
+ gtk_param_spec_size ("min-horizontal-bar-height",
+ P_("Min horizontal bar height"),
+ P_("Minimum horizontal height of the progress bar"),
+ 0, G_MAXINT, MIN_HORIZONTAL_BAR_HEIGHT,
+ G_PARAM_READWRITE));
/**
* GtkProgressBar:min-vertical-bar-width:
*
@@ -256,11 +256,11 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
* Since: 2.14
*/
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("min-vertical-bar-width",
- P_("Min vertical bar width"),
- P_("The minimum vertical width of the progress bar"),
- 1, G_MAXINT, MIN_VERTICAL_BAR_WIDTH,
- G_PARAM_READWRITE));
+ gtk_param_spec_size ("min-vertical-bar-width",
+ P_("Min vertical bar width"),
+ P_("The minimum vertical width of the progress bar"),
+ 0, G_MAXINT, MIN_VERTICAL_BAR_WIDTH,
+ G_PARAM_READWRITE));
/**
* GtkProgressBar:min-vertical-bar-height:
*
@@ -269,11 +269,11 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
* Since: 2.14
*/
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("min-vertical-bar-height",
- P_("Min vertical bar height"),
- P_("The minimum vertical height of the progress bar"),
- 1, G_MAXINT, MIN_VERTICAL_BAR_HEIGHT,
- G_PARAM_READWRITE));
+ gtk_param_spec_size ("min-vertical-bar-height",
+ P_("Min vertical bar height"),
+ P_("The minimum vertical height of the progress bar"),
+ 0, G_MAXINT, MIN_VERTICAL_BAR_HEIGHT,
+ G_PARAM_READWRITE));
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]