2017-10-06 83 views
1

我有一個兼容層的E3/E4混合應用程序。我想在整個應用程序啓動並完成GUI完成後運行基於E4的代碼。Eclipse Rcp在整個應用程序啓動並完成GUI完成後運行基於E4的代碼

  • 我試過使用LifeCycle Manager,但所有的註解都是爲了它的早期。
  • 我在ApplicationWorkbenchWindowAdvisor中試過了,但是我沒有訪問EModelService或MApplication的權限。
  • 作爲一個處理器擴展我也試過了,但這對於Application.e4xmi中的Addon來說也是太早了。

是否有可能是一個偵聽器或類似的地方,我可以鉤我的代碼?

謝謝

回答

1

您可以使用應用程序啓動完成事件這一點。

如果你有一個生命週期類只需添加一個方法,像下面的類:

@Optional 
@Inject 
public void appStartupComplete(@UIEventTopic(UIEvents.UILifeCycle.APP_STARTUP_COMPLETE) final Event event) 
{ 
    .... 
} 

或者您可以使用事件代理訂閱UIEvents.UILifeCycle.APP_STARTUP_COMPLETE事件。

注意:Event在上面是org.osgi.service.event.Event - 有幾個不同的Event類,所以很容易得到錯誤的。