响应式创建 Eclipse 上下文子菜单

Create Eclipse context sub-menus responsively

我熟悉创建 Eclipse 菜单。

我希望为用户提供一组非常深入和广泛的菜单操作。创建这些上下文相关的操作需要花费大量的处理时间。我不想一次生成所有这些。我希望在用户逐步深入菜单结构时生成它们。因此,例如,如果菜单层包含星期几,并且用户选择“星期一”,我将提供“AM”或“PM”,则列表二-小时周期 (1200-1400, 1400-1600, 1600-1800, 等等),最后是“创建约会", "注册为可用" 和 "注册为不可用”。最后一组操作可能会导致数据库往返以确定可用性。

显然,此策略的替代方法是根据需要生成具有许多操作(以及许多数据库往返)的菜单树

[这不是实际的操作集,它是 [希望] 且易于理解的示例]。

我找不到 Eclipse API 可以让我在用户向下浏览菜单树时逐步创建 Menu/Sub-menu 操作。

有人可以指点我吗?

如果你有一个MenuManager你可以给经理加一个IMenuListener,这个有一个

public void menuAboutToShow(IMenuManager manager)

方法,您可以使用 manager.add(xxx) 在菜单即将显示时将菜单项添加到菜单中。使用额外的菜单管理器作为子菜单的主管理器的子菜单。

您可能还需要调用 MenuManager.setRemoveAllWhenShown(true) 告诉菜单管理器在调用 menuAboutToShow 之前从空菜单开始。