За его создание отвечает класс GtkAboutDialog:
$dialog = new GtkAboutDialog;
Список методов:
- set_program_name() - устанавливает имя программы, отображаемое в диалоге.
- set_version() - версия программы, отображается сразу после имени через один пробел.
- set_comments() - устанавливает комментарий, отображаемый в диалоге.
- set_copyright() - строка авторского права.
- set_logo() - устанавливает логотип программы.
- set_website() - сайт программы или разработчика.
- set_license() - устанавливает текст лицензии, отображаемый во второстепенном окне. При этом в главном окне появляется кнопка "Лицензия".
- set_authors() - устанавливает авторов программы. Отображается во второстепенном окне. Авторов следует указывать в массиве. При этом в главном окне появляется кнопка "Благодарности".
- set_documenters() - устанавливает разработчиков документации. Отображается в том же окне, что и авторы.
- set_artists() - устанавливает дизайнеров. Отображается в том же окне, что и авторы.
- set_translator_credits() - устанавливает переводчиков. Отображается в том же окне, что и авторы. В качестве параметра, по какой-то причине, принимает строку, а не массив, как предыдущие три.
- set_email_hook() - устанавливает функцию, которая вызывается при нажатии на email-адрес в диалоге. Для того, чтобы email стал ссылкой, его необходимо заключить в угловые скобки < > после имени участника проекта. Этот метод передаёт функции два параметра. Первый - информация об окне, не нужная нам. Второй - выбранный email-адрес.
Полный код программы:
<?php
$dialog = new GtkAboutDialog;
$dialog->set_program_name('My program');
$dialog->set_version('0.1');
$dialog->set_comments('Диалоговое окно, содержащее информацию о программе');
$dialog->set_copyright('Copyright (C) 2009');
$dialog->set_logo($dialog->render_icon(Gtk::STOCK_INFO, Gtk::ICON_SIZE_LARGE_TOOLBAR));
$dialog->set_website('http://shecspi.blogspot.com');
$dialog->set_authors(array('Вавилов Егор <shecspi@gmail.com>'));
$dialog->set_artists(array('Вавилов Егор <shecspi@gmail.com>'));
$dialog->set_documenters(array('Вавилов Егор <shecspi@gmail.com>'));
$dialog->set_translator_credits('Вавилов Егор <shecspi@gmail.com>');
$dialog->set_license('Текст лицензии');
$dialog->set_email_hook('email_hook');
function email_hook($data, $email)
{
echo "Email - ".$email."\n";
}
$dialog->run();
?>
2 комментария:
При запуске программы возникла ошибка. Что то типа – "используйте вместо set_name - set_program_name". А так вообще просто суппер. Мне все больше нравится PHP-GTK, только жалко что нельзя скомпилировать php код, чтобы его видно не было. А то так как то стремно.
Да, спасибо. Я не обратил на это внимания. Метод set_name() является устаревшим, необходимо использовать set_program_name(). Статью поправил.
Вот только в документации ни одного из этих методов почему-то нет.
Отправить комментарий