Don't rely on gtk_expander_get_label

svn path=/trunk/; revision=21812
This commit is contained in:
Matthias Clasen
2008-11-28 04:04:03 +00:00
parent 46e4d22c89
commit dc3547de3c
2 changed files with 25 additions and 4 deletions

View File

@@ -1,3 +1,10 @@
2008-11-27 Matthias Clasen <mclasen@redhat.com>
Bug 353088 gtk_expander_get_label should return the full label text
* gailexpander.c: Don't rely on gtk_expander_get_label.
Patch by Peter Johanson.
2008-11-24 Li Yuan <li.yuan@sun.com>
* gailnotebook.c: (gail_notebook_page_added):

View File

@@ -45,6 +45,7 @@ static void gail_expander_real_initialize (AtkObject *
static void gail_expander_finalize (GObject *object);
static void gail_expander_init_textutil (GailExpander *expander,
GtkExpander *widget);
static G_CONST_RETURN gchar* gail_expander_get_full_text (GtkExpander *widget);
static void atk_action_interface_init (AtkActionIface *iface);
static gboolean gail_expander_do_action (AtkAction *action,
@@ -169,7 +170,7 @@ gail_expander_get_name (AtkObject *obj)
g_return_val_if_fail (GTK_IS_EXPANDER (widget), NULL);
return gtk_expander_get_label (GTK_EXPANDER (widget));
return gail_expander_get_full_text (GTK_EXPANDER (widget));
}
}
@@ -293,7 +294,7 @@ gail_expander_real_notify_gtk (GObject *obj,
const gchar* label_text;
label_text = gtk_expander_get_label (expander);
label_text = gail_expander_get_full_text (expander);
gail_expander = GAIL_EXPANDER (atk_obj);
if (gail_expander->textutil)
@@ -323,6 +324,19 @@ gail_expander_real_notify_gtk (GObject *obj,
GAIL_WIDGET_CLASS (gail_expander_parent_class)->notify_gtk (obj, pspec);
}
static G_CONST_RETURN gchar*
gail_expander_get_full_text (GtkExpander *widget)
{
GtkWidget *label_widget;
label_widget = gtk_expander_get_label_widget (widget);
if (!GTK_IS_LABEL (label_widget))
return NULL;
return gtk_label_get_text (GTK_LABEL (label_widget));
}
static void
gail_expander_init_textutil (GailExpander *expander,
GtkExpander *widget)
@@ -330,7 +344,7 @@ gail_expander_init_textutil (GailExpander *expander,
const gchar *label_text;
expander->textutil = gail_text_util_new ();
label_text = gtk_expander_get_label (widget);
label_text = gail_expander_get_full_text (widget);
gail_text_util_text_setup (expander->textutil, label_text);
}
@@ -578,7 +592,7 @@ gail_expander_get_text (AtkText *text,
if (!expander->textutil)
gail_expander_init_textutil (expander, GTK_EXPANDER (widget));
label_text = gtk_expander_get_label (GTK_EXPANDER (widget));
label_text = gail_expander_get_full_text (GTK_EXPANDER (widget));
if (label_text == NULL)
return NULL;