문제

보기가있는 Eclipse RCP 응용 프로그램에 대한 플러그인이 있습니다. RCP 애플리케이션에서 이벤트가 발생하면 플러그인이 인스턴스화되고 플러그인 모델을 채우는 방법이 호출되지만 "Show View ..."메뉴로 이동하지 않고도보기가 표시되는 방법을 찾을 수 없습니다. .

나는 이것을 처리 할 수있는 Workbench Singleton에 무언가가있을 것이라고 생각하지만 어디서나 어디서나 알지 못했습니다.

도움이 되었습니까?

해결책

당신은 아마 이것을 찾고있을 것입니다 :

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");

다른 팁

명령의 핸들러에서 호출 된 경우

HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);

내가 아는 것처럼 더 좋을 것입니다.

나는 그것이 열린 후 배경으로 밀린 후 전면으로 전망을 가져올 필요성을 발견했다. 활성화 방법은 트릭을 수행합니다.

PlatformUI.getWorkbench()
    .getActiveWorkbenchWindow()
    .getActivePage()
    .activate(workbenchPartToActivate);

참고 : WorkBenchPartToActivate는 인스턴스입니다 IWorkbenchPart.

E4에서 EpartService는 부품을 여는 데 책임이 있습니다. 이것은 또한 E3 ViewPart를 열는 데 사용될 수 있습니다. IECLIPSECONTEXT를 통해 다음 클래스를 인스턴스화하고 OpenPart-Method에게 전화하면 Eclipse 내부 브라우저보기가 표시됩니다.

public class Opener {
    @Inject
    EPartService partService;

    public void openPart() {
        MPart part = partService.createPart("org.eclipse.ui.browser.view");
        part.setLabel("Browser");

        partService.showPart(part, PartState.ACTIVATE);
    }
}

여기 응용 프로그램과 함께 어떻게 작동하는지에 대한 예를 찾을 수 있습니다 .e4xmi.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top