Как вы получаете меню Eclipse для обновления по требованию? - PullRequest
1 голос
/ 12 февраля 2012

Я работаю над плагином, целью которого является скрыть множество вкладок в меню, а затем медленно вводить их в пользовательский интерфейс в соответствии с тем, насколько уверен / опытен пользователь, с помощью и вводной информацией, предоставляемой пользователю на каждом этапе.До сих пор я могу с радостью скрыть вклады меню, используя действия.Однако вернуть их обратно оказалось немного сложнее.

У меня есть скрытые вкладки меню, которые отображаются через действия, но проблема, с которой я столкнулся, заключается в том, что меню не обновляется мгновенно, чтобы отразитьдеятельность.Когда моя предоставленная переменная изменяется, действия запускаются / останавливаются соответствующим образом, но меню не изменяется немедленно.То есть до тех пор, пока вы не измените представление или перспективные действия, которые вызывают обновление меню.

Я пытался вызвать refresh () в MenuManager, согласно этому вопросу , на нетбезрезультатно.

Очевидно, мое выражение оценивается немедленно, но как я могу получить само меню для немедленного обновления / обновления?Спасибо!


Оказывается, были проблемы с fireSourceChanged ().

Вызов: fireSourceChanged(int sourcePriority, Map sourceValuesByName) не работает для меня.

Но звонит fireSourceChanged(int sourcePriority, String sourceName, Object sourceValue) работает.

Я действительно не знаю, почему это так - может быть ошибка в Eclipse ??

...