LINUX.ORG.RU

Одежки для Tk


0

0

Команда разработчиков tkTable виджета ( http://tktable.sourceforge.net/ ) в данный момент нашла себе новое развлечение и занимается переписыванием тулкита с поддержкой стилей (результат этих развлечений - пакет tile - можно найти на той же страничке, что и tkTable - в бинарном виде, исходники - по CVS). В качестве основы взят патч для tcl/tk8.4 (http://www.tcl.tk/cgi-bin/tct/tip/48), но сейчас поддержка тем оформлена как стандартный tcl-пакет, подгружаемый с помощью package require.
На шоте изображена демка этой библиотеки, где показано что мы имеем сейчас и что ждет нас в будущем. Как видно работы впереди еще много - менюбар и выпадающие меню переодеть пока не удалось.
Так что, тем, кого напрягает Motif-like вид Tk виджетов и хочется чего-то более гламурного, предлагается обратить внимание на данный проект.

>>> Просмотр (1152x864, 80 Kb)



Проверено: Die-Hard ()

первый нах :-)
молодцы, конечно, только когда все создатели виджетов догадаются юзать один стандарт для тем?

anonymous
()

радиобаттоны бары прикольные :)

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

Подпишусь. Собрать пакет для Дебиана действительно было бы неплохо.

anonymous
()

Ну вот, теперь еще один гуевый тулкит станет юзабельным =) Молодцы. Ждем. Возможно, я даже смогу наконец заценить Tkabber.

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

>> когда все создатели виджетов догадаются юзать один стандарт для тем?

Никогда. По-моему, это очевидно.

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

>А я свою любимую movaTK смогу такой красивой сделать?
Вообще-то, это зависит от ...
Во-первых, во всех формочках нужно вставить package require tile и ,во-вторых, заменить все команды создания виджетов на команды с префиксом t (checkbutton->tcheckbutton, я вначале думал, что они просто переопределяют обычные tk команды, но был неправ). Т

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

>всё равно подсветки нету, зачем он такой нужен..
Зачем он нужен я сказать не могу, но насчет подсветки вы неправы - добавьте bind, который при прохождении курсора через виджет меняет его цвет. Авторы tile поленились это сделать в своей демке.

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

>>> когда все создатели виджетов догадаются юзать один стандарт для тем?

>Никогда. По-моему, это очевидно.

Согласен. Вопрос сводится к вопросу "Почему все тулкиты такие разные?".
Допустим, даже что gtk и tk пользуются одним .XResources для определения тем. Но строки в .XResources выставляют значения для виджетов, чье имя или тип совпадают с какой-то маской. Значит даже в этом одном файле придется создавать две строки - одну для GtkButton, а вторую для (tk)button. И что делать, если для gtk определенный theme-engine существут , а для tk - нет? Пусть уж лучше разными файлами пользуются.

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

>> Почему все тулкиты такие разные?

Есть один одинаковый тулкит - это Motif. Всех остальных разных выкинуть в помойку - тогда не надо писать ни двух разных файлов, ни двух разных строк. :-))

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

И сколько биндингов сушествуеь для Motif под языки отличные от C? И сколько нужно времени чтобы написать обертку? Кроме того Motif сложен (будете спорить, что tk сложнее?)

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

зачем Xresources?
Новый формат надо делать. в котором описать тему (и картинки) для кнопки, селектбокса, радиобаттона и пр. И все тулкиты должны его читать и ему соответствовать. Принципиальной разницы между тулкитами нет

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

> придется создавать две строки - одну для GtkButton, а вторую для (tk)button

А не одну для *utton?

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

> И сколько биндингов сушествуеь для Motif под языки отличные от C?

Для lisp-а их есть (в lispworks, у cmucl). Причем складывается впечатление, что только они и есть.

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

Чем не устраивает существующий? Картинки можно описать и в нем. Вот только не желают все тулкиты его читать и ему соответствовать. А разница между тулкитами хоть и непринципиальная, но противная: попробуй ткни editres-ом в qt-вое приложение.

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

> Допустим, даже что gtk и tk пользуются одним .XResources для определения тем.

давайте не будем подобное допускать. и честно спросим -- какого рожна gtk+ не использует X resources? в отличие от идеологически правильных Xaw и Motif, скажем?

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

другой вопрос -- насколько эта заложенная несовместимость оправдана. на мой взгляд -- нинасколько.

---vk

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

Биндингов быть не должно. Это ещё один хренов зоопарк. Должны быть только биндинги из скриптовых и прочих языков к CORBA - а там уже пусть желаюшие пишут какие угодно компоненты, чтобы их через неё дёргать.

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

И вся эта хренотень, кстати, отлично работала ещё в прошлом веке. В OS/2. Окошки PM можно было таскать по десктопу скриптами на REXX.

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

Но пришли пионэры и сказали: "Нас много и мы банда. Мы каждый по полсотни строк напишем потом всё вместе сложим и получицца заипись".
Вот в итоге и имеем кучу вечно наполовину недоделанного разноцветного говна.

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

Бимерство это религия или мироощущение?

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

Что интересно, кроме "пионерского говна" в ближайшем рассмотрении ничего нет.

Так что кущайте, не обляпайтесь. Или делайте свое, не пионерское.

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

>>Должны быть только биндинги из скриптовых и прочих языков к CORBA
Пысец. Callback на mouse move через CORBA - это сильно. К счастью, пока ещё есть альтернативы. Наподобие Tk ;))

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