Re: о кривости esd (was Re:ALSA)
On Wed, 26 Jul 2000, Victor Wagner wrote:
> On Tue, 25 Jul 2000, Vlad Harchev wrote:
>
> > Да, блин. Вот тебе и Motif. Ничем помочь не могу. Но все-таки, может есть
>
> Ну так криво написать можно на чем угодно.
> Вон Mozill'у на gtk переписали, движок поменяли, а менее глючной она не
> стала.
Не понял. У нее что, та же проблемма, что и у нетскэйпа на на 24-ном экране?
Да и не доделали ее еще.
>
> > Согласен. Я просто хотел сказать, что Tk при использовании из C как
> > минимум не намного менее гемороен чем gtk.
>
> Для меня принципиальная разница в том, что использование Tk провоцирует
> программиста на скриптовые технологии, а gtk на визуальные.
gtk тоже особо на вищуальные технологии не провоцирует (вот виндовый
"виджетсет" - да - там везде надо указывать фиксированные позиции, и без
визуальных вещей очень трудно).
> > Согласен. Но билдером все равно проще рисовать какую-нить очень сложную
> > форму (если она статическая), чем генерить ее ручками хоть из скрипта, хоть из
>
> Проще. Но разумнее подумать и найти в этой форме закономерности, которые
> позволят ее сгенерить не руками а автоматом. Если они (закономерности)
> найдены правильно, то дальнейшая поддержка и модификация кода сильно
> облегчится.
Под статическими я подрузамевал такие вещи, как Search& Replace диалог в
текстовых редакторах - то есть те, которые не зависят от стуктуры базы данных.
И еще, вспомнилось мне, в gnome есть c-ная функция (ее можно звать из
питона тоже), которая принимает varargs
аргументы, и на основе первого аргумена, интерпретируемого примерно как printf
format string, создает и показывает диалог. Вот пример достаточно навернутого
диалога Search&replace:
gtk_dialog_cauldron ("Search" /*dialog title*/, 0 /*window type*/,
" ( %Ld | %Eod ) / %[ ( %Cd // %Cd // %Cd ) ]seo / ( %Bqrxfp || %Bqxfp ) ",
/* %L */ "Enter search string:", /*label*/
/* %E */ &search_string, /*entry*/
/* %[ */ "Search options", /*frame title*/
/* %C */ "Case sensitive", &case_sensitive, /*checkbox*/
/* %C */ "Whole words only", &whole_word, /*checkbox*/
/* %C */ "Regular expression", ®ular_expression,/*checkbox*/
/* %B */ "Ok", /*btn*/
/* %B */ "Cancel"); /*btn*/
Из питона (для запуска нужен pygnome):
-----------
(button, search_string, case_sens, whole_words, reg_exp) =
gtk_dialog_cauldron( "Search", 0,
" ( %Ld | %Eod ) / %[ ( %Cd // %Cd // %Cd ) ]seo /
( %Bqrxfp || %Bqxfp ) ",
("Enter search string:",
"some default search string",
"Search options",
"Case sensitive", 1,
"Whole words only", 0,
"Regular expression", 0,
"Ok",
"Cancel"
)
print (button)
print (search_string)
print ("%d %d %d" % (case_sens, whole_words, reg_exp))
--------------------
Дока на эту функцию лежит в директории с доками для gnome-libs-devel (на
RH).
Мне кажется, для таких статических диалогов использовать эту функцию
получается даже удобнее чем на Tcl/Tk.
>
> --
> Victor Wagner vitus@ice.ru
> Programmer Office:7-(095)-785-09-72
> Communiware.Net Home: 7-(095)-135-46-61
> http://www.communiware.net http://www.ice.ru/~vitus
>
>
> --
> To UNSUBSCRIBE, email to debian-russian-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
Best regards,
-Vlad
Reply to: