Archiwum dla July 19th, 2006

XUL – pierwsze okno

Ostatnio dość szczegółowo się zająłem językiem XUL. Poniżej chciałbym przedstawić więcej szczegółów dotyczących tego języka opracowanego przez Mozillę. W tym poście zajmę się podstawową składnią pliku XUL-a. Utworzę okno z dwoma przyciskami. Najpierw może kilka wiadomości, czym jest ten XUL :P .
Otóż, XUL to XML User Interface Language (wymowa “zul”). Jego możliwości to tworzenie interfejsów użytkownika aplikacji WWW. W ramach pliku .xul możliwe jest tworzenie m.in. przycisków, pasków przewijania, opcji i list. Posiada on oczywiście o wiele szersze zastosowanie, wymieniłem tylko pierwsze, które mi się nasunęły. Znaczniki użyte w XUL-u stanowią różne elementy interfejsu użyte do tworzenia interfejsu graficznego. Swój przykład okna dialogowego nazwę dwaprzyciski.xul, dodam, że wszystkie przykłady sprawdziłem w edytorze XUL, o którym pisałem ostatnio.

Każdy plik XUL-a posiada kilka podstawowych elementów, które należy zdefiniować. Poniżej składnia podstawowego okna pliku napisanego w XUL-u:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/"  type="text/css"?>
<window
id="twobutton-window"
title="Dwa przyciski"
orient="horizontal"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
...
</window> 

Ok, co jest, co. Czyli omówię po linia po linii, co powyższy fragment kodu znaczy.
W pierwszej linii <?xml version="1.0"?> został zadeklarowany język XML w wersji 1.0. W drugiej linii deklarujemy ścieżkę do szablonu, ze składni widać, że znajduje się on w chrome. Kolejnym fragmentem kodu jest znacznik <window, w którym możemy umieścić wiele atrybutów. W moim przykładzie atrybutami są id, title, orient oraz xmlns. Oznaczają one odpowiednio:

  1. id to unikalny identyfikator okna, jego nazwa nie może być ponownie użyta w tej samej aplikacji.
  2. title to tytuł, jaki pojawi się w oknie aplikacji w pasku tytułu.
  3. orient określa położenie elementów w aplikacji (o ułożeniu elementów postaram się napisać w jednym, z kolejnych postów na moim blogu).
  4. xmlns to przestrzeń nazw, z jakiej korzysta znacznik window.

No dobra pozostało już tylko zamknąć sam znacznik window oraz umieścić na końcu kodu zamknięcia otwartego znacznika window. W kodzie powyżej, użyłem trzech kropek do zaznaczenia miejsca, w którym możemy umieszczać dowolne elementy interfejsu naszego okna. Na koniec wszystko musimy zapisać do pliku dwaprzyciski.xul i podejrzeć w osobnym oknie edytora XUL-a. Za wiele na nim nie zobaczymy, więc dodajmy w końcu jakieś pierwsze elementy tworzonego okna. Będą to dwa przyciski, które się pojawią w miejscu aktualny trzech kropek.

Do utworzenia wspomnianych przycisków, będzie nam służył znacznik button, którego także rozszerzymy o atrybuty: label oraz id. Znaczenie atrybutu id, jest taki sam jak w przypadku znacznika window. Natomiast label pozwala nam określić tekst, który zostanie wyświetlony na przycisku. Teraz pora na kod, jaki należy wstawić w miejsce trzy kropka!

<button id="first-button" label="Pierwszy"/>
<button id="second-button" label="Drugi"/> 

I … Oto efekt wstawienia powyższego kodu do edytora.

Edytor XUL

Poniżej znajduje sie nasze pierwsze okienko dialogowe utworzone w XUL,

Przykład dwaprzyciski.xul

Na początek to tyle, postaram się jak najszybciej opisać więcej możliwości plików XUL-a. Więcej można znaleźć na stronie Kursu XUL z polskiej wersji strony MDC lub jej angielskiego odpowiednika. Zaznaczam, że wersja pl, jest nadal tłumaczona i proszę nie brać zawartej tam treści jako w pełni poprawnej. Gdyż mogą w niej występować jakieś pomyłki ;) .