我构建了一个GEF-Editor(就像OPM-Editor),我需要你对OutlineView的帮助,因为我的尝试不起作用。我在ShapeEditor中构建了类似于GEF示例的ContentOutlinePage。
当类型为IContentOutlinePage.class时,我在getAdapter中返回我的新OutlinePage。 然后我调用createControl和setContent(model),有错误。我无法设置addPropertyChangeListener,我的模型不是为此Listener设计的
ShapeEditor中的解决方案似乎非常复杂。
ContenToutlinePage是否有简单的解决方案,或者有人使用此OPM编辑器解决方案?
感谢您的帮助
答案 0 :(得分:0)
请参阅ShapesEditor #createControl(复合父级)第355行: getViewer()。setEditPartFactory(new ShapesTreeEditPartFactory());
这可能是您错过正确实施的原因。您必须实现自己的EditPart工厂来构建自己的树编辑部件(子类GEF&#39的AbstractTreeEditPart)。 ShapeTreeEditPart #activate()和#deactivate()方法添加/删除属性更改侦听器。这些监听器将对模型更改做出反应(例如,名称标签已更改),因此您可以在那里注册自己的模型更改侦听器,或者如果您不关心模型的更改,则将方法留空。 / p>