[gtk+] expander: Deprecate style properties
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] expander: Deprecate style properties
- Date: Fri, 18 Dec 2015 14:26:45 +0000 (UTC)
commit 666e4135e84b0391b4194e4fe3243fbd12eeace1
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Dec 18 09:26:16 2015 -0500
expander: Deprecate style properties
This can all be done with CSS properties now.
gtk/gtkexpander.c | 98 +++++++++++++++++++++++++++++-----------------------
1 files changed, 55 insertions(+), 43 deletions(-)
---
diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c
index ce1f9f1..9892423 100644
--- a/gtk/gtkexpander.c
+++ b/gtk/gtkexpander.c
@@ -120,6 +120,8 @@
#include "a11y/gtkexpanderaccessible.h"
#include "gtkstylecontextprivate.h"
#include "gtkcsscustomgadgetprivate.h"
+#include "gtkcssnumbervalueprivate.h"
+#include "gtkcssstyleprivate.h"
#include "gtkwidgetprivate.h"
#include "gtkcontainerprivate.h"
@@ -420,6 +422,13 @@ gtk_expander_class_init (GtkExpanderClass *klass)
FALSE,
GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
+ /**
+ * GtkExpander:expander-size:
+ *
+ * The size of the expander arrow.
+ *
+ * Deprecated: 3.20: Use CSS min-width and min-height instead.
+ */
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("expander-size",
P_("Expander Size"),
@@ -427,8 +436,16 @@ gtk_expander_class_init (GtkExpanderClass *klass)
0,
G_MAXINT,
DEFAULT_EXPANDER_SIZE,
- GTK_PARAM_READABLE));
+ GTK_PARAM_READABLE|G_PARAM_DEPRECATED));
+ /**
+ * GtkExpander:expander-spacing:
+ *
+ * Spaing around the expander arrow.
+ *
+ * Deprecated: 3.20: Use CSS margins instead, the value of this
+ * style property is ignored.
+ */
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("expander-spacing",
P_("Indicator Spacing"),
@@ -436,7 +453,7 @@ gtk_expander_class_init (GtkExpanderClass *klass)
0,
G_MAXINT,
DEFAULT_EXPANDER_SPACING,
- GTK_PARAM_READABLE));
+ GTK_PARAM_READABLE|G_PARAM_DEPRECATED));
widget_class->activate_signal =
g_signal_new (I_("activate"),
@@ -774,7 +791,6 @@ gtk_expander_allocate_title (GtkCssGadget *gadget,
GtkExpander *expander;
GtkExpanderPrivate *priv;
gint arrow_width, arrow_height;
- gint expander_spacing;
gint label_height;
gint label_xoffset;
GtkAllocation arrow_allocation;
@@ -795,11 +811,7 @@ gtk_expander_allocate_title (GtkCssGadget *gadget,
NULL, &arrow_height,
NULL, NULL);
- gtk_widget_style_get (widget,
- "expander-spacing", &expander_spacing,
- NULL);
-
- label_xoffset = arrow_width + 2 * expander_spacing;
+ label_xoffset = arrow_width;
if (priv->label_widget && gtk_widget_get_visible (priv->label_widget))
{
GtkAllocation label_allocation;
@@ -838,9 +850,9 @@ gtk_expander_allocate_title (GtkCssGadget *gadget,
}
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
- arrow_allocation.x = allocation->x + allocation->width - expander_spacing - arrow_width;
+ arrow_allocation.x = allocation->x + allocation->width - arrow_width;
else
- arrow_allocation.x = allocation->x + expander_spacing;
+ arrow_allocation.x = allocation->x;
arrow_allocation.y = allocation->y;
arrow_allocation.width = arrow_width;
arrow_allocation.height = arrow_height;
@@ -1510,7 +1522,7 @@ gtk_expander_measure_title (GtkCssGadget *gadget,
GtkExpander *expander;
GtkExpanderPrivate *priv;
gint arrow_width, arrow_height;
- gint expander_spacing;
+ gint label_min, label_nat;
widget = gtk_css_gadget_get_owner (gadget);
expander = GTK_EXPANDER (widget);
@@ -1527,50 +1539,33 @@ gtk_expander_measure_title (GtkCssGadget *gadget,
NULL, &arrow_height,
NULL, NULL);
- gtk_widget_style_get (GTK_WIDGET (widget),
- "expander-spacing", &expander_spacing,
- NULL);
-
if (orientation == GTK_ORIENTATION_HORIZONTAL)
{
- *minimum = *natural = arrow_width + 2 * expander_spacing;
-
if (priv->label_widget && gtk_widget_get_visible (priv->label_widget))
- {
- gint label_min, label_nat;
-
- gtk_widget_get_preferred_width (priv->label_widget, &label_min, &label_nat);
+ gtk_widget_get_preferred_width (priv->label_widget, &label_min, &label_nat);
+ else
+ label_min = label_nat = 0;
- *minimum += label_min;
- *natural += label_nat;
- }
+ *minimum = arrow_width + label_min;
+ *natural = arrow_height + label_nat;
}
else
{
- gint label_xpad;
-
- label_xpad = arrow_width + 2 * expander_spacing;
-
- *minimum = *natural = 0;
-
if (priv->label_widget && gtk_widget_get_visible (priv->label_widget))
{
- gint label_min, label_nat;
-
if (for_size > 0)
gtk_widget_get_preferred_height_for_width (priv->label_widget,
- MAX (for_size - label_xpad, 1),
+ MAX (for_size - arrow_width, 1),
&label_min, &label_nat);
else
gtk_widget_get_preferred_height (priv->label_widget,
&label_min, &label_nat);
-
- *minimum += label_min;
- *natural += label_nat;
}
+ else
+ label_min = label_nat = 0;
- *minimum = MAX (*minimum, arrow_height + 2 * expander_spacing);
- *natural = MAX (*natural, *minimum);
+ *minimum = MAX (arrow_height, label_min);
+ *natural = MAX (arrow_height, label_nat);
}
}
@@ -1585,13 +1580,30 @@ gtk_expander_measure_arrow (GtkCssGadget *gadget,
gpointer data)
{
GtkWidget *widget = gtk_css_gadget_get_owner (gadget);
- gint expander_size;
+ GtkCssStyle *style;
+ guint property;
+ gdouble min_size;
+
+ style = gtk_css_gadget_get_style (gadget);
+ if (orientation == GTK_ORIENTATION_HORIZONTAL)
+ property = GTK_CSS_PROPERTY_MIN_WIDTH;
+ else
+ property = GTK_CSS_PROPERTY_MIN_HEIGHT;
- gtk_widget_style_get (GTK_WIDGET (widget),
- "expander-size", &expander_size,
- NULL);
+ min_size = _gtk_css_number_value_get (gtk_css_style_get_value (style, property), 100.0);
- *minimum = *natural = expander_size;
+ if (min_size > 0.0)
+ *minimum = *natural = 0;
+ else
+ {
+ gint expander_size;
+
+ gtk_widget_style_get (GTK_WIDGET (widget),
+ "expander-size", &expander_size,
+ NULL);
+
+ *minimum = *natural = expander_size;
+ }
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]