문제

나는 자주이 문제가 있었고 아직 해결책을 찾지 못했습니다. 새로운 Eclipse RCP 기반 애플리케이션을 작성할 때마다 Eclipse 플랫폼에서 플러그인을 포함 할 때마다 해당 플러그인 중 일부를 '상속'UI 기여도.

이 기여의 대부분 (메뉴 항목, 키보드 바로 가기, 속성 페이지)은 유용하지만 때로는 실제로 필요하지 않아서 사용자를 혼동 할 수 있기 때문에 이러한 기여도 중 일부를 비활성화하고 싶습니다.

Eclipse RCP 애플리케이션에서 선택된 기부금을 비활성화/금지하는 공식 또는 실질적인 방법을 알고 있습니까?

다른 팁

그렇게하는 유일한 방법은 다음과 같습니다.

IMenuService::removeContributionFactory()

폴 웹스터는 IMenuService::addOverride() 메뉴의 가시성을 변경하려면 공헌을 방지하지만 그 아이디어는 아직 통합되지 않았습니다.

이것에서 기여를 제거하는 예를 볼 수 있습니다. org.eclipse.ui.tests.menus.MenuBuilder 수업;

public static void removeMenuContribution() {
    if (!PlatformUI.isWorkbenchRunning()) {
        return;
    }
    IMenuService menuService = (IMenuService) PlatformUI.getWorkbench()
            .getService(IMenuService.class);
    if (menuService==null) {
        return;
    }
    menuService.removeContributionFactory(viewMenuAddition);
    viewMenuAddition = null;
    menuService.removeContributionFactory(viewToolbarAddition);
    viewMenuAddition = null;
}

Equinox 변환은 또한 원치 않는 UI 기여를 제거하는 XLST 변환을 제공하는 데 사용될 수 있습니다.

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