LINUX.ORG.RU

GtkTreeView (List): сделать отображение полей структуры?


0

0

Есть структура:

typedef struct
{
gboolean ro;
gchar* id;
gchar* name;
gchar* desc;
gint code;

} MyData_s;

Хочу поместить экземпляры такой структуры в качестве модели с типом G_TYPE_POINTER: GtkListStore* store = gtk_list_store_new(1, G_TYPE_POINTER);

Как сделать, что бы View отображала только определенные поля структур? Спасибо.

anonymous

Нужно писать свой cellrenderer. Пример здесь писать не буду, очень длинный. Если нужно, пиши в JID (он есть в профиле). Дам пару файлов на посмотреть.

Deleted
()
Ответ на: комментарий от Deleted

Я уже нашел в gtk-demo/stock_browser.c как это делается. Тестовый набросок, вроде, работает. Правда, через одно место -- но это уже технические детали :) -- надо доразобраться как надо правильно работать с column'ами и cell-renderer'ами.

Всем спасибо за помощь!

anonymous
()
Ответ на: комментарий от anonymous

>надо доразобраться как надо правильно работать с column'ами и cell-renderer'ами

вообще тебе потребуется создать свой тип, но он должен быть со свойствами boxed (покуда заявлено использование структуры), и уж никак не поинтер (хотя тут зависит от размера структуры, возможно указатель будет "дешевле". в случае, если создашь свой тип, то ты полноценно сможешь создавать [list|tree]store со своим типом, а потом и cellrenderer под отображение этого типа сможешь написать в гармонии с общими идеями gobject и gtk.

Deleted
()
Ответ на: комментарий от Deleted

Именно так и сделал: описал свой тип (опять же, благодаря stock_browser.c). Вроде бы все работает. Главное, что не пришлось свой Store городить для этих целей. Спасибо за помощь!

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