Jface TreeViewer 또는 SWT 트리의 선호하는 크기를 파악하는 방법은 무엇입니까?

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

  •  10-07-2019
  •  | 
  •  

문제

나는 두 개의 컨트롤로 구성된 호버 컨트롤이있는 Eclipse 플러그인을 작성하고 있습니다.

크기 힌트를 쉽게 계산할 수있는 HTML 뷰어 (BrowserInformationControl)

나무가 포함 된 TreeViewer.

실제 내용으로 나무를 설정했습니다. 그러나 나무의 크기 또는 한 번 렌더링 된 크기 힌트를 파악할 수있는 방법을 찾을 수 없습니다.

도움이 되었습니까?

해결책

API에 따르면 org.eclipse.swt.widgets.tree,이 작업은 다음과 같습니다.

public Point computeSize(int wHint,
                     int hHint,
                     boolean changed)

컨트롤의 선호하는 크기는 가장 잘 표시되는 크기입니다.

너비 힌트와 높이 힌트 인수를 통해 발신자는 "특정 너비가 주어지고 모든 내용을 보여주기 위해 제어가 얼마나 높아야합니까?"와 같은 제어 질문을 할 수 있습니다.
발신자가 특정 차원을 제한하기를 원하지 않음을 나타 내기 위해 상수 SWT.Default가 힌트를 위해 전달됩니다.

변경된 플래그가 True 인 경우 수신기의 내용이 변경되었음을 나타냅니다. 따라서 제어를 포함하는 레이아웃 관리자가 보관해야 할 캐시는 플러시해야 할 수도 있습니다. 컨트롤이 조정되면 변경된 플래그는 False가되므로 레이아웃 관리자 캐시를 유지할 수 있습니다.


Windows에서는 동작에 유의하십시오 computeSize() 결함이 있었다 : 이것을 참조하십시오 메시지벌레: Eclipse 3.4m1 및 앞으로 수정되었습니다.

사용의 예 computeSize() 안에 이 메시지.

사용 getBound() 또 다른 일 수 있습니다 흥미로운 대안.

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