2012-09-15 6 views
0

여러 뷰에 대해 뷰 도구 모음 및/또는 컨텍스트 메뉴에서 사용할 명령을 정의하고 있는데, 그 중 일부는 여러 인스턴스를 가질 수 있습니다. 명령의 토글 상태 (org.eclipse.ui.commands.toggleState)입니다. 설명서에서는 상태 구현 클래스로 org.eclipse.ui.handlers.RegistryToggleState을 사용하는 것이 좋습니다. 그러나 필요한 경우 per-view-per-command가 아니라 명령 당 상태를 저장합니다.RCP의 뷰 별 명령 상태?

세션간에 지속성이 필요하지 않습니다. 이를 달성하기위한 간단하거나 선호되는 방법이 있습니까? 아니면 내 자신의 상태를 구현해야합니까?

답변

1

나는 이것을했다. 이클립스에서 표준 API를 찾을 수 없어 결국 내 자신의 물건을 작성했습니다. 어느 것이 비교적 간단합니다.

+0

감사합니다. 나는 이것이 단순한 방법을 볼 수 있으며, 나는 명백한 것을 놓치지 않았는지 확인하고 싶었다. – Krumelur

0

AFAIK 직접 접근이 없습니다. 아래

  1. 자신의 org.eclipse.ui.ISourceProvider을 구현 단계에 따라이 문제를 해결하고
  2. 가보기 당 상태를 유지 확장 org.eclipse.ui.services를 추가하고

public Map getCurrentState();의 상태 정보를 채워 주시기 바랍니다 수 있습니다 참조 용으로 WorkbenchSourceProvider을보십시오.

+0

감사! 사실 그것은 뷰가 상태 자체에서 사용 가능 해지 기 전에 툴바가 업데이트되어 생각보다 까다로워졌습니다. 해결되지 않은 것은 없지만 더 쉬운 방법이 있어야한다고 생각합니다. – Krumelur