Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 492935

Summary: Ensure IPropertySheetPage is injected.
Product: [Tools] GEF Reporter: Alexander Nyßen <nyssen>
Component: GEF MVCAssignee: Alexander Nyßen <nyssen>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 0.2.0   
Target Milestone: 4.0.0 (Neon) M7   
Hardware: All   
OS: All   
Whiteboard:

Description Alexander Nyßen CLA 2016-05-03 17:15:35 EDT
Up to now, AbstractFXView and AbstractFXEditor create the UndoablePropertySheetPage implementation, to be used as adapter for IPropertySheetPage locally within getAdapter(). We should change this to have IPropertySheetPage (or rather a factory for it) injected into both classes, so another implementation can be bound.

This mechanism can be used within MVC Logo example, where the root entry has to be replaced.
Comment 1 Alexander Nyßen CLA 2016-05-04 06:45:01 EDT
I pushed the following changes to origin/master:

- Changed contract of UndoablePropertySheetPage to obtain reference to related IWorkbenchPart rather then UndoRedoActionGroup (which can be maintained locally, and is not necessarily shared with the workbench part).
- Created IUndoablePropertySheetPageFactory that supports assisted injection of an UndoablePropertySheetPage.
- Changed AbstractFXEditor and AbstractFXView to have IPropertySheetPageFactory injected.
- Enabled assisted inject as extra classpath dependency within releng/pom.xml
- Provided dependencies to assisted inject for MVC.UI manifest and feature.xml.

Resolving as fixed in 4.0.0 M7 (this has been included in the updated contribution to M7).