Eclipse RCP - відкрийте подання в області редактора (гібрид 3,8 / e4)


106

Я працюю на гібриді 3.8-e4 (тобто у нас залежність Луни, але ми ще не використовуємо Application.e4xmi ). Таким чином, ми в основному виконуємо компактний шар.

З урахуванням цього було б непогано знайти програмний спосіб e4 для укладання цих неприємних поглядів на папку редактора.


1.) Проблема

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

Переглянути в папці редактора

(викрадено з цього питання )


2.1) Можливе виправлення №1: Використання plugin.xml

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

SS plugin.xml з перспективними розширеннями

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


2.2) Можливе виправлення №2: Використання коду на перспективному заводі

У IPerspectiveFactoryнас є доступ до того IPageLayout, що трапляється org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout(e4 речі).

Тепер ця ModeledPageLayoutреалізація є розумною, але також немає документації та дивних загальнодоступних API. Це дає можливість скласти вигляд на будь-якого іншого родича

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

Це була б програмна версія 2.1 . Також тут з'являється та сама проблема. Якщо представлення відкривається десь в іншому місці, код вище стає марним.

Цікаво, що stackViewAPI не підтримує символи підключення (а інші, такі як addView).


2.3) Можливе виправлення №3: Обхід yaaay!

У мене багато перспектив, і багато різних папок у кожній. Все точно розміщено.

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

Це було б моєю останньою інстанцією, якщо хтось не запропонує більш зручне і економію часу.

Пам'ятайте, що програмна альтернатива e4 є гнучкішою!


3.) Пов'язані питання

Їх буде виведено застарілими для випуску e4.


4.) Пов’язаний помилка на Bugzilla Eclipse:

Цей останній помилка, яку я відкрив, має вкладення з невеликим SSCCE. Крок для відтворення цього описується в цьому коментарі , тому я не збираюся їх копіювати та вставляти сюди.


Я думаю, що це мало можливо, якщо це включено код сумісності 3.x. Можливо, ви зможете розмістити представлення даних у області редактора за допомогою API e4, але я б очікував, що це заплутає код сумісності.
greg-449

1
Якщо ви не використовуєте жодних редакторів, просто зведіть до мінімуму спільну область та спроектуйте макет так, як вам потрібно.
bebbo

переходимо до новітньої версії, де це не працює.
bebbo

@bebbo я використовую редактори, і я не можу перенести всю справу на e4 одразу. Програмне забезпечення підприємства. :-)
GGrec

Відповіді:


1

Я пропоную вам перейти з можливим виправленням № 3, оскільки я думаю, що немає більш швидкого методу зробити це.


будь-яка пропозиція з відповіддю припр може бути написана як коментар замість нової відповіді.
Махалакшмі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.