首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse 4 RCP -如何改变在特定区域显示的内容?

问Eclipse 4 RCP -如何改变在特定区域显示的内容?
EN

Stack Overflow用户
提问于 2014-10-27 16:14:18
回答 1查看 58关注 0票数 0

我把我的申请分为两个主要方面。

  • 第(A)部分
  • PartStashContainer(B)

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

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

我不知道是否应该将整个部件(A)替换为具有我想要的内容的新的动态创建的部分(C),还是应该以某种方式修改现有的部分(调用setContributionURI,还是对Part对象调用setObject方法?)。

对我来说,修改现有的部分确实更有意义,因为它是在应用程序模型中定义的,因此已经描述了内容应该位于的位置。

可能的解决方案:

  • 修改部件对象,使其基于新设置“重新加载”其内容(但如何修改?setContributionURI或setObject方法有帮助吗?)
  • 删除旧部件,并在应用程序模型中的同一位置动态添加新部件(使用EModelService和EPartService)。
  • 其他解决方案?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-27 16:43:17

如果您想重用该部分,请执行以下操作:

代码语言:javascript
复制
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会在这个部件创建后做任何事情(但我不确定)。

如果您想对不同的数据使用不同的类,那么您确实应该使用不同的部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26591946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档