2017-10-06 6 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 이벤트에 가입 이벤트 브로커를 사용할 수 있습니다.

참고 : 위의 Eventorg.osgi.service.event.Event입니다. 여러 개의 다른 Event 클래스가 있으므로 잘못된 클래스를 쉽게 가져올 수 있습니다.