0

我正在定义一个命令,该命令将在视图工具栏和/或上下文菜单中用于多个视图,其中一些可以有多个实例。该命令具有切换状态 ( org.eclipse.ui.commands.toggleState)。该文档似乎建议org.eclipse.ui.handlers.RegistryToggleState用作状态实现类,但这会存储每个命令的状态,而不是我需要的每个视图的每个命令。

我不需要会话之间的持久性。有没有一种简单/首选的方法来实现这一点,还是我应该实现自己的状态?

4

2 回答 2

1

我已经做到了。我在 Eclipse 中找不到任何标准 API,所以我最终为它编写了自己的东西。这是相对简单的。

于 2012-09-15T15:46:13.847 回答
0

AFAIK没有直接的方法。您可以按照以下步骤解决此问题

  1. 实现你自己的org.eclipse.ui.ISourceProvider并添加一个扩展 org.eclipse.ui.services
  2. 维护每个视图的状态并在其中填充状态信息public Map getCurrentState();

请查看以WorkbenchSourceProvider供参考。

于 2012-09-17T04:39:43.397 回答