2016-08-10 2 views
1

Я пишу новую команду для моего RCP Eclipse, которая должна выполнять одну задачу, если одна часть активна, и другая задача, если активна другая задача (например, команда копирования, которая копирует файлы, если проект проводник активен или копирует текст, если текстовый редактор активен). Я думал о наличии двух обработчиков для одной команды (один из которых был определен в фрагменте.e4xmi одного плагина и другого обработчика в файле фрагмента.e4xmi другого плагина). Это выполнимо?Несколько обработчиков для одной команды в eclipse e4

На этой странице http://www.vogella.com/tutorials/EclipseRCP/article.html#importantmodelelement_examples он говорит, что:

Каждая команда может иметь только один действительный обработчик для данной области. Рамка Eclipse выбирает обработчик, наиболее специфичный для элемента модели.

Например, если у вас есть два обработчика для команды «Копировать», один для окна и другой для части, тогда среда выполнения выбирает обработчики, наиболее близкие к элементу модели, которые в настоящее время выбраны пользователем.

Возможно ли иметь 2 обработчика для одной команды в e4?

ответ

1

Если вы имеете в виду два обработчика вызывается для одного вызова команды ответ No.

В ссылке вы цитируете говорит выбран обработчик, ближайший к текущему элементу модели.

Для нескольких обработчиков, применяющих разные части, каждый обработчик помещает каждый обработчик в список обработчиков для части, к которой вы хотите применить. Это может быть фрагмент или основной файл e4xmi.

+0

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

+0

Ну, цитата, которую вы дали, рассказывает вам об этом. Я добавил некоторые пояснения к моему ответу. –

+0

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