我从Eclipse RCP的编码开始,对RCP-World来说相对较新。
目前我有一个有两个观点的观点。一个是带有 tableViewer 的列表,其中显示了一些工人名称。
第二个视图是一个带有少量文本框的“单一视图”。我使用 ISelectionListener 来通知我在列表中选择了另一个条目,因此我可以在“单个视图”中设置当前所选工作对象的文本框。
我没有自己编写代码,而是使用this page (Vogella)来学习RCP背后的所有内容。
我的问题是:我怎样才能获得活动视图显示的当前对象?我的意思是,我拥有它 因为SelectionListener,但我想点击我自己的“保存” 用于更新对象更改的按钮。
我希望单个视图中的对象,所以我需要另一个更改侦听器,还是存储在视图中的对象,我可以使用ISelection接口获取它吗?
有人能用一两句话告诉我它是如何运作的吗?或者是它 太简单了,因为我在其他地方找不到任何东西。
答案 0 :(得分:0)
这可以做到,但不是很容易,因为行为不是很标准。您正在处理两个视图,因为通常会处理对话框或窗口的链接控件。这不一定是错的,但我闻起来很糟糕(我不记得Eclipse IDE中的一个例子)。您确定不会混淆Views and Viewers的角色吗? Eclipse中的View是Workbench的“部分”(基本上有视图和编辑器),每个视图显示信息和/或执行操作,但它们通常非常分离,您应该能够自由独立地打开和关闭每个View,它们很少直接相互交互(它们通常显示信息或修改工作区中的对象)。此外,您不应在视图中使用“保存”按钮(再次以Eclipse IDE为例),通过视图should be direct完成更改。
对我来说,你的设计在声音中是非常值得怀疑的,也许你应该使用单个视图或对话框。我建议您阅读有关Views的更多信息。