Dear Platform/UI and e4 experts,
In our IDE on top of Eclipse, we are looking at ways how to deal with
multiple Windows for one IDE session. One workflow, for instance, is keeping a tracing and monitoring session open in one window while looking at the debugger in another window.
This works fine for the most part, but we’ve come across
one problem that we could not solve so far: sometimes, an Eclipse View is opened programmatically by a plugin, and thus gets placed into the getActiveWorkbenchWindow(). We’ve seen this happen with the C/C++ Build Console for instance, when a build is started;
but we want to avoid having the build console in our tracing and monitoring window, it should always go into the master window.
I understand that the e4 modeled UI should give us full access to the Workbench Model, along with the ability to register listeners.
Can you think of any way how we could detect such “foreign views” being placed into an undesired workbench window, and allow us to
move them into the master window where we think they should live ?
Or, do you have any other suggestions or API / Doc pointers for working with multiple windows in Eclipse ? – We’ve tried using Detached Views, but they didn’t quite work for us like we wanted (eg they always remain in foreground; they don’t
have maximize/minimize/resize buttons; the 3.x API for attaching / detaching a view no longer exists in 4.x).
Ideally, I would want the Eclipse IDE to work like a Tabbed Web Browser: When I launch a monitoring session, it initially opens as a new tab in the original IDE Window, and I can have multiple tabs for multiple sessions in parallel.
When I want, I can put the session into a separate Window instead of the Tab. Or, take one of the tabs and drag it out as a Window. I want full control over each of my tabs, so no foreign view should open in any of them.
Any suggestions would be most welcome !
Thanks,
Martin
--
Martin Oberhuber, SMTS / Product Architect – Development Tools,
Wind River
direct +43.662.457915.85 fax +43.662.457915.6