Описание Gtk-Perl | ||
---|---|---|
Предыдущая | Следующая |
Object
+--- Widget
+--- Misc
+--- Arrow
Внешне виджет стрелок представляет собой указатель. Ему можно задать направление и стиль стрелок. На практике очень удобно использовать эти виджеты на кнопках. Как и Label, виджет стрелок не отправляет сигналов.
Существует только две функции для управления виджетом стрелок.
$arrow = new Gtk::Arrow( $arrow_type, $shadow_type );
$arrow->set( $arrow_type, $shadow_type );
'up' 'in'
Первая создает новый виджет заданого направления и вида.
Второй позволяет менять эти значения.
$arrow_type
может принимать одно из следующих значений:
Эти значения однозначно определеяют направление указателя стрелки.
В свою очередь
$shadow_type
может принимать следующие значения:
'down'
'left'
'right'
'out' (the default)
'etched_in'
'etched_out'
Приведем краткий пример для илюстрации использования стрелок.
#!/usr/bin/perl -w use Gtk ; use strict ; set_locale Gtk; init Gtk; my $false = 0; my $true = 1; my $window; my $button; my $box; # Создаем окно приложения $window = new Gtk::Window( "toplevel" ); $window->set_title( "Arrow Buttons" ); $window->signal_connect( "destroy", sub { Gtk-> exit ( 0 ); } ); $window->border_width( 10 ); # Создаем контейнер для стрелок-кнопок $box = new Gtk::HBox( $false, 0 ); $box->border_width( 2 ); $window->add( $box ); # упаковываем и показываем наши виджеты $box->show(); $button = create_arrow_button( 'up', 'in' ); $box->pack_start( $button, $false, $false, 3 ); $button = create_arrow_button( 'down', 'out' ); $box->pack_start( $button, $false, $false, 3 ); $button = create_arrow_button( 'left', 'in' ); $box->pack_start( $button, $false, $false, 3 ); $button = create_arrow_button( 'right', 'out' ); $box->pack_start( $button, $false, $false, 3 ); $window->show(); main Gtk; exit ( 0 ); ### Функции # Создаем виджет стрелок с указанными параметрами и упаковываем # его в кнопку. Первый параметр - направление стрелки, второй - # тип тени. sub create_arrow_button { my ( $arrow_type, $shadow_type ) = @_; my $button; my $arrow; $button = new Gtk::Button(); $arrow = new Gtk::Arrow( $arrow_type, $shadow_type ); $button->add( $arrow ); $button->show(); $arrow->show(); return ( $button ); } # Конец примера
Скриншот
Предыдущая | На главную | Следующая |
Календарь | Up | Списки и деревья |