LINUX.ORG.RU

tcl/tk - дерево-таблица с поиском и фильтром - ttk_treeview, tablelist или что?

 ,


0

3

Пока есть два претендента: ttk_treeview и tablelist::tablelist

Текущий код написан на tablelist,

https://bitbucket.org/budden/clcon/src/default/error-browser.tcl

но не совсем понравилось, что для полноценной обработки события «изменен выбор текущей ячейки в таблице» пришлось задействовать сторонний пакет wcb.

Теперь хочу прикрутить поиск (в т.ч. инкрементный). Прошу сообщество подсказать, что лучше использовать. Лучше всего, со ссылкой на пример кода. В поиске должна быть опция, раскрывать ли все поддеревья или искать только в уже раскрытых.

Также планирую использовать ttk_notebook, имеет ли смысл в этом случае переходить на все видгеты с префиксом ttk_ ?

★★★★★

Также планирую использовать ttk_notebook, имеет ли смысл в этом случае переходить на все видгеты с префиксом ttk_ ?

ttk и обычные виджеты прекрасно уживаются вместе, но смысл переходить однозначно есть: выглядят лучше и темы можно менять, хоть налету. В большинстве случаев переход будет заключаться в добавлении префикса ttk:: остальное работает так же. tableist не юзал, но вроде treeview побогаче будет, надо хотя бы попробовать.

anonymous
()

Используй ttk::treeview. Пруфов не будет, лень сейчас перебирать тонны своего tcl-говнокода :) Но я в свое время перешел на treeview с tablelist.

buddhist ★★★★★
()
Ответ на: комментарий от MKuznetsov

Всем спасибо. Наверное, буду переходить, пока не обросло подробностями.

gnocl.org не годится - стоим за кроссплатформенность.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

Какой интерпретатор используешь? Если кросплатформенность важна, рекомендую сборки ActiveTcl, там до черта есть из коробки, и treeview тоже.

А вот teacup search Gnocl ничего не находит - фтопку значит.

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

На Дебиане - родной, на винде - ActiveTcl. Правда, не совсем ясно, что у ActiveTcl с лицензированием - могу ли распространять в коммерческих приложения.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Погоди, ты хочешь перенос текста в node? Когда использовал treeview, вставлял в node виджеты (например frame), где делал уже все что хотел. Примеров не будет, там куча стремного кода, но примеры есть в доке к treeview.

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

Эх. Вроде я поискал вчера про перенос - не нашёл. Про вставку фреймов не искал. Почти всё время с написания прошлого сообщения уже потратил на изучение tablelist, сделал дерево как хотел и прототип поиска текста по дереву. Пока вроде приемлемо, хотя каждый следующий шаг даётся с борьбой. Останусь пока на нём, если будет совсем плохо - перепишу.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от most-fucktum

Красиво выглядит, но поздняк уже. Ну и ещё не нравится, что там внешние бинарные файлы. Это сразу увеличивает количетсво мороки. Пока удалось без этого обходиться.

Кстати вот вопрос ещё про tablelist - а можно ли сделать границы у ячеек? Я прочитал, что нужно в каждую ячейку фрейм вставлять - как то это стрёмно.

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