【问题标题】:How to create a toggle/radio item in the menu/toolbar of an Eclipse e4 application?如何在 Eclipse e4 应用程序的菜单/工具栏中创建切换/收音机项目?
【发布时间】:2021-07-15 16:06:06
【问题描述】:

在 eclipse e4 rcp 应用程序中创建实现切换或单选状态的菜单项的规范方法是什么?

这似乎是一个基本的东西,但是我找到的所有文档都依赖于e3 API并创建了对org.eclipse.ui的依赖关系,这在e4中是不允许的。

【问题讨论】:

  • 菜单在哪里?对于应用程序或片段 e4xmi 文件中的部分,您只需将适当的菜单项添加到 e4xmi 中的菜单。 Vogella 教程涵盖了菜单 here
  • 任何地方。问题不在于添加菜单项。问题在于与之相关的状态。
  • @greg-449 我想要例如一个菜单项“切换关闭”,用户单击它,然后处理程序执行并且该项目说“切换”。或者,可以有一个复选标记,而不是更改标签。或者例如具有单选项目 A、B、C 的单选组:用户应该能够选择单选组的项目之一。并且此选择应保存在与项目关联的状态中。
  • 您可以将状态保存在某处,e4 不提供任何内容。您可以从MItem 获取各个菜单项的选定状态,仅此而已。
  • @greg-449 这是我的问题。如何将状态信息与菜单项关联以及如何检索它。有文件吗?或者你能提供一个准系统的例子吗?

标签: eclipse eclipse-plugin eclipse-rcp e4


【解决方案1】:

我用于单选按钮菜单的一种可能方式,它将单选按钮状态保存在部件类中。

我使用多个 Direct Menu Item 条目,类型设置为 Radio。

我将标签值(在菜单项的补充页面上)设置为我想与菜单项关联的值。

我对所有菜单项使用相同的处理程序。

在处理程序中,我注入了MPart 和MItem:

@Execute
public void execute(final MPart part, final MItem mitem)
{
  // Only take action on the selected radio item

  if (!mitem.isSelected())
    return;

  // The tag value specifying the radio state

  String tag = mitem.getTags().get(0);

  // Get the part class

  MyPart myPart = (MyPart)part.getObject();

  // tell the part about the state change

  myPart.setState(tag);
}

除了MPart,您还可以使用Eclipse 上下文中的任何类——例如声明为@Creatable 和@Singleton 的类。

【讨论】:

    猜你喜欢
    • 2014-07-11
    • 2016-10-08
    • 1970-01-01
    • 2023-02-12
    • 2012-04-08
    • 2011-10-15
    • 1970-01-01
    • 2011-03-25
    • 2015-05-26
    相关资源
    最近更新 更多