当前位置: 首页 > 知识库问答 >
问题:

Eclipse RCP-更改部分的首选方式是什么?

游乐池
2023-03-14

每个插件都可以定义自己的内容(通过Part Descriptor),这些内容应该添加到我的应用程序中的特定位置(进入Part StashContainer)。在该Part StashContainer中可以看到的插件中总是只有一个Part

我找不到实现这一目标的首选方法。我应该用插件中的新部分替换当前可见的部分吗?或者只是以某种方式设置已经可见的部分的内容(可能通过setContributionUri)。

我查看了EPart Service。看起来它可以根据Part Descriptor实例化Part,但它只有一些方法可以使新的Part可见。我需要将新的Part添加到现有的Part StashContainer中,并可能删除旧的Part

共有1个答案

艾凌龙
2023-03-14

您可以为此使用EPart ServiceEModelService

如果您只有一个具有特定id的部件实例,您可以在应用程序模型中使用“部件”作为“部分堆栈”的子项,并将其标记为“未呈现”。如果您想创建具有相同id的多个部件,您可以使用“部分描述符”。

如果应用程序模型中有一个“部分”标记为“未渲染”,则可以这样显示:

partService.showPart("part id", PartState.ACTIVATE);

如果您想从“Part Descriptor”创建零件并将其放置在零件堆栈中,请使用:

@Inject
MApplication app;


MPart part = partService.createPart("part descriptor id");

MPartStack stack = modelService.find("part stack id", app);

stack.getChildren().add(part);

partService.showPart(part, PartState.ACTIVATE);

要隐藏零件,请使用:

MPart part = partService.findPart("part id");

partService.hidePart(part);
 类似资料:
  • 问题内容: 假设我有一个普通对象列表,然后可以用来呈现子级列表。那么将对象插入其中的正确方法是什么? 以下是我认为它将起作用的唯一方法,因为您不能像文档中提到的那样直接更改。 这对我来说似乎很丑。有没有更好的办法? 问题答案: 返回一个新数组,所以你可以做 另一个选择是React的不变性助手

  • //你想做blog.score=5 我不知道是否还有其他的方法,但是有没有比这些更好的方法呢? 什么关于

  • 问题内容: 假设我有一个并发映射,该映射具有高读,低写且需要存储应用程序数据: 然后,在启动过程中并通过用户输入,将数据添加到地图: 如果随后需要更改数据,我应该: A)使Data类对象不可变,然后在每次需要更改Data对象时进行放置操作: B)使用易失性字段,原子引用或最终并发字段,使Data类对象易变但具有线程安全性,只需根据需要修改对象: C)以上都不是 问题答案: A)是更好的选择,原因有

  • 问题内容: 我正在用PHP开始一个新项目,很想从其他开发人员那里获得一些有关他们首选的PHP部署策略的反馈。我想稍微自动化一些事情,以便一旦提交更改,便可以将它们快速迁移到开发或生产服务器。 我有使用Capistrano和Ruby进行部署以及一些基本的shell脚本的经验。 在我独自潜水之前,很高兴听到其他人在他们的项目中是如何做到这一点的。 更多的信息 当前,开发人员致力于站点的本地安装,并将更

  • 首先,我使用的是Ubuntu12.04,Eclipse Juno和maven 3.0.4(m2eclipse),我必须在一个从SVN存储库中获得的遗留项目中工作。

  • 我们计划在我们的一个产品硬件上集成一个兼容BLE的蓝牙模块。在过去的几天里,我一直在网上搜寻,对这项技术有了一个大致的了解。现在我已经了解了这项技术,我想我们可以选择iBeacon、AltBeacon或Eddystone作为广告形式。 请注意,我们不会接触可编程逻辑器件供应商,而是会接触像德州仪器这样的芯片制造商或交付我们原始硬件的人。蓝牙模块是最后一分钟的补充。我猜芯片制造商会像我们建议的那样,