[ Pobierz całość w formacie PDF ]
okna. jest podklasą i umożliwia tworzenie prostego menu, paska
narz¹dziowego i paska stanu. Najwspanialsze jest to, że , bez żadnych dodatko-
wych nakładów, zapewnia aplikacjom mnóstwo dodatkowych funkcji i możliwości.
Menu i paski narz¹dziowe mogÄ… być odÅ‚Ä…czone i zadokowane w poziomej
i pionowej pozycji na widżecie . GNOME automatycznie zapisuje
konfiguracj¹ dokowania pomi¹dzy sesjami.
Użytkownicy mogą konfigurować ustawienia globalne określające właściwości
menu i pasków narz¹dziowych.
Do utworzenia widżetu potrzebne jest: wywołanie do , przekazanie
, identycznego jak dla funkcji i napis do umieszczenia w tytule okna.
Dodanie menu, paska narz¹dziowego i paska stanu do już istniejÄ…cego widżetu
jest jedynie kwestiÄ… ustawienia struktur żądanego menu i paska narz¹dziowego, utwo-
rzenia paska stanu, a nast¹pnie wywoÅ‚ania:
Menu i paski narzędziowe
Tworzenie menu i pasków narz¹dziowych w GNOME polega na zdefiniowaniu każdego
elementu menu czy też paska narz¹dziowego przy użyciu struktury :
W rzeczywistoÅ›ci rzadko pojawia si¹ potrzeba samodzielnego wypeÅ‚nienia parametrów
tej struktury, bo GNOME posiada liczne wst¹pnie zdefiniowane struktury .
Mimo to warto zapoznać si¹ z jego wn¹trzem.
Rozdział 8. Programowanie graficznych interfejsów użytkownika (GUI) ... 297
jest znacznikiem (marker) odnoszÄ…cym si¹ do jednego
z wyszczególnionych poniżej typów . Jego wartość określa
interpretacj¹ czwartego parametru, , w sposób wymieniony poniżej.
type moreinfo interpretowane jako Opis
funkcja wywołania zwrotnego standardowy element menu
(callback) oraz paska narz¹dziowego
funkcja wywołania zwrotnego element do przełączania (toggle)
lub zaznaczania (check)
tablica pól wyboru (tzw. grupa przycisków radiowych
przycisków radiowych
radio items) w grupie
tablica tworzÄ…ca menu podrz¹dne (submenu)
drzewo podrz¹dne (subtree)
separator pomi¹dzy elementami
strona pomocy do załadowania element Pomocy
zakończenie tablicy
(etykieta) zawiera tekst elementu menu lub paska narz¹dziowego.
(wskazówka) wskazuje na dodatkowy opis. W przypadku przycisku
wskazówka b¹dzie wyÅ›wietlona jako etykietka narz¹dzia (tooltip), a dla
elementu menu może pojawić si¹ w pasku stanu. Etykietki narz¹dzi mogÄ… być
dowolnie dÅ‚ugie, aby wyczerpujÄ…co opisać funkcj¹ elementu. W każdym razie
nie wolno ograniczyć si¹ tylko do powtórzenia tekstu z .
jest zależne od typu , jak pokazano powyżej. JeÅ›li zawiera funkcj¹
wywoÅ‚ania zwrotnego, to wtedy nast¹pny parametr ...
... jest przekazany do funkcji wywołania zwrotnego.
jest zarezerwowane do wykorzystania w przeszłości i powinno
być ustawione na .
i okreÅ›lajÄ… obrazek bitmap¹ (pixmap), który
ma zostać użyty w elemencie menu lub paska narz¹dziowego. Interpretacja
jest uzależniona od .
i definiują skróty klawiaturowe, które znajdują
zastosowanie dla danego elementu. Pierwszy z tych parametrów może być
znakiem, takim jak , lub wartoÅ›ciÄ… wzi¹tÄ… z . Drugi z tych
parametrów jest maską (podobnie jak , nadzorującą
klawisze modyfikujące lub ich kombinacje, które mogą być użyte z tym skrótem.
298 Zaawansowane programowanie w systemie Linux
pixmap_type pixmap_info interpretowane jako Znaczenie
Nazwa bitmapy dostarczonej Użyj bitmapy dostarczonej
przez GNOME. przez GNOME.
Wskaznik do . Użyj bitmapy specyficznej
dla aplikacji.
Nazwa pliku z bitmapą. Użyj bitmapy znalezionej
pod nazwÄ… pliku .
Brak bitpamy.
powinien być pozostawiony jako . Przy przekazaniu
do GNOME wypełni wskaznikiem do faktycznego
widżetu dla tego elementu menu czy też paska narz¹dziowego. Wskaznik ten
jest użyty do okreÅ›lenia elementu menu lub paska narz¹dziowego w trakcie
wykonywania programu. Powszechnym przykładem użycia byłoby przerobienie
na szaro elementu przez przekazanie widżetu do funkcji GTK+
.
Oto konkretny przykład wpisu dla elementu Undo (Cofnij):
Makrodefinicja N_ otaczająca napisy wyprowadzane na ekran ułatwia
umiędzynarodowienie (przekład na inne języki); temat ten zostanie
omówiony w rozdziale 28.
Menu i paski narz¹dziowe budujemy z tablic struktur , a potem nast¹puje
wywołanie odpowiednio do lub też do .
Mimo że struktury zapewniajÄ… peÅ‚nÄ… kontrol¹ nad definicjami menu i paska
narz¹dzi, to jednak nie zawsze jest to potrzebne czy nawet pożądane. Wiele aplikacji GUI
przyjmuje menu najwyższego poziomu w stylu File (Plik), Edit (Edycja), View (Widok),
Help (Pomoc), a wi¹kszość tych, które nie przyjmujÄ…, powinny. WewnÄ…trz menu naj-
wyższego poziomu jest jeszcze wi¹cej konwencji, okreÅ›lajÄ…cych poÅ‚ożenie i kolejność
elementów menu. Na przykład New (Nowy), Open (Otwórz) i Exit (Zakończ) są zgodnie
z konwencjÄ… umieszczane jako pierwszy, drugi i ostatni element menu File (Plik).
Rozdział 8. Programowanie graficznych interfejsów użytkownika (GUI) ... 299
MajÄ…c na uwadze standaryzacj¹, GNOME udost¹pnia caÅ‚y zbiór makrodefinicji, które
definiują struktury dla powszechnie używanych elementów menu. Mogą
one wstawić etykiet¹, etykietk¹ narz¹dzia, bitmap¹ lub klawisz skrótu. Standardowy wy-
strój menu jest zatem bardzo łatwy i szybki do zdefiniowania.
Każde menu najwyższego poziomu na pasku menu skÅ‚ada si¹ z tablicy struktur
, a pełne jego drzewo tworzą definicje menu w połączeniu ze wskaznikami do
tych tablic, włączanymi za pomocą makrodefinicji . Definicje te
można znalezć w .
GnomeAppbar
Widżet może opcjonalnie zawierać pasek stanu. Jest to taki pasek, jakie cz¹sto
sÄ… uÅ‚ożone wzdÅ‚uż dolnej kraw¹dzi okna i przekazujÄ… informacj¹ o stanie, w jakim znaj-
duje si¹ aplikacja. może zawierać także pasek post¹pu (progress bar) poka-
zujÄ…cy graficznie post¹p czasochÅ‚onnej operacji. Na przykÅ‚ad Netscape używa swojego
paska post¹pu dla oszacowania na bieżąco zaÅ‚adowanego już procentu strony WWW
czy poczty elektronicznej, które są właśnie w trakcie odbierania z sieci.
TworzÄ…c , używa si¹ zmiennych logicznych (boole owskich) do okreÅ›lenia,
[ Pobierz całość w formacie PDF ]