Является ли функция GTKMM set_value_vfunc ложью?

Я пытался изменить содержимое пользовательского древовидного представления, которое наследуется от TreeModel и TreeSortable. Однако виртуальная функция set_value_impl содержит только утверждение. Когда я пытался найти примеры реализации, все они цитировали веб-сайт GTKMM, в котором говорилось: «Вероятно, вы можете просто реализовать это, вызвав set_value_vfunc()».

Я не нашел такой функции нигде в GTKMM.

Кто-нибудь здесь нарушал GTKMM TreeModel при попытке изменить содержимое древовидного представления?


person River-Claire Williamson    schedule 04.10.2011    source источник
comment
Можете ли вы дать ссылку на документацию GTKMM, которую вы цитируете?   -  person ptomato    schedule 05.10.2011
comment
*Редактировать: кажется, я нашел это: developer.gnome.org/gtkmm/stable / Есть ли причина, по которой вы не хотите использовать ListStore или TreeStore?   -  person Christian Smith    schedule 05.10.2011
comment
Содержимое TreeView является продуктом SQLQuery, и по какой-то причине мы полагаемся на виджет TreeSort, который выполняет сортировку за нас. Я начинаю подозревать, что виновата именно наша реализация, а не обязательно gtkmm. Я понимаю, что это довольно крайний случай. Я просто хотел знать, добился ли кто-нибудь успеха с функцией set_value_vfunc.   -  person River-Claire Williamson    schedule 06.10.2011
comment
Я буду откровенен, но я не могу найти его. Я даже загрузил исходники gtkmm (3.0) и посмотрел, не использует ли их Liststore или что-то еще, и ни один из них. Я не могу найти ссылку на него, кроме как в сети по этому вопросу и в документации (похоже, он используется в библиотеке gtk (libgda-uimm, но он виртуальный). Я думаю, что вы можете быть правы в своем случае может быть просмотрите исходный код встроенных моделей, чтобы увидеть, как разработчики gtkmm использовали унаследованные классы.   -  person Christian Smith    schedule 06.10.2011
comment
Вот что я подозревал. Не могли бы вы отправить свой комментарий в качестве ответа?   -  person River-Claire Williamson    schedule 06.10.2011


Ответы (1)


Как сказано в комментариях выше, функции set_value_vfunc() просто не существует.

person River-Claire Williamson    schedule 16.02.2012
comment
Я исправил документацию, удалив это упоминание: git.gnome.org/browse /gtkmm/коммит/ - person murrayc; 31.01.2013
comment
Вот как я реализую эту функцию в моей модели TreeModel с поддержкой базы данных. Это не пример кода, но, похоже, он работает: git.gnome.org/browse/glom/tree/glom/mode_data/datawidget/ - person murrayc; 31.01.2013