2017-08-10 12 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); 
運行時調用此方法