Пример: Создание русскоязычного фрагмента для модуля XYZ

Мастеры и редакторы PDE для работы с модулями и фрагментами почти ничем не отличаются.   Однако некоторые существенные различия необходимо иметь в виду.

Создадим новый проект фрагмента.  

На первой странице мастера Создать проект фрагмента укажите имя фрагмента: "com.example.russian".  Примите предложенные стандартные значения и нажмите Далее.

На странице Содержимое фрагмента есть три дополнительных поля по сравнению с мастером создания модуля: идентификатор родительского модуля, версия родительского модуля и правило согласования версий.

Поскольку мы пишем фрагмент для конкретного модуля, выберем с помощью кнопки Обзор "com.example.xyz" в окне выбора модуля. В этом окне можно было бы выбрать также любой внешний модуль.

Пример фрагмента - страница Содержимое фрагмента

После создания проекта откроется редактор манифеста фрагмента.

Пример фрагмента - страница Содержимое - обзор манифеста

Фрагменты не содержат класса модуля, поскольку они следуют жизненному циклу их родительского модуля.

Добавим похожий набор действий, как и в примере для модуля, но на этот раз по-русски.

  1. Перейдите на страницу Расширения редактора манифеста фрагмента. Нажмите Добавить. Откроется мастер расширения.
  2. Выберите "org.eclipse.ui.actionSets" в списке точек расширения. Нажмите Готово.
  3. Выберите новый набор действий. Выберите в выпадающем меню Создать->Набор действий.
  4. В разделе Сведения об элементе расширения укажите свойство label как "Набор действий по-русски".
  5. В разделе Все расширения щелкните правой кнопкой мыши на наборе действий и выберите в меню Создать->меню.
  6. Укажите свойство меню label как "Пример меню" и id как "примерМеню".
  7. Выберите в контекстом меню Создать->разделитель. Укажите его имя как "примерГруппы" и сохраните его.
  8. Создайте новый элемент "action" (как на шаге 6). Задайте label как "Пример действия." Задайте menubarPath равным "примерМеню/примерГруппы."
  9. Щелкните на гиперссылке свойства class, чтобы создать новый класс для действия. Укажите "com.example.russian/src" как папку исходников и оставьте имя пакета пустым (пакет по умолчанию). Укажите имя класса как "RussianAction". Нажмите Готово.
  10. В открывшемся редакторе Java для нового класса выберите метод "run" и введите текст:

    System.out.println("Здравствуй, мир PDE!");

  11. Сохраните изменения и закройте редактор Java и редактор манифеста фрагмента.

При запуске фрагмента с помощью кнопки "Выполнить" панели инструментов в динамическом экземпляре платформы должен появиться набор действий "Набор действий по-русски".   Список наборов действий можно открыть с помощью Окно->Настроить проекцию...->Прочие. При активации набора действий должно появиться меню "Пример меню". Выбрав этот пункт меню, вы увидите сообщение консоли "Здравствуй, мир PDE!". Динамическая платформа не показала прямо русский фрагмент. Вместо этого реестр модулей обработал ссылки фрагмента так, что набор действий фрагмента был включен в платформу, как если бы он предоставлялся прямо модулем XYZ.