Как можно использовать редактор веб-страниц в пользовательском приложении RCP?
-
08-07-2019 - |
Вопрос
Я хочу использовать «Редактор веб-инструментов», который является частью платформы веб-инструментов, в моем собственном RCP-приложении.Думаю, у меня уже есть некоторое представление о платформе RCP, но я до сих пор понятия не имею, как получить доступ к функциональности конструктора страниц (org.eclipse.jst.pagedesigner) после добавления его в качестве зависимости к моему проекту.Есть ли у кого-нибудь опыт добавления компонентов платформы веб-инструментов в RCP-приложение и может ли он дать мне подсказку или что-то в этом роде?
Решение
С такого рода запросами возникают трудности (я сам время от времени пытаюсь включить ту или иную функцию, которую видел в Eclipse IDE).
Хитрость заключается в том, чтобы попытаться определить компонент, который вы хотите добавить, а затем попытаться включить его в свой проект, не вводя слишком много зависимостей.
Раньше первый шаг был довольно сложным, но начиная с 3.4 речь идет об использовании Plug-In Spy - зажать Alt-Shift-F1
в то время как желаемый компонент находится в фокусе, вы получите всплывающую подсказку, показывающую класс, пакет и т. д. и т. п.
Второй шаг в целом более сложен, и на нем я обычно не получаю никаких результатов:
- если вам повезет, вы можете просто включить пакет в конфигурацию запуска/.продукт вашего приложения.Как только вы нажмете «Добавить необходимые пакеты», у вас не останется 3000 пакетов (т. е.ваш RCP теперь Eclipse).
- обычно это не так, потому что команда Eclipse не провела рефакторинг интересующего вас фрагмента кода в безопасный пакет RCP.Если да, то вам придется сделать это самостоятельно.
- Опять же, если вам повезет, это будет означать перемещение некоторых классов из пакета eclipse в ваш собственный, включая внутренние классы, и на этом все закончится, т.е.все зависимости желаемой функциональности находятся в комплекте.
- Если вам не повезло, вам нужно изолировать/переопределить необходимую часть функциональности и изменить свою версию скопированного кода.
Это трудоемкий процесс, и его довольно сложно модернизировать.Я понимаю, что все это не то, что вы хотите услышать.