передать значение от одного обработчика другому обработчику в eclipse e4?

Я вычисляю значение в одном обработчике, и мне нужно передать это значение другому обработчику. Другими словами, я создал два пункта меню, в которых один пункт меню (XYZ) вычисляет значения при нажатии, и мне нужно передать эти значения, чтобы когда другой пункт меню (ABC) получал эти значения и когда " ABC" пункт меню, значение должно отображаться в диалоговом окне сообщения.

Может ли кто-нибудь предложить мне, как сделать это затмение rcp e4??


person Acjb    schedule 07.03.2014    source источник
comment
Есть много способов сохранить это. К чему относятся данные? Это конкретный MPart или какая-то модель данных, которая у вас есть, или что-то еще?   -  person greg-449    schedule 07.03.2014
comment
Данные представляют собой набор строковых значений, которые хранятся в Hashmap. Я правильно ответил на ваш вопрос? Я не мог понять, что вы имели в виду под данными. Извиняюсь.   -  person Acjb    schedule 07.03.2014
comment
Не могли бы вы предложить мне, как показать часть отдельного вида при нажатии на пункт меню? Я могу передать значение в часть представления, используя MPart part = partService.findPart("part id ");, и установить значение из обработчика. @ Грег-449   -  person Acjb    schedule 07.03.2014


Ответы (1)


Есть много способов сделать это.

Если оба меню находятся в одном и том же MPart, вы можете использовать MPart.getTransientData(), который возвращает Map, где вы можете хранить временные данные. Или вы можете использовать MPart.getObject() и сохранить данные в объекте вашей части.

Если эти данные должны быть доступны между частями, вы можете определить класс, содержащий данные, и сохранить их в приложении IEclipseContext, чтобы их можно было внедрить туда, где это необходимо. Вы можете поместить данные в контекст в классе жизненного цикла или с помощью надстройки, или с помощью ContextFunction.

person greg-449    schedule 07.03.2014