Есть функция, которая считывает наименование директорий и добавляет в TreeView.
gboolean
load_folders_list(const gchar *device)
{
GtkCellRenderer *renderer = NULL;
GtkTreeStore *store = NULL;
GtkTreeIter root_iter;
GtkTreeViewColumn *column = NULL;
gint result = 0;
gint len = 0;
gpointer data = NULL;
FILE *fp = NULL;
gchar file_name[MAX_BUFFER_SIZE];
gchar line[MAX_BUFFER_SIZE];
gchar folder_name[MAX_BUFFER_SIZE];
gchar *str_ptr = NULL;
data = g_object_get_data (G_OBJECT(main_window), "folders_treeview");
if (data == NULL || !GTK_IS_TREE_VIEW(data))
return FALSE;
gtk_tree_store_clear (GTK_TREE_VIEW (data));
DEBUG ("Call obexftp...");
result = call_system ("obexftp -b %s -l >~/.folders-list.xml", device);
DEBUG ("system(): result = %d", result);
if (result != 0)
return FALSE;
memset (file_name, 0, MAX_BUFFER_SIZE);
strcpy (file_name, getenv ("HOME"));
strcat (file_name, "/.folders-list.xml");
fp = fopen (file_name, "r+");
if (fp == NULL)
{
ERROR ("Cann't open file '%s'", file_name);
return FALSE;
}
renderer = gtk_cell_renderer_text_new ();
store = gtk_tree_store_new (1, G_TYPE_STRING );
column = gtk_tree_view_get_column (GTK_TREE_VIEW(data), 0);
if (column == NULL)
{
column = gtk_tree_view_column_new_with_attributes (
"Folder", renderer, "text", 0, NULL);
gtk_tree_view_column_set_title (column, "Folder name" );
gtk_tree_view_append_column (GTK_TREE_VIEW (data), column);
}
gtk_tree_store_set_column_types (GTK_TREE_VIEW (data), 1, G_TYPE_STRING);
gtk_tree_store_append (store, &root_iter, NULL);
gtk_tree_store_set (store, &root_iter, 0, "Folders", -1);
while (fgets (line, MAX_BUFFER_SIZE, fp))
{
len = strlen (line);
while (line[len] == '\n' || line[len] == '\r' || line[len] == '\x00')
{
line[len] = '\x00';
if (--len < 0)
break;
}
str_ptr = strstr (line, "<folder name=");
if (str_ptr == NULL)
continue;
if (1 != sscanf (str_ptr, "<folder name=\"%[^\"]\"/>", folder_name))
continue;
DEBUG ("Folder name = %s", folder_name);
append_folder_name (store, folder_name, root_iter);
}
fclose (fp);
gtk_widget_queue_draw (GTK_WIDGET (data));
return TRUE;
}
Но почему-то дерево (TreeView) пустое. В чем проблема? 
Ответ на:
комментарий
от daemon73
Ответ на:
комментарий
от anonymous

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Вывод значение в многоколлоный список (GTK) (2008)
- Форум В продолжении gtk+-2.0 (2003)
- Форум GTK. Изменить цвет текста в таблице (дереве). (2015)
- Форум Проблема при использовании GTK+ под Windows (2018)
- Форум ROX-Filer и не юникодная локаль. Патч (2004)
- Форум подключение к WiFi с использованием nm-glib (2014)
- Форум Появляется NoneType объект treeview path Gtk3 + Python3 (2019)
- Форум Названия для размеров часто используемых буферов (2024)
- Форум [php5][expat] где мои entity? (2008)
- Форум Передача по сети изображений в виде видео использованием Gstreamer на C++ (2019)