2013-10-25 3 views
2

Google мой лучший друг, но информация, которую я получаю, слишком разбросана и очень неясна. Существует не краткое руководство, описывающее мои потребности.Eclipse Kepler RCP Основная панель инструментов Действия

Я хочу добавить действия на основную панель инструментов приложения RCP, но мне нужно, чтобы все это объяснялось полностью. Но поскольку это StackOverflow, я запишу вопросы с головы и надеюсь, что ответы будут выполнены.

  • Какой новый и старый способ добавления действия? Через ActionBarAdvisor или через plugin.xml?

  • Действия могут быть добавлены к основной панели инструментов ТОЛЬКО с использованием plugin.xml?

  • Сколько существует шагов для добавления действия через расширения? (handlers, commands, menuContribution и т. Д.)

  • Что является лучшим родителем для реализации действия? org.eclipse.jface.action.Action? org.eclipse.ui.menus.WorkbenchWindowControlContribution? Или даже org.eclipse.ui.commands.AbstractHandler?

  • Что о верстаке конкретных действий (Сохранить, Undo, Redo и т.д.)? Как они добавляются?

  • В Eclipse Kepler IDE классная панель выглядит красиво. Вы даже можете перемещать панели инструментов. Как это реализовано? Не удалось обнаружить даже с помощью Plug-in Spy.

  • Поскольку у меня есть несколько Perspective s, каждый из них будет иметь собственный вклад на основной панели инструментов. Означает ли это, что я обязан использовать расширения plugin.xml?


TL; DR: Столешница Coolbar действий, включая Сохранить и действия других Perspective с. Как? ( actionSets extensions == устарели).

ответ

2

Настоящим новым способом является использование чистого e4 RCP, который использует новую модель приложения с командами и обработчиками! (но e4 не поддерживает много существующего кода). В e4 меню и панели инструментов определены в модели приложения. Команды и обработчики используются аналогично традиционному коду (но обработчики выполняются по-разному).

Для стиля Eclipse 3, как вы нашли, есть беспорядок или способы сделать что-то. Eclipse 4.3 осуждает некоторые из самых старых (и теперь это отмечено в plugin.xml).

Если вы пишете RCP, который использует свой собственный ActionBarAdvisor, вы можете определить его пункты панели инструментов. Или вы можете определить их в plugin.xml для отдельных плагинов. Оба метода в порядке. Сам Eclipse определяет основные действия в советнике с добавлением плагинов, определяющих больше в их plugin.xmls.

Действия, такие как Сохраните, которые должны обрабатываться несколькими частями (такими как редакторы), должны быть созданы в советнике и использовать RetargetAction. Это позволяет каждой отдельной части подключать свое действие с помощью глобального действия. Это также можно сделать с помощью commands и нескольких handlers, которые находятся ближе к стилю e4.

org.eclipse.ui.menus В настоящее время основной точкой расширения является вклад в меню и панели инструментов (игнорируя все устаревшие части). Это в значительной степени заставляет вас использовать commands и handlers.

Советник панели действий Eclipse - org.eclipse.ui.internal.ide.WorkbenchActionBuilder, который может помочь, хотя он большой.

Я думаю, что круиз в Кеплере построен с использованием новой модели приложения e4 со стилем, используя некоторые сложные CSS.

+1

Миграция всего приложения на чистый e4 не стоит того, так как потребуется немного времени. В настоящее время он использует устаревшие 'actionSets',' viewActions' и другие старые вещи, что приводит к действительно раздражающим визуальным ошибкам в Windows особенно (немного меньше по OSX). Как вы относитесь к расширению 'org.eclipse.ui.menus'? Является ли это удобной заменой для вышеуказанного? Учитывая ваш опыт работы с e4. – GGrec

+1

Перенос на чистый e4 затруднен, особенно если вы используете плагины 'org.eclipse.ui.xx' или что-то, что полагается на' IWorkbench'. Только очень полезно для нового приложения (или, как и я, у вас есть много свободного времени). –

+0

Сохранено пользователем еще раз. :-) Благодаря. – GGrec

Смежные вопросы