2014-08-27 4 views
0

GEF 편집기 (OPM 편집기와 같은)를 만들었으므로 내 시도가 작동하지 않기 때문에 OutlineView에 도움이 필요합니다. ShapeEditor에서 GEF 예제와 같은 ContentOutlinePage를 만들었습니다.GEF OutlineView

형식이 IContentOutlinePage.class 일 때 getAdapter에서 새 OutlinePage를 반환합니다. 그런 다음 createControl 및 setContent (model)을 호출하면 오류가 발생합니다. addPropertyChangeListener를 설정할 수 없습니다. 내 리스너 모델이 아닙니다.

ShapeEditor의 솔루션은 매우 복잡해 보입니다.

ContenToutlinePage에 대한 간단한 해결책이 없거나이 OPM 편집기를 사용하여 해결책을 얻은 사람이 있습니까? 우리의 도움

답변

0

참조 ShapesEditor # CreateControl에 (복합 부모) 라인 (355)에 대한

감사합니다 :. getViewer() setEditPartFactory (새 ShapesTreeEditPartFactory());

올바른 구현이 누락 된 것 같습니다. 독자적인 트리 편집 파트 (GEF의 AbstractTreeEditPart 서브 클래스)를 구성하기 위해 자신 만의 EditPart 팩토리를 구현해야합니다. ShapeTreeEditPart #activate() 및 #deactivate() 메서드는 속성 변경 리스너를 추가/제거합니다. 이러한 리스너는 모델 변경 사항 (예 : 이름 레이블이 변경된 경우)에 반응해야하므로 모델 변경 리스너를 등록하거나 모델 변경 사항을 고려하지 않으면 메소드를 비워 두는 것이 좋습니다.