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

时间:2015-09-22 10:09:48

标签: java eclipse eclipse-rcp jface rcp

我熟悉创建Eclipse菜单。

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

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

[这不是实际的行动,它是[希望]且易于理解的例子]。

我无法找到一个Eclipse API,当用户在菜单树中向下导航时,我可以逐步创建菜单/子菜单操作。

有人能指出我吗?

1 个答案:

答案 0 :(得分:2)

如果您有MenuManager,则可以向经理添加IMenuListener,这有一个

public void menuAboutToShow(IMenuManager manager)

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

在致电MenuManager.setRemoveAllWhenShown(true)之前,您可能还需要致电menuAboutToShow告诉菜单管理员从空菜单开始。