On Tue, 25 Jul 2000, Vlad Harchev wrote: > > > > > > Тогда я не знаю - может acroread 4 (или 3) следует попробовать? > > > > И тот и другой пробовал. Четвертый вообще segfault-ится. > > Странно. Прямо сразу при запуске или на определенной странице? Может у тебя > бетта? Может есть другой бьюилд?
Третий - из slink, четвертый из Corel WP Office. И у Netscape все иконки в toolbar-е черно-белые были, что характерно это _известный_ глюк. > > эмулируется данным gtk-шным кодом) obsolete. grid - гораздо мощнее и > > гибче. Но в любом случае задачи динамического изменения содержания окна > > (скажем в зависимости от изменений в структуре базы, или от статуса > > пользоватлеля) GUI-билдер не решает. > > Да, но может это уже задача программера? В gtk есть table - может это тоже Да, несомненно это задача программера. А задача инструмента - помочь ему это сделать. В этом плане инструменты где переход от ручного создания GUI к программному прост и естественен и решается путем добавления парочки циклов - rules. > что и grid? На первый взгляд - похоже. Но по-моему Tk grid гибче. > > И ты мне предлагаешь пользоваться GUI-билдером, который даже синтаксически > > корректный код на всех языках поддерживаемых тулкитом сгенерить не в > > состоянии? Для C. > > На для какого языка он генерит синтаксически неправильный код? Для python? > Или ты подумал, что кусок кода был сделан на билдере? Нет, тот кусок кода я > ручками навскидку написал. Да, естественно. Мне и в голову не придет, что пишучи ручками C-шный код (т.е не содержащий ни одного места где _содержательно_ используются references, объекты, наследование) человек будет его делать несовместимым с компилятором C. > > Присланный пример переводится на Tcl/Tk один к одному и получается > > раз в пять компактнее за счет необязательности указания лишних параметров > > и отсутствия необходимости вызова _init, создания главного окна и явного > > входа в цикл обработkи событий. > > То ж Tk, а это C. На perlGtk код можно использовать вот такой код (он Тк это библиотека. Она бывает и в C. > строит окно с кнопкой внутри): > $window = new Gtk::Widget "GtkWindow", > GtkWindow::type => -toplevel, > GtkWindow::title => "hello world", > GtkWindow::allow_grow => 0, > GtkWindow::allow_shrink => 0, > GtkContainer::border_width => 10; Особенно греют идентификаторы на полстроки. > $button = new_child $window "GtkButton", > GtkButton::label => "hello world", > GtkObject::signal::clicked => "hello", ^^^^^ А это что? Не symbolic reference часом? > > То есть "если ты не используешь нашу визуальную примочку, то хрен > > напишешь что либо полезное". Прям Borland какой-то получается. > > Никто не заставляет его использовать. Но тот-же диалог на Tk на С писать > примерно также геморойно, как и используя gtk с С. Зато можно писать, используя _вербальные_ примочки - Python, Tcl, Scheme. Человек все же отличает от обезьяны умение выражать свои мысли словами, а тыкать пальцем обезьяна не хуже нас умеет. > > Правда, использование XML в качестве языка описания GUI это слегка > > компенсирует. Но все равно XML это не скриптовый язык. > > Зато можно cut-n-paste этого xml можно делать для быстрого редактирования > диалогов. cut-n-paste можно и C-шному коду делать. А Tcl-ный - так вообще генерить по ходу дела самим же скриптом. Я как-то писал програму на тикле, которая читала конфигурационный файл (на самом деле делала ему eval, предварительно определив все ключевые слова конфига как процедуры), и в процессе выполнения генерила еще одну программу на тикле, которая в процессе выполнения генерила программу на php. Сей процесс был мною торжественно обозван программированием высоких порядков. > Тебе просто разбираться с билдером и gtk лениво. Лучше потратить время на > изучение билдера, чем ручками все делать. Лучше найти себе средство которое будет за тебя все делать. Наилучшим известным мне средством такого рода для генерации текстов (все равно, программ, TeX-овских исходников, таблиц, HTML) являются скриптовые языки. -- Victor Wagner [EMAIL PROTECTED] Programmer Office:7-(095)-785-09-72 Communiware.Net Home: 7-(095)-135-46-61 http://www.communiware.net http://www.ice.ru/~vitus