Определение содержимого введения
Познакомимся с самим содержимым. Для описания содержимого используются страницы. У всех страниц имеется атрибут ИД.
Этот ИД используется при определении домашней страницы и страницы ожидания и других мест, которые ссылаются на страницу. Также используются другие атрибуты в зависимости от типа заданной страницы.
Есть два основных типа страниц:
- Статические страницы - это простые файлы HTML. Эти страницы используют простой механизм HTML для ссылок на другие страницы. Статические страницы нет необходимости задавать в файле конфигурации содержимого, кроме домашней страницы. Так как домашняя страница задается по ИД (home-page-id) в элементе презентация, в файле содержимого должно присутствовать определение страницы, использующее этот ИД. Эта страница должна только задать url. Все остальные элементы будут проигнорированы, так как страница HTML сама по себе описывает содержимое страницы. Все другие HTML-страницы, добавленные модулем, должны быть включены с модулем, но их не следует указывать в файле содержимого. Можно также добавить ссылку на файлы HTML, расположенные в других модулях или на Web-сайтах.
- Динамические страницы описываются в файле содержимого XML с использованием элементов, описывающих содержимое страниц. Эти элементы являются элементами пользовательского интерфейса, часто встречающимися в схожих с HTML страницах. В зависимости от реализации, эти страницы будут либо динамически переведены в HTML (если тип реализации - html) или динамически будут созданы формы пользовательского интерфейса на базе SWT (если тип реализации - swt). На странице можно определить следующие элементы:
- group - для группировки других элементов и определения согласованного стиля группы.
- link - определяет ссылку, которую можно отобразить с помощью текста или изображения. Ссылка может вести на другую страницу или запустить действие введения. Действия указываются как команды в URL.
- Элементы text и img показывают текст или изображение.
- Элемент include включает определенный ранее элемент. Ссылаться на элемент можно с помощью его ИД.
- Элемент head задает дополнительный код HTML для включения в раздел head страницы при HTML-реализации.
- Элемент html задает дополнительный код HTML для включения в тело страницы при использовании HTML-реализации.
Можно также указать title для страницы. Содержимое страницы можно задать и в отдельном файле content. Для улучшения быстродействия системы удобно разбить страницу на отдельные файлы, так как в этом случае содержимое введения не будет инициализироваться без необходимости.
Лучший способ хорошо разобраться в формате определения введения - это просмотреть его реализацию в SDK. Ниже приведен фрагмент кода - первая часть содержимого корневой страницы SDK, являющейся первой отображаемой страницей введения.
<introContent>
<page alt-style="css/root_swt.properties" style="css/root.css" id="root" style-id="page">
<title style-id="intro-header">Добро пожаловать в Eclipse 3.0</title>
<group id="links-background">
<group id="page-links">
<link label="Обзор" url="http://org.eclipse.ui.intro/showPage?id=overview" id="overview" style-id="left">
<text>Узнайте больше об Eclipse</text>
</link>
<link label="Обучающие курсы" url="http://org.eclipse.ui.intro/showPage?id=tutorials" id="tutorials" style-id="left">
<text>Познакомимся с обучающими курсами по Eclipse</text>
</link>
<link label="Примеры" url="http://org.eclipse.ui.intro/showPage?id=samples" id="samples" style-id="right">
<text>Изучите разработку в Eclipse на примерах кода</text>
</link>
<link label="Что нового" url="http://org.eclipse.ui.intro/showPage?id=news" id="news" style-id="right">
<text>Познакомьтесь с новинкам этого выпуска</text>
</link>
</group>
</group>
Элементы страницы можно также отфильтровать (filteredFrom) для определенной реализации. Это позволяет разработчикам создавать страницы с учетом определенных платформ. При описании страницы и ее содержимого можно использовать и более мощные атрибуты. Полный справочник по применимым элементам, под-элементам и атрибутам содержится в описании точки расширения org.eclipse.ui.intro.config и в спецификации формата файла содержимого введения.