Eclipse RCP - Открыть представление в области редактора (гибрид 3.8 /e4)

Я работаю над гибридом 3.8-e4 (т. е. у нас есть зависимости Luna, но мы пока не используем Application.e4xmi ). Итак, мы в основном работаем с компактным слоем.

С учетом вышесказанного было бы неплохо найти программный способ e4 для размещения этих неприятных видов в папке редактора.


1.) Проблема

Я хочу разместить папку общего вида в области редактора, чтобы каждый вид, открытый во время выполнения, был там открыт.

Просмотреть в папке редактора

(изображение украдено из этого вопроса )


2.1) Возможное исправление № 1: использование plugin.xml

Создайте расширение перспективы и добавьте каждое возможное представление к этому расширению с помощью стека отношений над относительным org.eclipse.ui.editorss . Это немного неудобно, если у вас слишком много представлений, ожидающих открытия, и если проект быстро масштабируется. Я также заметил, что идентификаторы подстановочных знаков здесь не работают.

СС файла plugin.xml с расширениями перспективы

Если вы найдете время добавить каждое возможное представление в расширение перспективы, это сработает. Хотя, если вы открываете представление, которое не добавлено здесь (то есть открывается в другой папке), то каждое последующее открытое представление будет открыто в предыдущей папке, а НЕ в области редактора (запросите дальнейшие объяснения, если вы этого не сделаете получить его).


2.2) Возможное исправление № 2: использование кода на фабрике перспектив

В IPerspectiveFactory у нас есть доступ к IPageLayout, который выглядит как org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout (e4 stuff).

Теперь, эта ModeledPageLayout реализация является разумной, но также без документации и странных общедоступных API. Этот дает возможность сложить вид на любого другого родственника

modeledPageLayout.stackView("newView0", IPageLayout.ID_EDITOR_AREA);

Это будет программная версия 2.1 . Также здесь возникает та же проблема. Если представление открывается где-то еще, приведенный выше код становится бесполезным.

Интересно, что API stackView не поддерживает подстановочные знаки (в то время как другие, такие как addView do).


2.3) Возможное исправление № 3: обходные пути, даааа!

У меня много перспектив и много разных папок в каждой. Все точно размещено.

Поскольку Eclipse предлагает API-интерфейсы для получения всех идентификаторов представлений из любой точки системы, я хочу сделать следующее для каждой перспективы: каждый идентификатор представления, который не был добавлен в определенную папку, будет добавлен к область редактора (т.е. папка редактора, стек редактора) .

Это будет мое последнее средство, если только кто-то не предложит более удобное и экономящее время решение.

Помните, что программная альтернатива e4 более гибкая!


3.) Схожие вопросы

Они будут считаться устаревшими для выпуска e4.


4.) Связанная ошибка в Bugzilla Eclipse:

Эта недавняя ошибка, открытая мной , имеет вложение с маленький SSCCE. Действия по воспроизведению этого описаны в этом комментарии , поэтому Я не собираюсь их копировать и вставлять.

104 голоса | спросил GGrec 6 42014vEurope/Moscow11bEurope/MoscowThu, 06 Nov 2014 13:14:23 +0300 2014, 13:14:23

1 ответ


0

Я предлагаю вам перейти к возможному исправлению № 3, так как я думаю, что нет более быстрого способа сделать это.

ответил 8 Jpm1000000pmFri, 08 Jan 2016 14:57:05 +030016 2016, 14:57:05

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132