e4 View on compatibility layer in Luna [message #1312418] |
Thu, 24 April 2014 09:24 |
Jonas Helming Messages: 699 Registered: July 2009 |
Senior Member |
|
|
Hi,
I am currently evaluating the new feature in Luna allowing to register a
native e4 view using the e3 extension point org.eclipse.ui.views
First thanks for implementing it (Eric?), it is a nice way of soft
migrating existing RCP applications.
I am currently looking for the solution to a missing piece.
If I create a e4 view and register it, I can open it using the e3 API:
IViewPart showView =
showPlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(viewId);
Now as a follow-up step, I would like to put something into the context
of this newly created view (the input of the view). The question is, how
to access this context. The following call returns an anonymous context,
which is not related to the context of the view, it has no parent and no
children:
IEclipseContext context = (IEclipseContext)
showView.getViewSite().getService(IEclipseContext.class);
The implementation class of object showView is E4PartWrapper, which
holds the related MPart as a field, which would allow to access the
context. But obviously IViewPart, as e3 API does not provide access to
it (not even E4PartWrapper).
To sum up: The new extension point provides a good way to access e3
applications from within a e4 view. I think what is currently missing is
a good way to access the e4 API from the e3 world. I think as a quick
fix, one "non-API" method would be enough to at least enable eraly adopters.
What do you think?
Best regards
Jonas
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.01770 seconds