[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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", &regular_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: