2017-08-10 11 views
1

我想在执行后直接禁用我的工具栏处理程序。我过去在e3中保存了IAction对象,通过“selectionChanged”方法等等我设置后运行逻辑为action.setEnabled(false)执行后禁用工具栏处理程序

public void selectionChanged(IAction action, ISelection selection) { 
    this.delegate = action; 
} 

存在于e4有做同样行为的可能性吗?

回答

0

您使用处理程序的@CanExecute方法来控制启用。

@CanExecute 
public boolean canExecute() 
{ 
    // TODO return enablement 
} 

时可能会改变启用运行,也可以强制大多数事情通过调用

@Inject 
IEventBroker eventBroker; 


eventBroker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, UIEvents.ALL_ELEMENT_ID); 
运行时调用此方法