2017-01-23 8 views
0

org.eclipse.ui.commands을 확장하여 toggle 스타일이있는 에 새 명령을 제공합니다.Eclipse UI 명령의 프로그래밍 방식으로 초기 상태를 설정하는 방법은 무엇입니까?

이제 초기 상태를 설정하고 싶지만 하드 코딩 된 상태가 아니어야합니다. 따라서 다음 상태를 제공하는 것은 옵션이 아닙니다.

<state 
     class="org.eclipse.ui.handlers.RegistryToggleState:true" 
     id="org.eclipse.ui.commands.toggleState"> 
    </state> 

상태는 환경 설정 페이지의 속성을 반영해야하므로 아무 것도 유지할 필요가 없습니다. 처음에는 명령을 클릭하자마자 start 메쏘드로 점프 할 것이기 때문에 플러그인을 사용하여 수동으로 상태를 설정하는 것은 작동하지 않습니다. 그러나 컨텍스트 메뉴가 이미 올바른 것을 반영해야하므로 너무 늦었습니다 속성의 상태.

이 문제를 어떻게 해결할 수 있습니까?

답변

0

org.eclipse.jface.commands.ToggleState을 확장하고 setState 메서드를 재정의 할 자체적 인 State 클래스를 구현해야한다고 생각합니다. 그것은 어떤 가치를 가질 수는 있지만 그것을 무시하고 원하는 것을하십시오 (환경 설정 등을 읽으십시오)

나는 그걸하려고하지 않고 단지 추측합니다.

+0

이미 시도했지만 문제는 구현 ('setState')이 호출되지 않는다는 것입니다. –

+0

상태 ID는 반드시 org.eclipse.ui.commands.toggleState 여야합니다. 내 커스텀 ID를 제공했기 때문에 내 코드가 호출 된 적이없는 것 같습니다. –

+0

오,'ToggleState'는'setState'가 아닌'setValue' 메소드를 가지고 있습니다. 나는 혼란 스러워요.) – Zefick