Eclipse 4 RCP - 如何更改特定区域中显示的内容?

时间:2014-10-27 16:14:18

标签: eclipse eclipse-rcp

我已将我的申请分为两个主要范畴。

  • (A)部分
  • PartStashContainer(B)

应根据用户的需要设置A的内容。

所以基本上我可以有1..N类,可以在应用程序模型中的Part的Class URI中使用。

我不知道我是否应该用新的动态创建的Part(C)替换整个Part(A),它包含我想要的内容,或者我应该以某种方式修改现有的Part(调用setContributionURI或setObject方法)在Part对象上?)。

修改现有Part对我来说更有意义,因为它在Application模型中定义,因此已经描述了内容的位置。

可能的解决方案:

  • 修改Part对象,使其重新加载"它的内容基于新的设置(但是如何?setContributionURI或setObject方法有帮助吗?)
  • 删除旧部件,并在Application部件中的相同位置动态添加新部件(使用EModelService和EPartService)。
  • 其他解决方案??

1 个答案:

答案 0 :(得分:1)

如果您想重复使用Part,请执行以下操作:

MPart part = find or inject your part

MyClass myClass = (MyClass)part.getObject();

... call a method of MyClass to change the contents

MyClass是您为应用程序模型中的对象指定的类。您应该添加一个方法来更改内容。

请勿尝试调用setObject,这实际上仅供Eclipse使用。我不认为setContributionURI会在创建部件后做任何事情(但我不确定)。

如果你想为不同的数据使用不同的类,那么你真的应该使用不同的部分。