2012-09-20 3 views
1

Zest를 1.4에서 2.0으로 업데이트 한 후 레이아웃 알고리즘에 문제가 있습니다.Zest 2.0 GraphViewer가 새로 고침을 사용하여 레이아웃 알고리즘을 실행하지 못하도록합니다.

1.4에서 레이아웃 알고리즘은 applyLayout을 호출하여 실행되었습니다. 레이아웃을 설정하고, 실행 한 다음 그래프를 변경 한 후 다시 실행하지 않고 GraphViewer를 새로 고칠 수있었습니다.

2.0에서 그래프가 변경된 후에 뷰어를 업데이트하는 데 필요한 모든 새로 고침으로 인해 레이아웃 알고리즘이 실행됩니다. 따라서 새로운 노드를 추가하면 GraphViewer의 모든 노드의 모든 위치가 변경됩니다.

내 사용 사례에는 적합하지 않습니다. GraphViewer가 새로 고침과 함께 LayoutAlgorithm을 실행하지 못하게 할 수 있습니까?

내가 필요한 것은 "레이아웃"버튼을 클릭했을 때만 뷰어에서 그래프를 레이아웃하는 것입니다. 자동 레이아웃 기능이 있어서는 안됩니다.

호출 후 LayoutAlgorithm을 설정 해제하여 나중에 새로 고침하는 동안 알고리즘이 없지만 그렇게 할 수없는 것처럼 보였습니다. GraphViewer에서 인수로 null을 사용하는 setLayoutAlgorithm을 호출하면 NullPointerException이 발생합니다.

2.0의 Zest GraphViewers의 "이전 동작"을 얻을 가능성이 있습니까?

감사합니다.

크리스티나

답변

1

그래프 위젯은 public void setDynamicLayout(boolean enabled) 방법을 가지고, 당신이 필요로하는 트릭을 할 단지 수있는 자바 독을 따라.

GraphViewer에서 위젯을 가져 오려면 GraphViewer # getGraphControl 메서드를 사용하십시오.

+1

이미 시도했지만 작동하지 않습니다. 이 속성은 새로 고침 메서드를 방해하지 않는 것 같습니다. – user1027581

+1

그런데 슬프게도이 옵션이 누락되었다고 생각합니다. 어쩌면 Eclipse Bugzilla에서 티켓을 열어야 할 것입니다. –

관련 문제