Rcp что это такое
RCPcomponents что это такое
Многие пользователи задаются вопросом что такое RCP components, rcpcomponents это за программа? Давайте попробуем разобраться. RCP аббревиатура от Rich Client Platform, что дословно переводится как «Богатая клиентская платформа». Представляет собой набор инструментов для разработки и последующей интеграции независимых программных компонентов. Большая часть обработки данных происходит на стороне клиента. Само программное обеспечение состоит их следующих компонентов:
Для чего нужна платформа RCP?
Говоря простым языком используя платформу RCP разработчики программных приложений могут создавать софт, утилиты и отдельные компоненты на существующих вычислительных платформах, устройствах, в частности мобильных телефонах. Это значительно упрощает и в разы ускоряет разработку, используя готовые и протестированные модули не приходится «изобретать велосипед» и создавать типовые блоки программ и функций, а на выходе получатся самостоятельное приложение. Так же повышается совместимость написанных программ с устройствами — используется общее API. Готовые независимые программные модули интегрируются разработчиками простым кликом мыши, что позволяет объединять вместе графические интерфейсы, текста, электронные таблицы, использовать и подключать технологии гео локации и карты.
Разработчики утверждают, что программы созданные с помощью RCP портативные для многих операционных систем, а значит запустятся на совершенно разных устройствах. Плюс богатое клиент серверное приложение. Примеры таких программ с открытым исходным кодом известны многим: это Eclipse, NetBeans и Spring Framework СКТ для Java.
Надеюсь вы поняли что такое RCP components и для чего нужна эта среда разработки.
Евгений Загорский
IT специалист. Автор информационных статей на тему Андроид смартфонов и IOS смартфонов. Эксперт в области решения проблем с компьютерами и программами: установка, настройка, обзоры, советы по безопасности ваших устройств. В свободное время занимается дизайном и разработкой сайтов.
СОДЕРЖАНИЕ
Концентрации
Четыре RCP согласуются с определенными социально-экономическими предположениями, но заменяются общими социально-экономическими путями, которые, как ожидается, обеспечат гибкие описания возможных вариантов будущего в рамках каждого RCP. Сценарии RCP заменили прогнозы Специального отчета о сценариях выбросов, опубликованные в 2000 году, и основывались на аналогичных социально-экономических моделях.
RCP 1.9
RCP 2.6
RCP 3.4
В документе 2021 г. предполагается, что наиболее правдоподобные прогнозы совокупного CO
2 Выбросы (с допуском 0,1% или 0,3% с исторической точностью) склонны предполагать, что RCP 3.4 (3,4 Вт / м ^ 2, 2,0–2,4 градуса Цельсия, потепление к 2100 году согласно исследованию) является наиболее вероятным путем.
RCP 4.5
RCP 4.5 описывается IPCC как промежуточный сценарий. Выбросы в RCP 4.5 достигают пика примерно в 2040 году, затем сокращаются.
Согласно IPCC, RCP 4.5 требует, чтобы диоксид углерода ( CO
2 ) выбросы начнут сокращаться примерно к 2045 году и достигнут примерно половины уровня 2050 года к 2100 году. Также требуется, чтобы выбросы метана ( CH
4 ) перестанет расти к 2050 году и несколько снизится примерно до 75% от CH
4 уровень выбросов диоксида серы (SO2) снизится примерно до 20% от уровня 1980–1990 годов. Как и все другие RCP, RCP 4.5 требует отрицательного CO.
2 выбросы (например, CO
2 поглощение деревьями). Для RCP 4.5 эти отрицательные выбросы составят 2 гигатонны CO.
2 в год (ГтCO2 / год). RCP 4.5 с большей вероятностью приведет к повышению глобальной температуры на 2–3 градуса Цельсия к 2100 году со средним повышением уровня моря на 35% выше, чем у RCP 2.6. Многие виды растений и животных не смогут адаптироваться к воздействию RCP 4.5 и выше.
RCP 6
В RCP 6 выбросы достигают пика около 2080 года, а затем снижаются.
RCP 7
RCP 8.5
Прогнозы на основе RCP
Сценарий | 2046–2065 | 2081–2100 |
---|---|---|
Среднее ( вероятный диапазон) | Среднее ( вероятный диапазон) | |
RCP2.6 | 1,0 (от 0,4 до 1,6) | 1,0 (от 0,3 до 1,7) |
RCP4.5 | 1,4 (от 0,9 до 2,0) | 1,8 (от 1,1 до 2,6) |
RCP6 | 1,3 (от 0,8 до 1,8) | 2,2 (от 1,4 до 3,1) |
RCP8.5 | 2,0 (от 1,4 до 2,6) | 3,7 (от 2,6 до 4,8) |
По всем RCP к концу 21 века прогнозируется повышение средней глобальной температуры на 0,3–4,8 ° C.
Согласно исследованию 2021 года, в котором вероятные сценарии AR5 и SSP CO
2 выбраны выбросы,
5
Сценарий | 2046–2065 | 2081–2100 |
---|---|---|
Среднее ( вероятный диапазон) | Среднее ( вероятный диапазон) | |
RCP2.6 | 0,24 (от 0,17 до 0,32) | 0,40 (от 0,26 до 0,55) |
RCP4.5 | 0,26 (от 0,19 до 0,33) | 0,47 (от 0,32 до 0,63) |
RCP6 | 0,25 (от 0,18 до 0,32) | 0,48 (от 0,33 до 0,63) |
RCP8.5 | 0,30 (от 0,22 до 0,38) | 0,63 (от 0,45 до 0,82) |
Прогнозируется, что к концу XXI века глобальный средний уровень моря по всем RCP повысится на 0,26–0,82 м.
Для расширенного сценария RCP2.6 прогнозируется глобальное потепление на 0,0–1,2 ° C в конце 23-го века (в среднем 2281–2300) по сравнению с 1986–2005 годами. Для расширенного RCP8.5 прогнозируется глобальное потепление на 3,0–12,6 ° C за тот же период времени.
Смотрите также
использованная литература
Примечание. Следующие ссылки цитируются в этой статье с использованием шаблона: Цитирование из Гарварда без скобок :
Rcp что это такое
Rich Client Platform (RCP) — набор модулей для разработки программного обеспечения, состоящий из:
RCP предоставляет программистам средства построения собственных приложений на основе готовых модулей. Это позволяет снизить затраты на разработку, так как не требуется самостоятельно разрабатывать типовые блоки программ, а можно воспользоваться уже готовыми, оттестированными решениями.
Также это повышает совместимость разрабатываемых приложений, так как используется общее API.
См. также
Ссылки
Смотреть что такое «RCP» в других словарях:
RCP — may refer to:In computer science* Rich Client Platform, a software development platform helping software developers to rapidly build new Java applications * RCP (chip), a co processor chip designed by Silicon Graphics for use in the Nintendo 64… … Wikipedia
Rcp — (de l anglais remote copy) est un programme issu du package rlogin qui permet de copier des fichiers sur ou à partir d une autre machine, reliée en réseau. Pour pouvoir le faire, il faut que le compte que l on utilise actuellement soit reconnu… … Wikipédia en Français
Rcp — Saltar a navegación, búsqueda Para otros usos de este término, véase Reanimación cardiopulmonar. rcp es un comando para copiar ficheros entre ordenadores remotos. Se basa en el protocolo del rlogin, hablando con el demonio rlogind, el cual a su… … Wikipedia Español
RCP — abbrev. Royal College of Physicians * * * RCP abbr. Royal College of Physicians. * * * … Universalium
RCP — Abreviatura de reanimación cardiopulmonar. Diccionario Mosby Medicina, Enfermería y Ciencias de la Salud, Ediciones Hancourt, S.A. 1999 … Diccionario médico
RCP — abbrev. Royal College of Physicians … English World dictionary
RCP — — символ, обозначающий реципрокную транслокацию … Генетика. Энциклопедический словарь
RCP — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sigles d’une seule lettre Sigles de deux lettres > Sigles de trois lettres Sigles de quatre lettres … Wikipédia en Français
RCP — Die Abkürzung RCP steht für: Informatik: Radio Control Protocol, ein auf IP basierendes Netzwerkprotokoll Rapid Control Prototyping, eine rechnergestützte Entwurfsmethode zur Regelungs und Steuerungsentwicklung Rich Client Platform, eine… … Deutsch Wikipedia
Desktop. Не популярный, но все еще живой. Eclipse Rich Client Platform (RCP e4)
Всем доброго времени суток. Начнем. Во время своего обучения этой технологии я столкнулся с проблемой, что на весь интернет есть только один нормальный источник информации по этой теме (Lars Vogel). А в нем все написано профи для профи. Поверхностно, без деталей. Есть и с деталями, но платно. Я хочу добавить подробностей в довольной простой процесс создания своего первого приложения RCP, поэтому буду делать подробные пояснения к каждому шагу. Это статья подойдет новичкам, не имеющим представления о RCP и Eclipse и желающим сделать первые шаги в освоении этой технологии, но знающим, что такое Java, JDK, JRE.
Скачивание и установка Eclipse
Создание rcp-plugin проекта
Файловая структура RCP проекта
1. Скачивание и установка Eclipse
Для работы в Eclipse нужна JDK, поэтому если у вас ее нет, нужно установить. Я использую Java SE Oracle JDK 8, вот ссылка. Работу приложения проверял до 15 версии JDK включительно. Скачиваем файл установки Eclipse версии 2021-03 отсюда. Дальше запускаем скачанный файл и выбираем пункт «Eclipse IDE for RCP and RAP Developers».
Ждем, пока Eclipse установится, и запускаем его.
Меняем настройки окружения самого Eclipse:
2. Создание rcp-plugin проекта
Мы создадим plugin и дополнительными настройками в wizard добавим папки и файлы, нужные для полноценной работы RCP приложения.
Установите настройки как показано на скриншоте.
Более подробно о них:
Project name — наименование проекта.
checkbox установлен — создаст проект в текущем workspace. Workspace — каталог на диске, в котором платформа Eclipse и все установленные надстройки хранят настройки, конфигурации и временную информацию. Последующие вызовы Eclipse будут использовать это хранилище для восстановления предыдущего состояния. Как следует из названия, это ваше «рабочее место».
checkbox снят — создаст проект в выбранной папке (поле Location).
checkbox установлен — создается Java проект, т.е. создаются 3 папки: для jre (JRE System Library), для зависимостей самого приложения (Plug-in Dependencies) и папка для исходников. Выберите этот пункт, если вы будете писать код в вашем плагине.
checkbox снят- проект Java не будет создан. Подходит, если, например, вы создаёте плагин для документации.
Output folder — наименование папки для скомпилированных классов. Общепринятое название — bin, но вы спокойно можете сменить название без потери функциональности.
Target Platform — выбор платформы – Eclipse или OSGi – контролирует параметры генерации кода, а также список доступных шаблонов
OSGi (Open Services Gateway Initiative) представляет собой спецификацию динамической модульной системы и сервисной платформы для Java-приложений, разрабатываемую консорциумом OSGi Alliance. Данная спецификация определяет модель построения приложения из компонентов, состав которых может изменяться во время выполнения приложения. Подробнее можно найти тут, тут и здесь. Шаблон RCP будет недоступен, поэтому в данной статье этот пункт мы не будем выбирать.
Working sets — оставляем как есть. У нас один проект в окружении, working sets не нужны.
Установите настройки как показано на скриншоте.
Более подробно о них:
Properties — набор основных свойств plugin.
Name — наименование плагина, является обязательным. По умолчанию wizard подставляет название проекта в поля ID (все строчными символами) и Name (с заглавного символа) плагина. Смена названия не влияет на функциональность.
Vendor — разработчик, название компании, опционально.
Execution Environment — на какой версии java будете запускать приложение.
Generate an Activator. если checkbox установлен, то создается Java-класс, который управляет жизненным циклом плагина. Это необходимо только в том случае, если вам необходимо выполнить какие-либо действия при запуске или завершении работы плагина.
This plug-in will make contributions to the UI — дословно переводится «Этот плагин будет вносить вклад в пользовательский интерфейс». Будут сгенерированы специальные файлы и папки для работы с UI. В зависимости от выбора в разделе Rich Client Application:
yes — на следующей странице на выбор будут даны несколько шаблонов генерации кода, где создается окружение для корректной работы RCP приложения. А именно: будут созданы файлы Application.e4xmi, *.product и папки для хранения css файлов с одним дефолтным файлом и папка для иконок с 3 иконками. Свойства этих папок сразу будут прописаны в файл build.properties (свойство bin.includes). Обратите на это внимание, так как если в дальнейшем захотите добавить папку для каких-то ресурсов – не забудьте прописать их в файл build.properties, а то в билде все упадет из-за недоступности ресурсов.
no — на выбор будут даны шаблоны различной сложности, без шаблона для RCP плагина.
Enable API analysis — свойство добавляет статический анализ API вашего плагина. Пример использования:
Вы создаете свой плагин, аннотируете его API и публикуете версию 1.
Миллионы людей будут использовать ваш плагин и создавать свой собственный код, который зависит от API вашего плагина.
При создании 2 версии вашего плагина вы объявляете версию 1 как API-Baseline, с которым автоматически сравниваются изменения вашего кода. Любое изменение в API между версией 1 и 2 показывается вам до того, как вы запустите плагин или тесты. Вы выпускаете версию 2 без каких-либо изменений API.
Миллионы людей могут обновить ваш плагин в своем приложении, потому что новый выпуск плагина совместим с предыдущим.
Rich Client Application:
no — wizard предложит нам множество примеров дополнений (contributions) для 3 и 4 версий. Contribution — это дополнение или расширение уже существующего приложения, которое легко подключить и так же легко отключить. Это могут быть отдельные команды, пункты панели инструментов или меню, отдельные парты или даже перспективы.
Тема и цель данной статьи – создать простой пример RCP приложения, поэтому из всех возможных вариантов мы будем рассматривать только шаблон который создает RCP приложение — Eclipse 4 RCP application.
Выбираем пункт «Yes» и жмем «Next»
Окно выбора templates для генерации приложения. Выбираем Eclipse 4 RCP application.
Установите настройки как показано на скриншоте.
Более подробно о них:
Application window title — заголовок окна приложения.
Create sample content — сгенерируются несколько вкладок, главное меню и классы, отвечающие за действия при нажатии на кнопки в главном меню.
Java package name — название пакета, в котором будут лежать исходники. Поскольку есть Naming Conventions для package name, то логично, что при генерации плагина можно было бы заранее указать нужную структуру папок, а не создавать ее потом. В этом поле это можно сделать.
Add life cycle class — будет сгенерирован класс с набором аннотаций, которые срабатывают в разные моменты жизненного цикла приложения (перед открытием, сразу после полной загрузки, перед закрытием и т.д.). Этот класс будет прописан в расширениях со свойством lifeCycleURI.
Eclipse предложит нам перейти на другую perspective для Plug-in development. Нажимаем «No», так как мы не будем использовать дополнительные вкладки этой перспективы.
И вот мы создали первое RCP приложение. Чтобы убедиться, что все работает и запускается, зайдите в файл *.product, лежащий в корневой папке приложения, и нажмите в верхнем правом углу зеленый треугольник launch an Eclipse application. Если вы все сделали правильно, то должно открыться вот такое окно:
3. Файловая структура rcp проекта
Именно такая файловая структура должна получиться, если все сделать как я описывал.
Test — созданный нами plugin.
src — исходники. Как вы видите, структура папок (com.firstarticle.test) между src и сгенерированными классами именно такая, которую мы указали на последнем шаге создания приложения.
css — папка для конкретных ресурсов (css).
icons — папка для конкретных ресурсов (icons).
Он содержит два основных раздела, определяющих важные свойства плагина: «General Information» и «Execution Environments».
Он работает как краткий справочник по разработке, тестированию и развертыванию плагинов, предоставляя разделы «Plug-in Content», «Extensions», «Testing» и «Exporting». Эти разделы содержат гиперссылки, при нажатии на которые можно переходить на другие страницы или вызывать команды.
Plug-in Dependencies — показаны зависимости вашего плагина от других плагинов. На этой странице вы должны перечислить все плагины, которые вы используете в своем проекте.
Runtime — показаны все пакеты, которые ваш плагин делает видимыми для других плагинов, а также библиотеки и папки, составляющие путь к классам среды выполнения подключаемого модуля.
Extensions — это центральный механизм, влияющий на поведение платформы. Тут есть один пункт, если его раскрыть, то мы увидим lifeCycleURI — то расширение, что создалось при генерации плагина. Оно позволяет нам следить за жизненным циклом плагина.
Plug-in Extensions points — определяют новые функциональные точки для платформы, к которым могут подключаться другие плагины.
Build — содержит всю информацию, необходимую для сборки, упаковки и экспорта плагина. Хотя он отображается как страница в редакторе манифеста, изменения, внесенные в него, записываются в файл build.properties. Файл build.properties управляет исключительно процессом сборки.
MANIFEST.MF, build.properties, plugin.xml — исходники. В них отображаются все те изменения, что мы вносили в предыдущих вкладках, плюс там есть доп.настройки, не вошедшие в пользовательский редактор и на этапе ознакомления с созданием приложения не используемые нами.
Overview — содержит разделы «General Information», «Product Definition», определяющие основные свойства продукта, и разделы «Testing», «Exporting», в которых содержатся ссылки на тестирование и экспорт.
Configuration — определяет информацию, которая создает файл конфигурации, необходимый для запуска продукта.
Launching — настраивается собственная программа запуска вашего продукта и аргументы запуска.
Branding — придает продукту индивидуальность, настраивая изображения окон, диалоговое окно «О программе» и приветствие.
Customization — можно добавить свой файл свойств запуска продукта и свой css-файл настроек для внешнего вида приложения.
Licensing — на странице лицензирования вы можете добавить URL-адрес и текст лицензии для вашего продукта.
Updates — позволяет настроить обновление приложения из сторонних источников
Source — исходный вид файла test.product.
4. Заключение
При изучении технологии и дальнейшем ее использовании, я столкнулся с проблемой малого количества информации, ее фрагментарности и конечно же она была крайне устаревшей. И сформировать какое-то общее понимание того как это все работает, а не тупое использование заученных действий, оказалось крайне сложно. Поэтому в этой статье я постарался дать как можно более подробный контекст при создании приложения, для того чтобы вы могли избежать моих трудностей. Всего доброго.
Разработка простого Eclipse RCP приложения
В данной статье я хотел рассказать о том, как создавать приложения при помощи Eclipse RCP (Rich Client Platform). Поводом для написания послужил тот факт, что на Хабре абсолютно отсутствуют статьи, описывающие данную платформу. В качестве примера мы создадим пользовательскую форму ввода; корректность данных будет проверяться при помощи JFace Data Binding framework. Для затравки приведу ниже скриншот с тем, что у нас должно получиться.
Что такое Eclipse RCP
Для начала, все же необходимо сказать, что же такое Eclipse RCP. Eclipse – это среда разработки, написанная на Java, развиваемая и поддерживаемая Eclipse Foundation (участниками которого являются IBM, SAP, Oracle, компании, предлагающие продукты на основе Eclipse RCP и участвующие в развитии экосистемы Google, RedHat, Adobe, Cisco, Intel). Eclipse RCP – это набор плагинов для создания, так называемых, rich client application. Все что видит пользователь, открывая Eclipse IDE, является плагином, созданным на основе этой платформы. Пользователь может создавать свои плагины на основе огромного количества уже существующих, также при необходимости можно найти большинство популярных фреймворков, таких как Hibernate, Google Guice, Google Guava, JUnit, TestNG в виде плагинов. Также стоит отметить, что архитектура времени выполнения основана на спецификации сервисной платформы OSGI, данная спецификация описывает способы создания и работы модульных приложений. Eclipse, как уже упоминалось выше, написана на Java и позиционируется как кроссплатформенный продукт (в 90% случаев RCP приложение соберётся на Windows, Linux и Mac). Все плагины, составляющие ядро платформы, и большинство сторонних плагинов распространяются под лицензией EPL (Eclipse Public License). Пользовательский интерфейс RCP приложений основан на визуальных компонентах фреймворков SWT и JFace, а также на собственных Eclipse виджетах. Рисунки, приведённые ниже, показывают из каких компонентов состоит приложение, основанное на платформе RCP, и структуру самой платформы Eclipse.
Рисунок 1 — Компоненты используемые в RCP приложении (рисунок взят с этого сайта)
Рисунок 2 – Архитектура Eclipse (рисунок взят с этого сайта)
Плюсы и минусы платформы
Главный вопрос — чем же так хороша данная платформа и зачем ее использовать для разработки десктопных приложений (к слову, возможно разрабатывать веб приложения и приложения для мобильных платформ). Модульность, кроссплатформенность, поддержка мультиязычности, бесплатность, огромное количество существующих плагинов, библиотек и фреймвороков. Все это позволяет создавать приложения коммерческого уровня (ссылка на список существующих приложений разработанных на данной платформе приведена в конце статьи). К минусам можно отнести достаточно высокий уровень вхождения, так как для разработки серьёзного приложения необходимо знать хотя бы в общих чертах, как работает OSGI фреймворк, уметь работать с компонентами и виджетами SWT и JFace. Также для русскоговорящих разработчиков проблемой будет найти какие-либо материалы или книги об упомянутых выше фреймворках и библиотеках (ссылки на найденные ресурсы, в том числе и на русскоязычные, приведены в конце статьи), хотя в Европе и США периодически проводятся конференции, которые организуют участники Eclipse Foundation, в Германии издается специальный журнал, рассказывающий о новых плагинах и содержащий уйму примеров их применения, а также существует целая серия книг на немецком, которая описывает все ньюансы и тонкости разработки. На английском можно найти специальную серию книг eclipse series издательства Addison-Wesley, также можно найти пару книг от издательства Apress. Но на нашем родном языке материалов и книг ничтожно мало.
Приступаем к работе
Установка необходимых плагинов
Давайте перейдём непосредственно к созданию нашего первого RCP приложения. Для работы нам необходимо скачать сборку: Eclipse for RCP and RAP Developers c официального сайта. Если же Eclipse IDE уже установлена, то можно воспользоваться менеджером обновлений. Выберем в главном меню пункт Help->Install New Software. В появившемся окне Install сверху выберем из выпадающего списка нужный нам сайт с обновлениями — download.eclipse.org/releases/indigo, если такого сайта в списке нет, то нажмём справа кнопку Add, в поле Name напишем – Indigo Update Site, в поле Location – адрес, приведённый выше, нажмём OK (если при добавлении адреса появляется сообщение – Duplicate location, значит адрес уже существует в списке Available Software Sites, список сайтов обновлений можно посмотреть в предыдущем окне Install если щёлкнуть по ссылке Available Software Sites, которая находится под выпадающем списком). После выбора сайта обновлений, внизу появится древовидный список (если отмечен чекбокс Group items by category), откроем пункт General Purpose Tools и выберем Eclipse Plug-in Development Environment, затем откроем пункт EclipseRT Target Platform Components и отметим плагин – Eclipse RCP Plug-in Developer Resources, именно эти два плагина нам необходимы для создания нашего проекта. Далее нажмём два раза Next, примем лицензионное соглашение и щёлкнем по кнопке Finish; все, начнется установка необходимых плагинов. После установки нам будет предложено перезагрузить Eclipse, что мы и сделаем.
Рисунок 3 – Окно установки плагинов
Создание проекта
После перезагрузки выберем в главном меню пункт File->New->Other, выберем пункт Plug-in Development, далее, в ниспадающем меню отметим Plug-in Project.
Рисунок 4 – Меню выбора типа создаваемого проекта
Нажмём Next, нам необходимо дать имя нашему проекту, пусть он будет называться first.rcp.application, опять нажмём Next. В следующем окне нам необходимо указать имя приложения, в поле Name напишем First RCP Application. Снимем флажок с пункта Generate an activator, a Java class that controls the plug-in’s life cycle; для нашего простого приложения класс активатор не нужен. Оставим флажок на пункте — This plug-in will make contributions to the UI, так как наше приложение будет содержать пользовательский интерфейс. Оставим третий пункт Enable API Analysis неотмеченным. На вопрос — Would you like to create a rich client application? ответим Yes.
Рисунок 5 – Окно создания плагина
Нажмём Next, нам будет предложено выбрать шаблон для будущего приложения, выберем — Hello RCP и нажмём Next.
Рисунок 6 — Окно выбора шаблона RCP проекта
В последнем окне, в поле Application window title напишем — User Form, в поле Application class – MyApplication. Флажок Add branding оставим неактивным. Нажмём кнопку Finish. Нам будет предложено переключиться на перспективу Plug-in Development perspective, согласимся с этим предложением.
Рисунок 7 — Окно конфигурации шаблона RCP проекта
Структура проекта
Итак перед нами структура только что созданного проекта.
Рисунок 8 – Структура проекта
Содержание пяти классов в пакете first.rcp.application в данный момент нас не итересует, скажу только, что класс MyApplication это в некотором роде метод main() обычной Java программы, данный класс отвечает за то как будет запущен наш плагин и как он будет остановлен. В классе ApplicationWorkbenchWindowAdvisor, мы можем установить размер окна приложения при помощи следующей строки кода:
configurer.setInitialSize(new Point(400, 300));
Также мы можем увидеть, что по умолчанию не будет показываться панель инструментов и строка состояния:
configurer.setShowCoolBar(false);
configurer.setShowStatusLine(false);
Последней строкой устанавливается заголовок главного окна:
configurer.setTitle(«User Form»);
Класс ApplicationActionBarAdvisor отвечает за настройку строки меню нашего приложения. Класс Perspective отвечает за расположение и размер редакторов (editors) и видов (views), которые находятся в данной перспективе (perspective), в RCP приложении должна быть хотя бы одна перспектива.
Запуск проекта
Для того, чтобы запустить только что созданное нами приложение, нам необходимо перейти в папку META-INF и открыть файл MANIFEST.MF, если вы вдруг его закрыли (этот файл открывается по-умолчанию при создании проекта).
Рисунок 9 – Редактор свойств RCP приложения
Данный файл позволяет нам менять многие настройки проекта, подключать дополнительные плагины, подключать и управлять расширениями, настраивать сборку нашего плагина и многое другое. Мы находимся на вкладке Overview, в разделе Testing нажмём на ссылку — Launch an Eclipse application, через мгновение на экране появится окно нашего приложения, закроем его и перейдём к следующему этапу.
Рисунок 10 – Окно нашего приложения
Добавление вида (view)
Добавление расширения
Нашей задачей является создание вида (view), на который мы сможем поместить элементы графического интерфейса. Перейдём опять к файлу MANIFEST.MF, выберем внизу вкладку – Extensions. Мы видим, что по умолчанию у нас есть два расширения: org.eclipse.core.runtime.applications и org.eclipse.ui.perspectives. Первое расширение связано с классом нашего приложения MyApplication, если мы выберем данное расширение и развернём древовидный список до узла first.rcp.application.MyApplication (run), мы увидим, что поле class содержит название именно этого класса. Вернувшись к корневому узлу данного списка, справа в разделе Extension Details мы увидим два поля, значения которых мы тоже можем поменять (не будем сейчас этого делать): ID – идентификатор приложения и Name – название приложения.
Второе расширение отвечает за настройку перспективы нашего приложения. Файл MANIFEST.MF позволяет нам не заглядывая в код класса Perspective, указать, какие виды и/или редакторы будет содержать данная перспектива, их положение, размер и соотношение. Щёлкнув на этом расширении и перейдя к дочернему пункту мы увидим, что в разделе Extension Element Details мы можем указать класс перспективы, идентификатор и имя. Необходимо отметить, что подобные изменения, как говорилось выше, можно произвести путём редактирования непосредственно кода класса, который связан с данным расширением и редактированием файла plugin.xml, но не хотелось бы усложнять создание нашего первого проекта.
Рисунок 11 – Вкладка с расширениями нашего проекта
Нам необходимо добавить новое расширение для создания вида. Для этого нажмём на кнопку Add и в появившемся окне, в поле Extension Point filter введём views, должно остаться только одно расширение – org.eclipse.ui.views, выберем его и нажмём кнопку Finish.
Рисунок 12 – Окно выбора нового расширения
В списке расширений у нас должно появиться ещё одно, третье по счёту расширение.
Настройка вида
Щёлкнем по добавленному нами расширению правой кнопкой мыши, появится контекстное меню, выберем в нем New->view, тем самым мы добавим элемент к нашему расширению (этим элементом и является необходимый нам вид). В правой части появятся настройки данного элемента. Для начала создадим класс для нашего вида. Сделать этом мы можем нажав на ссылку class*.
Рисунок 13 – Настройки вида (view)
Откроется стандартный диалог создания Java класса, дадим ему название – MainView; как мы можем заметить, данный класс наследуется от класса org.eclipse.ui.part.ViewPart, родительского класса для всех видов. Завершим создание класса нажав на кнопку Finish. Осталось совсем немного, после создания класса для нашего вида перед нами откроется его код, создадим статическую переменную, которая будет содержать идентификатор данного вида, в качестве идентификатора мы зададим каноническое имя данного класса. Напишем следующее:
…
public class MainView extends ViewPart <
public static final String > …
>
Ввернёмся к файлу MANIFEST.MF, откроем вкладку Extension, скопируем содержимое поля class* и вставим его в поле ID. Теперь имя класса и идентификатор этого вида совпадают, данный приём является хорошей практикой, так как всегда позволяет быстро найти нужный вид и узнать его идентификатор. В поле name* напишем – User Form. Все вид создан, осталось связать его с нашей перспективой, так как вид сам по себе не может быть использован, иными словами он должен принадлежать какой-либо перспективе.
Настройка расположения вида
Дальнейшие манипуляции мы можем произвести оставаясь в редакторе расширений или же открыть код класса перспективы — Perspective.java, что мы и сделаем. В классе Perspective, перейдём в метод – createInitialLayout(), данный метод задаёт начальное положение видов и редакторов. В методе напишем следующие две строки кода:
layout.setEditorAreaVisible(false);
layout.addStandaloneView(MainView.ID, true, IPageLayout.LEFT, 1.0f, layout.getEditorArea());
Первая строка указывает объекту layout, что нам не нужна область для редактирования, так как у нас только один вид и нету редакторов. Вторая строка добавляет наш вид, причём как автономный (standalone). Первым параметром является идентификатор нашего вида. Второй параметр это булево значение, отвечающее за то, будет или нет показан заголовок нашего вида (User Form). Третий параметр предназначен для указания ориентации вида в перспективе, так как вид у нас один и займёт все пространство перспективы, то данное значение может быть любым. Четвёртый параметр определяет положение этого вида по отношению к другим видам или редакторам, так как, в нашем случае, вид один он должен занимать все пространство перспективы. Последний пятый параметр, идентификатор области редактирования (editor area). Сохраним наши изменения.
Запуск приложения с добавленным видом
Вернёмся к файлу MANIFEST.MF и снова запустим наше приложение, для этого перейдём на вкладку Overview, в разделе Testing, щёлкнем по ссылке Launch an Eclipse application. Большого различия с тем как выглядела форма при предыдущем запуске мы не увидим, добавилась только вкладка с нашим видом – User Form.
Рисунок 14 – Окно нашего приложения с добавленным видом
На сегодня все, продолжение будет в следующей статье.