Каждый из этих виджетов представляет из себя некий блок, состоящий их двух панелей. Между ними располагается специальный разделитель, схватив который можно изменить размер панелей.
Для добавления содержимого в панель существует два метода - add1() и add2(). Первой считается левая или верхняя панель, в зависимости от вида блока.
В нашей программе базовым будет горизонтальный блок, в правую часть которого мы поместим вертикальный.
По умолчанию рамки отсутствуют, как видно в правой верхней панели. Для их создания поместим всё содержимое панели в GtkFrame и методом set_shadow_type() установим рамку. С полным списком рамок можете ознакомиться здесь.
Полный код программы:
<?php
$window = new GtkWindow();
$window->set_size_request(400, 200);
$window->connect_simple('destroy', array('Gtk', 'main_quit'));
$hpaned = new GtkHPaned;
$vpaned = new GtkVPaned;
$left = new GtkFrame;
$left->set_shadow_type(Gtk::SHADOW_IN);
// Размеры панели можно указать уже известным вам способом
$left->set_size_request(200, -1);
$left->add(new GtkLabel('Левая панель'));
// У данной панели не будет рамки
$right_top = new GtkLabel('Правая верхняя панель');
$right_bottom = new GtkFrame;
$right_bottom->set_shadow_type(Gtk::SHADOW_IN);
$right_bottom->add(new GtkLabel('Правая нижняя панель'));
$vpaned->add1($right_top);
$vpaned->add2($right_bottom);
$hpaned->add1($left);
$hpaned->add2($vpaned);
$window->add($hpaned);
$window->show_all();
Gtk::main();
?>
Комментариев нет:
Отправить комментарий