All pastes #406795 Raw Edit

GAIL ROCKS.

public c v1 · immutable
·published 2007-03-22 18:17 UTC
rendered paste body
else if (GTK_IS_MENU_ITEM (widget))        {          GtkWidget *parent;          GtkWidget *attach;          GList *list;          AtkObject *parent_obj;          gint index;           parent = gtk_widget_get_parent (widget);          if (GTK_IS_MENU (parent))             {                           attach = gtk_menu_get_attach_widget (GTK_MENU (parent));                                            if (GTK_IS_OPTION_MENU (attach))                {                                label = get_label_from_container (attach);                  if (GTK_IS_LABEL (label))                    return gtk_label_get_text (GTK_LABEL(label));                }                                list = gtk_container_get_children (GTK_CONTAINER (parent));              index = g_list_index (list, widget);              g_list_free (list);              parent_obj = atk_object_get_parent (gtk_widget_get_accessible (parent));                                if (GTK_IS_ACCESSIBLE (parent_obj))                {                     parent = GTK_ACCESSIBLE (parent_obj)->widget;                  if (GTK_IS_COMBO_BOX (parent))                    {                      GtkTreeModel *model;                      GtkTreeIter iter;                      GailItem *item;                      gint n_columns, i;                            model = gtk_combo_box_get_model (GTK_COMBO_BOX (parent));                            item = GAIL_ITEM (obj);                      g_free (item->text);                      if (gtk_tree_model_iter_nth_child (model, &iter, NULL, index))                        {                          n_columns = gtk_tree_model_get_n_columns (model);                          for (i = 0; i < n_columns; i++)                            {                              GValue value = { 0, };                                 gtk_tree_model_get_value (model, &iter, i, &value);                               if (G_VALUE_HOLDS_STRING (&value))                                 {                                   item->text =  (gchar *) g_value_get_string (&value);                                   break;                                 }                            }                        }                      name = item->text;                    }                }            }        }