статус бар
ієрархія спадкування
Статус бари це прості віджети, які використовуються для відображення текстових повідомлень. Вони зберігають стек повідомлень, які поміщені в них, так що спроба повторного виклику верхнього повідомлення стека (popping) викличе відображення _предидущего_ текстового повідомлення.
Щоб дозволити різним блокам додатки використовувати один статус бар для відображення повідомлень, вікно статус бару використовує Ідентифікатори Контексту виклику (Context Identifiers), які в подальшому застосовуються для для ідентифікації різних "користувачів". Отображаемое повідомлення Розміщена завжди на верху стека, в незалежності від контексту виклику. Взагалі, повідомлення впорядковані в стеці за методом LIFO: останній-увійшов-перший-вийшов, без будь-якої залежності від контексту.
Створюємо статус бар командою:
$ Statusbar = new Gtk :: Statusbar ();
Новий Ідентифікатор Контексту можна отримати методом get_context_id, передавши в якості аргументу короткий опис створюваного контексту.
Є три функції для роботи зі статус барами:
$ Statusbar-> push ($ context_id, $ text);
$ Statusbar-> remove ($ context_id, $ message_id);
Перша, push (). використовується для додавання нових повідомлень в статус бар. Вона повертає ідентифікатор повідомлення, який дозволяє видаляти їх функцією gtk_statusbar_remove з стека статус бару.
Функція pop () видаляє верхнє повідомлення стека зазначеного Ідентифікатора Контексту.
Наступний приклад створює статус бар і дві кнопки: одна поміщає повідомлення на статус бар, а інша викликає їх на статус барз з стека.
Status Bar Program Source
#! / Usr / bin / perl -w use Gtk; use strict; set_locale Gtk; init Gtk; my $ false = 0; my $ true = 1; my $ window; my $ vbox; my $ button; my $ statusbar; my $ context_id; my $ count = 1; # Створюємо вікно додатка $ window = new Gtk :: Window ( "toplevel"); $ Window-> set_usize (200, 100); $ Window-> set_title ( "GTK Statusbar Example"); $ Window-> signal_connect ( "delete_event", sub
