在eclipse rcp应用程序中从命令或filedialog更新视图的最佳方法

时间:2012-10-23 10:40:04

标签: eclipse-rcp

在我的应用程序中,我有一个打开SelectionDialog的菜单,此对话框用于选择对象。 选择此对象后,我必须在视图中显示它。

更新观点的最佳方式是什么?

目前,我在对话框关闭后调用myview.update(object)(在菜单的处理程序中)。但我认为这个解决方案并不是很好的设计。

我已阅读有关更新我的模型并通知我的视图但我的模型没有更改(没有数据更改,我只显示不同的数据)。

有没有人对井设计解决方案有一些想法?

2 个答案:

答案 0 :(得分:1)

  1. 定义模型侦听器(dataPopulated(Event e))
  2. 使您的视图实现模型侦听器并将其注册到Model。
  3. 定义一个Model类,该类可以包含要在视图中填充的对象
  4. 调用Model.setInput(Object input)时,在所有已注册的模型侦听器上触发dataPopulated()事件。
  5. 当您激活视图时,上述步骤可正常工作。您需要考虑一些情况,例如当视图被停用或不可见时(确保刷新视图是可见的,否则您将有不必要的刷新视图开销,尽管它是不可见的)

答案 1 :(得分:0)

尝试在视图中添加选择侦听器,并在对话框中注册此选择。

在侦听器操作中,添加代码以显示所选对象。