[gtk+/extended-layout-jhs: 26/64] Properly report feature set and consider baseline_policy when evaluating
- From: Johannes Schmid <jhs src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtk+/extended-layout-jhs: 26/64] Properly report feature set and consider baseline_policy when evaluating
- Date: Wed, 25 Nov 2009 11:21:05 +0000 (UTC)
commit d4c505fa9f881f96021a0406b46663fe37a0c6d0
Author: Mathias Hasselmann <mathias hasselmann gmx de>
Date: Sun Jul 1 21:12:07 2007 +0000
Properly report feature set and consider baseline_policy when evaluating
2007-07-01 Mathias Hasselmann <mathias hasselmann gmx de>
* gtk/gtkhbox.c: Properly report feature set and consider
baseline_policy when evaluating the baseline of the box.
* gtk/gtklabel.c: Adjust the coding style of get_features
to match the style of GtkHBox.
svn path=/branches/extended-layout/; revision=18327
ChangeLog.gtk-extended-layout | 7 ++++++
gtk/gtkhbox.c | 46 ++++++++++++++++-------------------------
gtk/gtklabel.c | 13 +++++------
3 files changed, 31 insertions(+), 35 deletions(-)
---
diff --git a/ChangeLog.gtk-extended-layout b/ChangeLog.gtk-extended-layout
index fc29b68..abaf707 100644
--- a/ChangeLog.gtk-extended-layout
+++ b/ChangeLog.gtk-extended-layout
@@ -1,5 +1,12 @@
2007-07-01 Mathias Hasselmann <mathias hasselmann gmx de>
+ * gtk/gtkhbox.c: Properly report feature set and consider
+ baseline_policy when evaluating the baseline of the box.
+ * gtk/gtklabel.c: Adjust the coding style of get_features
+ to match the style of GtkHBox.
+
+2007-07-01 Mathias Hasselmann <mathias hasselmann gmx de>
+
* gtk/gtkhbox.c: Make baseline alignment work, by ignoring the uniform
height constraint a GtkHBox implies. TODO: Obey that constraint.
diff --git a/gtk/gtkhbox.c b/gtk/gtkhbox.c
index 9540f48..a0b32d3 100644
--- a/gtk/gtkhbox.c
+++ b/gtk/gtkhbox.c
@@ -161,24 +161,6 @@ gtk_hbox_get_property (GObject *object,
}
}
-static gboolean
-debug_wanted (GtkWidget *widget)
-{
- gpointer ptr;
-
- while (widget)
- {
- ptr = g_object_get_data (G_OBJECT (widget), "debug-wanted");
-
- if (GPOINTER_TO_INT (ptr))
- return TRUE;
-
- widget = gtk_widget_get_parent (widget);
- }
-
- return FALSE;
-}
-
static void
gtk_hbox_size_request (GtkWidget *widget,
GtkRequisition *requisition)
@@ -260,11 +242,6 @@ gtk_hbox_size_request (GtkWidget *widget,
requisition->width += child_requisition.width + child->padding * 2;
}
-if (debug_wanted (child->widget))
- g_debug("%s[%d:%s]: baseline=%d (%d)",
- gtk_widget_get_name (widget), i_child, G_OBJECT_TYPE_NAME (child->widget),
- priv->baselines[i_child], priv->effective_baseline);
-
child_requisition.height += MAX (0, (priv->effective_baseline - priv->baselines[i_child]));
requisition->height = MAX (requisition->height, child_requisition.height);
@@ -481,9 +458,16 @@ gtk_hbox_set_baseline_policy (GtkHBox *hbox,
static GtkExtendedLayoutFeatures
gtk_hbox_extended_layout_get_features (GtkExtendedLayout *layout)
{
- return
- GTK_EXTENDED_LAYOUT_NATURAL_SIZE |
- GTK_EXTENDED_LAYOUT_BASELINES;
+ GtkExtendedLayoutFeatures features;
+ GtkHBoxPrivate *priv;
+
+ features = GTK_EXTENDED_LAYOUT_NATURAL_SIZE;
+ priv = GTK_HBOX_GET_PRIVATE (layout);
+
+ if (GTK_BASELINE_NONE != priv->baseline_policy)
+ features |= GTK_EXTENDED_LAYOUT_BASELINES;
+
+ return features;
}
static void
@@ -524,7 +508,8 @@ static gint
gtk_hbox_extended_layout_get_baselines (GtkExtendedLayout *layout,
gint **baselines)
{
- GtkBox *box = GTK_BOX (layout);
+ GtkHBoxPrivate *priv;
+ GtkBox *box;
gint hbox_baseline = 0;
gint child_baseline;
@@ -532,6 +517,11 @@ gtk_hbox_extended_layout_get_baselines (GtkExtendedLayout *layout,
GtkBoxChild *child;
GList *children;
+ priv = GTK_HBOX_GET_PRIVATE (layout);
+
+ g_return_val_if_fail (GTK_BASELINE_NONE != priv->baseline_policy, -1);
+
+ box = GTK_BOX (layout);
children = box->children;
while (children)
@@ -544,7 +534,7 @@ gtk_hbox_extended_layout_get_baselines (GtkExtendedLayout *layout,
GTK_EXTENDED_LAYOUT_HAS_BASELINES (child->widget))
{
child_baseline = gtk_extended_layout_get_single_baseline (
- GTK_EXTENDED_LAYOUT (child->widget), GTK_BASELINE_FIRST);
+ GTK_EXTENDED_LAYOUT (child->widget), priv->baseline_policy);
hbox_baseline = MAX (hbox_baseline, child_baseline);
}
}
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index f7f0d75..45e3465 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -4230,19 +4230,18 @@ gtk_label_do_popup (GtkLabel *label,
static GtkExtendedLayoutFeatures
gtk_label_extended_layout_get_features (GtkExtendedLayout *layout)
{
+ GtkExtendedLayoutFeatures features;
GtkLabel *label;
+ features =
+ GTK_EXTENDED_LAYOUT_NATURAL_SIZE |
+ GTK_EXTENDED_LAYOUT_BASELINES;
label = GTK_LABEL (layout);
if (label->wrap)
- return
- GTK_EXTENDED_LAYOUT_HEIGHT_FOR_WIDTH |
- GTK_EXTENDED_LAYOUT_NATURAL_SIZE |
- GTK_EXTENDED_LAYOUT_BASELINES;
+ features |= GTK_EXTENDED_LAYOUT_HEIGHT_FOR_WIDTH;
- return
- GTK_EXTENDED_LAYOUT_NATURAL_SIZE |
- GTK_EXTENDED_LAYOUT_BASELINES;
+ return features;
}
static gint
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]