2014-08-27 24 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());

這可能是你錯過了正確的實施。您必須實現自己的EditPart工廠來構建自己的樹編輯部分(GEF的AbstractTreeEditPart子類)。 ShapeTreeEditPart #activate()和#deactivate()方法添加/刪除屬性更改偵聽器。這些監聽器將對模型更改做出反應(例如,名稱標籤已更改),以便您在其中註冊自己的模型更改偵聽器,或者如果您不關心對模型所做的更改,則將方法留空。