Пример создания меню c помощью SWT

Patrick
2005-02-08

Не секрет, что большинство компьютерных приложений снабжены графическим интерфейсом и это не удивительно – человеку легче воспринимать зрительную информацию. XUL является одним из многих путей создания GUI.

XUL?

XUL расшифровывается как XML User-interface Language и является подмножеством языка XML, отсюда следует, что все ограничения наложенные на XML, также распространяются и на XUL. Для нормального понимания статей посвященных XUL необходимы знания XML, CSS, JavaScript. CSS используется для описания дизайна, а XUL для создания наполнения – позволяют работать с графическим интерфейсом, а JavaScript используется для развития функциональности. XUL реализован на платформе Mozilla, так же существует похожий язык для описания интерфейса Java программ - Luxor, язык от Macromedia - Flex, язык от Microsoft – XAML.

Первый документ

Единственный способ выучить новый язык программирования – это писать на нем программы. При изучении любого языка первой предлагают написать программу, которая выводила бы следующее сообщение:

Здравствую, мир!

Код выглядит так:

<?xml version="1.0" encoding="windows-1251"?>
  <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <description value=" Здравствуй, мир"/>
</window>
	

Как запустить этот пример? Существует несколько способов сделать это. В Mozill’e(Firefox) через File > Open file… или нажатием Ctrl+O.

Можно запустить код из командной строки:

firefox.exe -chrome file://<путь к файлу> - chrome Mozilla запустится в отдельном окне, в контексте chrome, без загрузки кода, который формирует сам внешний вид браузера.

file:// - ссылки, которая указывает на корень файловой системы. Кроме file:// существует resource:// - указывает на корень папки, в которой установлена Mozilla(Firefox) и chrome:// указывающая на подкаталог chrome в папке, где установлена Mozilla или подкаталог chrome текущего профиля.

Так же код можно запустить с помощью JavaScript, воспользовавшись функцией windows.open:

window.open(ссылка, имя окна, опции)

В Mozill'е используется дополнительная опция – chrome(аналогична опции в командной строке).

Создадим html-файл hello.html. Код файла:

<a href="1.1.xul"
onclick="window.open('hello.xul','hello’,'chrome’); return false;">hello</a>

Теперь поясним некоторые моменты.

<?xml version="1.0" encoding="windows-1251"?> Пролог XML-документа, предоставляющий информацию о том, как обрабатывать документ. Эта строка является обязательной. encoding="windows-1251" Служит для установки кодировки Windows.

Вообще XML-документ можно разбить на две основные часть: пролог и содержание, собственно XML-документ. Пролог - это объявление XML в следующем формате:

<?xml version="1.0"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> Это корневой элемент – элемент высшего уровня в XML-документе, описывает активное окно, является горизонтально ориентированным. Он должен быть первым открывающимся и последним закрывающимся тегом в документе. Если вы хотите установить свою иконку к окну для этого необходимо создать файл <windowid>.ico или <windowid>.xpm и поместить в дирикторию <mozilla-directory>/chrome/icons/default/. Это позволяет создавать окна с разными иконками.

Рассмотрим возможные атрибуты элемента <window>:

height – устанавливавет высоту окна.
hidechrome – установить атрубут в true и у окна исчезнет строка заголовка.
id – идентификатор окна, должен быть унекальным.
screenX – горизонтальная позиция окна, которое появится на экране.
screenY – вертикальная позиция окна, которое появится на экране.
sizemode – положение окна на экране. Может принимать следующие значения:

  • maximized: окно максимизировано и занимает весь экран.
  • minimized: окно минимизировано в панель задач.
  • normal: окно появляется в нормально режиме с установленым размером и положением на экране.
title – текст строки заголовка.
width - устанавливавет ширину окна.

xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" Строка описывает пространство имён XUL-документа. Обязательно должен присутствовать, именно этой строчкой мы описываем, что все элементы принадлежат XUL.

<description value=" Здравствуй, мир”/> Элемент используется для создания блока текста, который помещается в атрибут value или между открывающимся и закрывающимся тегами <description>. Возможные атрибуты элемента:

crop – если выделено мало места, чтобы поместить текст в отведённое место, то он обрезается в соответствии со значениями атрибута:

  • start: текст будет обрезан по левому краю.
  • end: текст будет обрезан по правому краю.
  • center: текст будет обрезан с обоих сторон.
  • none: текст не будет обрезан, если он не помещается.
disabled – отключить элемент, выглядит в зависимости от стиля, обычно серым цветом.
value – вписываемый текст.

На сегодня все...

Hosted by uCoz