从命令处理程序更新视图

时间:2011-12-15 08:19:56

标签: eclipse-rcp

我在菜单中打开了一个文件对话框,用户可以在其中选择文件。 FileDialog是从execute()中的菜单命令的处理程序类中调用的。

根据用户选择的文件,我想更新一个视图,为此(我相信)我需要在createPartControl()中传递给视图的相同Composite元素。

是否可以从命令处理程序访问它,或者通过ISourceProviderListener或PropertyChangeListener之类的东西触发视图更新会更好吗?

谢谢。

1 个答案:

答案 0 :(得分:4)

是的,有可能:

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

最好先更新视图正在显示的数据(MVC中的模型),并且数据更改应触发视图刷新。如果不了解所有细节,很难说哪个听众会更好。