Eclipse RCP 기반 응용 프로그램의 메뉴 항목에서 아이콘을 제거하려면 어떻게합니까?

StackOverflow https://stackoverflow.com/questions/1100747

  •  11-09-2019
  •  | 
  •  

문제

Eclipse RCP 기반 응용 프로그램을 작업 중이며 메뉴 항목이 텍스트 옆에 아이콘을 표시하기를 원하지 않기로 결정했습니다. 우리 가보고있는 문제는 실행 취소, 재조정, 절단, 복사, 붙여 넣기 등과 같은 표준 동작이 해당 동작의 기본 아이콘을 표시한다는 것입니다.

Action Management Infrastructure에 아이콘을 무시할 수있는 방법이 있습니까? 이것에 대한 나의 무차별적인 힘 솔루션은 menuitem.setimage ()가 NO-OP가되도록 SWT를 재건 한 다음 최종 제품에 SWT 사본을 포함시키는 것이지만 가벼운 가중 솔루션이 있어야하는 것 같습니다. .

도움이 되었습니까?

해결책

이것은 내가 기대했던 것보다 쉬운 것으로 판명되었습니다.

org.eclipse.ui.application.actionbaradvisor의 서브 클래스를 만듭니다. 다음과 같이 메소드 레지스터를 무시합니다.

protected void register(IAction action) {
    super.register(action);
    action.setImageDescriptor(null);
}

그런 다음 createActionBaradvisor를 무시하는 org.eclipse.ui.application.workbenchwindowadvisor의 서브 클래스를 만듭니다.

public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
    return new MyActionBarAdvisor(configurer);
}

그게 다야. 모든 동작에는 더 이상 아이콘이 없습니다.

다른 팁

나는 당신이 매니페스트에 들어가서 org.eclipse.ui.views를 살펴보고 아이콘을 제거하기위한 것이 있는지 확인하고 싶다고 생각합니다.

아이콘을 포함하지 않은 이유는 무엇입니까? 표준 인터페이스를 만들기 위해 많은 노력을 기울였습니다. 표준에서 벗어날 수있는 이점은 무엇입니까? 생략이 유용성을 증가 시킨다고 생각하십니까?

당신은 당신이 getimage ()에 대한 호출을 가로 채고 거부권을 가로 채기 위해 조언과 관련하여 일부 측면과 함께 조각을 기고 할 수 있다고 말합니다.

Plugin.xml.add의 확장자 탭으로 이동하여 확장자 org.eclipse.ui.menu (존재하지 않은 경우)를 클릭하여 새 메뉴를 작성하고 새 메뉴를 클릭하고 새 메뉴를 만들 수 있습니다. 클래스 경로에서 아이콘 폴더에 저장된 이미지로 이미지를 변경할 수있는 옵션이 있습니다.

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