从命令处理程序更新视图

发布于 2024-12-21 03:11:45 字数 261 浏览 2 评论 0原文

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

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

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

谢谢。

I have a file dialogue opening from the menu where a user can select a file. The FileDialog is called from the menu command's handler class in execute().

Based on the file the user selected, I would like to update a view, for which (I believe) I'd need the same Composite element that's passed to the view in createPartControl().

Is it possible to get access to it from the command handler, or would it be better to trigger the view updating via something like ISourceProviderListener or PropertyChangeListener?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

滿滿的愛 2024-12-28 03:11:45

是的,这是可能的:

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

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

Yes, it's possible:

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

It would be better to first update the data that your view is displaying (the model in MVC) and the change in data should trigger view refresh. It's hard to say which listener is better without knowing all the details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文