Обновление представления из обработчика команд - PullRequest
2 голосов
/ 15 декабря 2011

У меня есть диалог открытия файла из меню, где пользователь может выбрать файл. FileDialog вызывается из класса обработчика команды меню в execute ().

На основе файла, выбранного пользователем, я хотел бы обновить представление, для которого (я считаю) мне понадобится тот же элемент Composite, который передается в представление в createPartControl ().

Можно ли получить к нему доступ из обработчика команд или лучше запустить обновление представления через что-то вроде ISourceProviderListener или PropertyChangeListener?

Спасибо.

1 Ответ

4 голосов
/ 15 декабря 2011

Да, это возможно:

IViewPart part = HandlerUtil.getActiveWorkbenchWindow(executionEvent).getActivePage()
    .findView(viewId);

Было бы лучше сначала обновить данные, которые отображает ваше представление (модель в MVC), и изменение данных должно вызвать обновление представления. Трудно сказать, какой слушатель лучше, не зная всех деталей.

...