Eclipse RCP 응용 프로그램은 원래 3.1/3.2 시대에 구축되었으며 최근 3.6으로 전환 할 때까지 3.2에서 실행되었습니다. 해당 IApplication
은 PlatformUI.createAndRunWorkbench(...)
을 통해 실행됩니다. 이 함수에 전달 된 WorkbenchAdvisor
은 createActionBarAdvisor(...)
이 ActionBarAdvisor
을 반환하는 WorkbenchWindowAdvisor
을 반환하기 위해 createWorkbenchWindowAdvisor(...)
을 재정의합니다.Eclipse RCP 앱의 키보드 단축키 (단축키)를 시작한 직후에 어떻게 작동시킬 수 있습니까?
이 ActionBarAdvisor
의 makeActions(...)
생성하고 register()
자신의 생성자에서 setAccelerator(SWT.CTRL | 'O');
등의 작업을 수행 할 많은 것이 org.eclipse.jface.action.Action
의의 무리에요. Action
은이어서 ActionBarAdvisor
의 fillMenuBar(...)
및 fillCoolBar(...)
방법에 설치됩니다.
(우리가 Eclipse RCP 3.6을 사용하고 있기 때문에)이 가속기는 메뉴가 표시 될 때까지 활성화되지 않는 것입니다 (메뉴를 다시 닫지 않고 아무 조치도 취하지 않아도).
우리는 a relevant bug을보고 있지만 우리의 상황에 그 치료법을 적용하는 방법을 이해하는 데 약간의 어려움이 있습니다. 우리는 Action
대신 명령, 핸들러 및 키 바인딩을 "사용해야"한다는 것을 알고 있습니다. 그러나 우리는 아직 그 길을 걷지 않아도되기를 희망합니다.
응용 프로그램을 시작하자마자 액셀러레이터를 "라이브"로 만들려면 어떻게해야합니까? 우리는 얼마나 잘 맞는 아무 생각이
@Override
public void postWindowCreate() {
getWindowConfigurer().getActionBarConfigurer().getMenuManager().updateAll(true);
}
: