0

我从 Eclipse RCP 的编码开始,并且对 RCP-World 比较陌生。

目前我有两种观点的一种观点。一个是带有tableViewer的列表,其中显示了一些工人的姓名。

第二个视图是带有几个文本框的“单一视图”。当我在列表中选择了另一个条目时,我使用ISelectionListener来通知,因此我可以使用当前选定的工作对象 objetc 在“单一视图”中设置文本框。

我没有自己编写代码,我使用此页面 (Vogella)来学习 RCP 背后的所有内容。

我的问题是:如何获得活动视图显示的当前对象?我的意思是,我拥有它是因为 SelectionListener,但我想单击我自己的“保存”按钮来更新对对象的更改。

我想要单个视图中的对象,所以我需要另一个更改侦听器,还是对象存储在视图中,我可以使用 ISelection 接口获取它吗?

有人能用一两句话告诉我它是如何工作的吗?还是它太简单了,因为我在其他地方找不到任何东西。

在此处输入图像描述

4

1 回答 1

0

这可以做到,但不是很容易,因为行为不是很标准。您将这两个视图视为一个通常处理对话框或窗口的链接控件的视图。这不一定是错误的,但我闻起来很糟糕(我记不起 Eclipse IDE 中的示例)。你确定你没有混淆Views 和 Viewers的角色吗? 在 Eclipse 中,视图是工作台的“一部分”(您基本上拥有视图和编辑器),每个视图都显示信息和/或执行操作,但它们通常是完全解耦的,您应该能够自由独立地打开和关闭每个视图,它们很少直接相互交互(它们通常显示信息或修改工作区中的对象)。此外,视图中不应有“保存”按钮(再次以 Eclipse IDE 为例),通过视图进行的更改应该是直接的。

对我来说,您的声音设计非常令人怀疑,也许您应该改用单个视图或对话框。我建议您阅读有关Views的更多信息。

于 2013-05-27T17:13:09.740 回答