LINUX.ORG.RU

TreeModel


0

1

Написал функция добавления столбца в дерево.
компилируется,при запуске программы терминал выдает

(var1:11150): Gtk-CRITICAL **: gtk_tree_view_get_selection: assertion `GTK_IS_TREE_VIEW (tree_view)' failed

(var1:11150): Gtk-CRITICAL **: gtk_tree_selection_get_selected: assertion `GTK_IS_TREE_SELECTION (selection)' failed

не понимаю в чем именно ошибка.
Код


static void
append_item(GtkWidget *widget, gpointer entry)
{
GtkTreeStore *treestore;
GtkTreeIter child,iter;
GtkTreeSelection *selection;
GtkTreeModel *model;

selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));

const char *str = gtk_entry_get_text(entry);

treestore = GTK_TREE_STORE(gtk_tree_view_get_model(
GTK_TREE_VIEW(view)));

if (gtk_tree_selection_get_selected(GTK_TREE_SELECTION(selection),
&model, &iter)) {
gtk_tree_store_append(treestore, &child, &iter);
gtk_tree_store_set(treestore, &child,COLUMN, str,-1);
}
}
заранее спасибо

о мои глаза. Заканчивай уже использовать этот набор недокостылей под названием GTK

anonymous ()

>gtk_tree_selection_get_selected(GTK_TREE_SELECTION(selection)

Макрос GTK_TREE_SELECTION тут точно нужен?

yoghurt ★★★★★ ()

тебе же пишут, английским по белому - assertion `GTK_IS_TREE_VIEW (tree_view)' failed. значит твой GTK_TREE_VIEW (view) вовсе не GtkTreeView, а нечто совсем другое. а ты даже постеснялся показать, где этот view объявляется и инициализируется.

я так подозреваю, что замени ты view на widget, или пропиши в параметрах view вместо widget - и все у тебя получится

ananas ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.