Хорошей практикой создания программного обеспечения является предоставление пользователю возможности вызова диалога с краткой информацией о назначении программы, версии, лицензии, ссылки на Web сайт данного программного продукта где можно получить «свежую» информацию и т.д.
Платформа Eclipse RCP не запрещает создавать собственные версии диалогов «О программе», но так как данный диалог является типовым элементом современного приложения, то разработчикам предоставляется возможность использовать стандартизированный шаблон для его создания.
Ранее, при создании действий (Actions) мы добавили вызов стандартного диалога “О программе” платформы Eclipse RCP в меню “ Help->About Berdaflex File Arranger ”, но он не содержал никакой информации.
Типовой диалог «О программе» содержит логотип программы, краткую информацию в текстовом виде, кнопку для получения информации о составе подключаемых модулей “Plugins-Details”, кнопку для получения информации о системной конфигурации.
Рисунок 5.14. Информационный диалог «О программе»
Дополнительную информацию об интересующем вас модуле можно получить после нажатия кнопки “More Info”. Для описания более детальной информации о подключаемых модулях принято создавать файл about.html с соответствующим описанием, который помещается в «корневой» каталог подключаемого модуля. Если требуется создать несколько страниц описания, то для этих целей зарезервирован каталог «about_files» в который помещаются все дополнительные ресурсы (данный каталог создается относительно «корневого» дополнительно). Это связано с тем, что Web ресурсы требуется предварительно распаковывать для последующего просмотра, когда подключаемые модули распространяются в виде jar архивов.
Рисунок 5.15. Информация о составе подключаемых модулей
Стандартный диалог «О программе» позволяет указывать только изображения в формате GIF, причем, если размер изображения не превышает 250x330 пикселей, то логотип помещается в левой части диалога, а текстовая информация в правой. Если же размер логотипа превышает указанные размеры, то текстовая информация отображаться не будет, т.е. диалог будет содержать только изображение, размер которого не должен превышать 500x330.
Текстовая информация автоматически «парсится» на наличие гиперссылок по которым можно открывать WEB ресурсы с помощью Интернет броузера.
Для добавления текстовой информации откроем закладку “ Branding ” и в секции “ About Dialog->Text ” вводим текст. Путь к файлу изображения логотипа указывается в секции “ About Dialog-Image >”
Рисунок 5.16. Редактор секции «About Dialog»
После добавления новых ресурсов (логотипа, about.html и т.д.) необходимо проконтролировать включение данных ресурсов в конечный билд (файл build.properties).
Для возможности интернационализации в дальнейшем текстовые ресурсы желательно выносить в файлы ресурсов. Применительно к файлу манифеста зарезервирован файл plugin.properties, который помещается в «корневой» каталог подключаемого модуля. В данном файле создадим переменную aboutText следующего содержания:
aboutText=Berdaflex File Arranger\n\n\ Version: 0.1.1\n\ Build id: 20061209\n\ License: Eclipse Public License Version 1.0\n\ Visit http://www.filearranger.com\n\n\ (c) Copyright Berdaflex Software Systems and others 2000, 2006.\n\ All rights reserved.\n\ Visit http://www.berdaflex.com\n\n\ Author: Siarhei Berdachuk\n\n\ This product based on eclipse RCP technology\n\ http://www.eclipse.org\n\ This product includes software developed by the\n\ Apache Software Foundation http://www.apache.org/
В файле манифеста меняем ранее введенный текст на данную переменную. Для идентификации переменных используется символ “%”.
. . . <extension point="org.eclipse.ui.views"> <category id="com.berdaflex.filearranger" name="File Management Category"/> <view allowMultiple="true" category="com.berdaflex.filearranger" class="com.berdaflex.filearranger.views.ExplorerView" icon="icons/obj16/explorerview.gif" id="com.berdaflex.filearranger.ExplorerView" name="Explorer View"/> </extension>
Теперь можно создать дополнительные файлы ресурсов поддерживающие различные локали. Русскоязычная версия файла свойств манифеста будет называться plugin_ru_RU.properties и содержать русскую версию текста, закодированную в юникоде:
aboutText=Berdaflex "\u0410\u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0424\u0430\u0439\u043b\u043e\u0432" . . .
Для интернационализации (русификации) системных сообщений и надписей на кнопках требуется скачать LanguagePack с поддержкой требуемого языка для Eclipse RCP.
Легко можно заметить наличие динамически изменяемой информации в тексте. Это номер версии и номер билда, которые изменяются от версии к версии. Для того чтобы не искать данные строки по всем файлам ресурсов для замены их можно вынести в специально предназначенный для этих целей файл маппинга about.mappings, который для данного примера будет содержать:
0=0.1.1 1=20061209
Текст диалога теперь можно заменить в соответствии с форматом java.text.MessageFormat на:
aboutText=Berdaflex File Arranger\n\n\ Version: {0}\n\ Build id: {1}\n\ . . .
Единственным минусом данного решения является отсутствие поддержки интернационализации ресурсов маппинга, но для номера версии это не так важно.