2012-06-11 4 views
1

GEF 편집기 내에서 트리를 그립니다. 문제는 내가 바닥을 그려야한다는 것입니다. 나는 노드 피겨의 기본 레이어와 연결을위한 연결 레이어를 가지고있다. 기본 계층은 FreeformLayer이고 루트 편집 부분은 ScalableFreeformLayeredPane입니다. 기본 레이어는 XYLayout입니다.GEF : 다이어그램 아래쪽 그리기 방법

이제 해당 위치 (하단 토큰 y)에서 하단 그림 레벨 ("토큰")을 그리려면 편집기의 하단 가장자리 (= 뷰포트)를 찾아야합니다. 토큰의 = 토큰의 y). 어떻게해야합니까?

나는 그렇게 토큰 편집기 (BorderLayout.BOTTOM)의 하단에 그려진 얻을 BorderLayout와 함께 할 것을 시도했다, 그리고 BorderLayout.CENTER에서 위의 노드,하지만 난 선택에 문제로 실행했습니다, 레이아웃입니다 내가 성취하고자하는 것과는 거리가 멀다.

그래서 기본적으로 모든 노드가 하나의 레이어에 있어야합니다. 토큰의 위치를 ​​설정할 수는 있지만 위의 노드는 동적으로 계산되어야합니다. XYLayout 내에서 어떻게해야합니까?

미리 감사드립니다.

(또는에서 토큰을 위치의 y 중심은 달성하기 쉽다 경우 허용 될 수)

답변

0

당신은 영감 가지고 제스트 레이아웃 알고리즘 볼 수 있습니다 : http://www.eclipse.org/gef/zest/

+0

감사합니다, 그렇게 할 것이다 , 나는 Zest가 아주 다르게 작동한다고 생각하지만? – QueNuevo

+0

Zest는 gef를 기반으로 한 시각화 프레임 워크이며 일부 관절 레이아웃 알고리즘이 있습니다. 아마도 당신은이 중 하나에 당신의 솔루션을 기반으로 할 수 있습니다 :) – pbanfi

+0

고마워. 것은 GEF (플러그인이 아니라 프레임 워크)가 제공하는 모든 편집 기능이 필요하다는 것입니다. GEF 편집기에서 Zest를 사용하여 그림을 배치 할 수 있습니까? – QueNuevo

관련 문제