2014-05-29 3 views
0

Я хочу использовать копию и вставку в моем собственном представлении. Поэтому я определил команды со специальным контекстом и активировал его во время создания представления. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что копирование и вставка работают в моем представлении, но уже не в нормальном мире затмения. Контекст имеет родительский идентификатор в org.eclipse.ui.window.контексты для копирования и вставки в eclipse для собственного плагина

Любые подсказки, как разделять эти концы справа, поэтому соответствующее действие вызывается в нужное время. Я также включил трассировку привязки ключей в параметрах debug org.eclipse.ui.

Основная идея: как переопределить существующую привязку клавиш?

http://rcpexperiments.blogspot.de/2009/07/commands-key-bindings-and-contexts-in.html

ключ трассировка: http://eclipsesource.com/blogs/2009/07/08/tip-tracing-keybindings-in-rcp/

ответ

2

Вы не должны использовать контекст. Вы просто предоставить обработчик действия для глобальных действий копирования/вставок:

IActionBars actionBars = getViewSite().getActionBars(); 

    actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), copyAction); 

    actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), pasteAction); 
+0

, делая это, где я должен определить ключевые привязки или они унаследовали от глобальной операции копирования, и как бы я подключаю действие с моим CopyHandler (AbstractHandler) – eactor

+0

Вы должны использовать старый стиль 'Action', чтобы подключиться к ним и не использовать обработчик. Связывание ключей уже определено в Eclipse. Все это основано на 'RetargetAction' –

+0

thx, я думаю, это может сработать, но я потеряю возможность редактировать видимость, используемую в определении команды в файле plugin.xml – eactor

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