Eclipse的月神:经办人@CanExecute方法不叫
问题描述:
我在与在Eclipse RCP月神命令处理的一个问题。Eclipse的月神:经办人@CanExecute方法不叫
在我E4应用模式,我定义一些命令和相关处理程序只能在特定情况下启用 。出于这个原因,在我处理的POJO,我实现 方法与@CanExecute
注解,我检查所需要的条件。
我还定义了与这些命令相关的菜单和工具栏项目。
问题是我的@CanExecute
方法没有正确调用,因此, 菜单和工具栏项目没有相应地启用/禁用。
尤其是,对于菜单项,在@CanExecute
方法仅在应用程序启动调用了几次,但从来没有以后。
对于工具栏项目而言,仅在活动上下文更改(例如更改活动部件或打开新shell)时才调用@CanExecute
方法。
在开普勒的行为是完全不同的(如预期工作):
- 菜单项,在
@CanExecute
方法菜单中显示 - 工具栏项目每次被调用时,有一个定时器,每400ms调用
@CanExecute
方法
这是Luna中的一个已知错误吗?你知道任何可能的解决方法来实现预期的行为吗?
谢谢!
谢谢您的回答。这个解决方案也适用于菜单项吗? –
我看不到主菜单出现问题@CanExecute方法 –
我想我找到了菜单项的问题。它与Unity面板有关(我在Ubuntu下开发)。如果我用UBUNTU_MENUPROXY环境变量的空值运行我的应用程序,则@CanExecute方法会被正确调用。否则,我有我在我的帖子中描述的问题。 –