При запуске универсального Приветствия, настроенного, как указано выше, обратите внимание, что область содержимого всех страниц второго уровня, исходящих из корневой страницы, пуста. Причина в том, что у общего Приветствия нет своего содержимого. Области содержимого заполняются с помощью расширений конфигурации введения.
Обычно для добавления расширений конфигурации на целевой странице указывают полный путь элемента маркера. Этот метод до сих пор поддерживается, но он оказался не совсем надежным. Как уже говорилось, указание точного расположения расширения на целевой странице не всегда возможно. Например, авторам расширения не всегда известны все продукты, в которых будет использоваться расширение, и поэтому трудно предсказать его расположение в конкретном продукте. В универсальном Приветствии точное расположение расширения определяют авторы продукта. Авторы расширений могут указывать неполный целевой путь, а авторы продукта его дополнят.
Для позднего определения целевого пути расширения конфигурации должны удовлетворять трем условиям:
Определение целевого пути расширения - это новая функция введения в Eclipse 3.2, расширяющая возможности универсального Приветствия. Она носит базовый характер и может использоваться не только в универсальном Приветствии, но и в других его видах. В Eclipse 3.2 CustomizableIntroPart поддерживает дополнительный класс настройщика, который может повлиять на работу введения несколькими способами. Одна из задач настройщика - позднее определение целевого пути. К сведению авторов продукта, использование настройщика зависит от реализации Приветствия. В универсальном приветствии позднее определение целевого пути выполняется с помощью указанного выше файла. Этот файл можно сохранить, задав значение для параметра org.eclipse.ui.intro/INTRO_DATA.
В файле "INTRO_DATA" данные хранятся в формате XML. С помощью этого файла авторы продукта могут управлять содержимым страниц основного Приветствия. Авторы дополнений к Приветствию должны указывать в целевом пути только ИД страницы. Остальная часть пути определяется в этом файле. В файле указана последовательность элементов "страница", каждый из которых содержит элементы "группа". Элементы группы указывают путь к корневой странице и содержат элементы дополнений для дочерних страниц. Элементы дополнений задают два аспекта:
<extensions> <page id="overview"> <group path="page-content/top-left"> <extension id="foo1" importance="high"/> <extension id="bar" importance="high"/> <extension id="foo2" importance="medium"/> </group> <group path="page-content/top-right"> <extension id="foo3" importance="low"/> <extension id="foo4" importance="low"/> <extension id="foo5" importance="callout"/> </group> <hidden> <extension id="foo6"/> <extension id="foo7"/> </hidden> </page> <page id="whatsnew"> ... </page> </extensions>
В приведенном выше примере дополнения "foo1", "bar" и "foo2" будут размещены в левой части страницы, а "foo3", "foo4" и "foo5" - в правой. Относительный
порядок расположения дополнений также определен в этом файле. Помимо этого, дополнения классифицируются по важности с помощью атрибута
importance
. Допустимые значения этого атрибута: high (высокая), medium (средняя), low (низкая) и
callout (специально). Значение по умолчанию - low. Для выделения каждого значения на странице используется соответствующее
оформление. Первые три значения определяют уровень важности, заданный автором продукта. Обратите внимание, что одному и тому же дополнению
в разных продуктах можно присвоить разный уровень важности. Последнее значение (callout) используется для выделения дополнений,
носящих совершенно иной характер, чем остальные дополнения (например, дополнение, содержащее ссылки на видео и анимацию).
Дополнения, не указанные в списке, добавляются после указанных в списке дополнений и наделяются низким уровнем важности. Это имеет значение для дополнений, внесенных после установки продукта: им также нужно присвоить уровень важности.
Дополнения, не относящиеся к проекту, можно скрыть, указав их в списке подэлементов скрытого элемента.
Расширение, добавленное на корневую страницу, может содержать маркеры для добавления содержимого. Это может вызвать неудобства, потому что полный путь содержимого расширения неизвестен заранее. Поэтому необходимо определить целевой путь содержимого расширения, использующего позднее определение пути:
<?xml version="1.0" encoding="utf-8" ?> <introContent> <extensionContent id="extra" name="Extra" alt-style="css/swt.properties" style="css/overview.css" path="overview/@"> <group id="extra-group" style-id="content-group"> <link label="Extra Overview link" url="http://org.eclipse.ui.intro/showPage?id=extraOverview" id="extra-overview"> <text>Showing the third-level extra page for overview</text> </link> <anchor id="additions"/> </group> </extensionContent> </introContent>
Для внесения дополнений к маркерам в приведенном выше расширении нужно указать путь "overview/@extra/extra-group/additions". Сегмент "@extra" будет заменен на путь расширения с ИД "extra" на странице "overview". Например, для размещения расширения в верхней левой части страницы нужно указать путь "overview/page-content/upper-left/extra-group/additions".