Bug 73821 - [RCP] Expand support for a custom workbench window layout
Summary: [RCP] Expand support for a custom workbench window layout
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal with 25 votes (vote)
Target Milestone: ---   Edit
Assignee: Daniel Rolka CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords: helpwanted
Depends on: 77817 78034
Blocks:
  Show dependency tree
 
Reported: 2004-09-13 18:13 EDT by Chris Gross CLA
Modified: 2019-11-27 07:02 EST (History)
26 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Gross CLA 2004-09-13 18:13:28 EDT
The WorkbenchConfigurer currently only has support to create the menubar, 
coolbar, statusline and the page composite.  It lacks methods to create the 
perspective bar, fastview bar and the progress region.  Therefore if you 
override the WorkbenchAdvisor.createWindowContents() method, you cannot create 
these controls.
Comment 1 Jean-Michel Lemieux CLA 2004-10-17 06:07:01 EDT
While we are on the topic, you also can't use the cached control wrappers and
TrimLayout that are created in the createDefaultContents() method.
Comment 2 Nick Edgar CLA 2004-10-18 09:56:05 EDT
Yes, we would need to expose TrimLayout and friends to allow the perspective
bar, fastview bar and progress indicator to be created in a custom layout, since
they're aware of the layout and allow themselves to be repositioned (well, the
progress indicator doesn't, but the others do).

Alternatively, we could do the extra work to decouple these parts from any
particular layout, but this would require the app to do more work, e.g. handle
the context menu for the perspective bar and fast view bar.


Comment 3 Chris Gross CLA 2004-10-18 15:19:04 EDT
Can you do both?  Can the parts be told they're in a TrimLayout and thus can 
show the popup menus for arrangement and such?  Otherwise, they will not show 
the popups and the RCP developer will be responsible for their layout.
Comment 4 Stefan Xenos CLA 2004-10-18 19:49:20 EDT
The first step should be pretty easy: TrimLayout doesn't have many dependencies,
and shouldn't be hard to promote to API.

However, we may want to hold off until we figure out what SWT is planning to do
about layouts in 3.1 -- TrimLayout currently uses a non-standard interface
(ICachingLayout) to handle caching efficiently, and I've heard talk that SWT is
planning to offer something similar in a standardized way -- that would be much
better than the TrimLayout-specific solution.

You shouldn't need the caching control wrappers, since they work around SWT
performance bottlenecks which will likely be fixed for 3.1.
Comment 5 Nick Edgar CLA 2004-11-05 22:01:04 EST
Chris, in the RCP newsgroup you've mentioned a couple of times that trying to
use jobs in a custom window layout fails.  Is there an existing bug report for
this?  If not, could you please file one so we can track it?
Comment 6 Chris Gross CLA 2004-11-07 09:18:10 EST
Absolutely, its entered as bug 78034.  I had thought that there was already 
something entered for it but I can't seem to find it now.  
Comment 7 Stefan Xenos CLA 2004-11-08 17:24:45 EST
In addition to exposing TrimLayout as API, we could consider the following:

1. Once we get nested parts working (bug 46207), create a set of interfaces that
allow other parts from a parent context to be dragged into/out of a custom part.
2. Provide a new extension point to declare parts that are neither views nor
editors, but can be instantiated programmatically.
3. Use this support to refactory the interesting workbench layouts (TrimLayout,
PartSashContainer, and presentations) as ordinary parts.

In this case, RCP apps could reuse not only the layout but also its drag/drop
behavior and persistence.

Comment 8 Chris Gross CLA 2005-03-09 15:43:49 EST
Has there been any consideration for this for 3.1?
Comment 9 Chris Gross CLA 2005-03-14 10:36:11 EST
I'd also like to add that as part of a custom workbench, I'd like to be able 
to change the default workbench background color.  I need to update the 
background color to complete the branding of our RCP app.  I want to make sure 
that this will be possible when this bug is finalized.  This would require 
that all controls (toolbar,perspective bar, menubar, status line, page 
composite) would allow their background to be updated.
Comment 10 Nick Edgar CLA 2005-03-14 11:21:20 EST
cc'ing Kim for the preceding comment, as the logical mechanism to use would be
the themes support.
Comment 11 Nick Edgar CLA 2006-03-15 11:24:20 EST
Reassigning bugs in component areas that are changing ownership.
Comment 12 Eunice Tan CLA 2006-03-19 21:51:14 EST
Any possibility of this done?
Comment 13 Boris Bokowski CLA 2006-03-20 11:12:40 EST
Sorry, but given that we are already past the API freeze, I don't think that we can solve this for 3.2.
Comment 14 Boris Bokowski CLA 2006-10-13 08:25:53 EDT
I have noticed the interest in this bug (and the votes), but unfortunately, it is not on the 3.3 plan so chances are I won't be able to spend time on this during 3.3.  Marking as helpwanted - would someone from the RCP community be interested in helping with this?
Comment 15 Dave Orme CLA 2008-02-27 11:25:35 EST
Hi Boris,

Any chance this will get cycles in 3.4?  Alternatively, when is API freeze for 3.4?

Anyone who knows:

Did SWT do the caching work that was discussed in comment #4 above?
Comment 16 Boris Bokowski CLA 2008-02-27 11:56:40 EST
API freeze is soon - March 28. :(
Comment 17 Luchesar Cekov CLA 2009-07-20 10:50:44 EDT
I have the same requirement for a way to customise my RCP application without loosing functionality.
Comment 18 Boris Bokowski CLA 2009-11-26 16:15:56 EST
Prakash is now responsible for watching bugs in the [RCP] component area.
Comment 19 Lars Vogel CLA 2019-11-27 07:02:00 EST
This bug hasn't had any activity in quite some time. Maybe the problem got
resolved, was a duplicate of something else, or became less pressing for some
reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it.
The information can be, for example, that the problem still occurs, that you
still want the feature, that more information is needed, or that the bug is
(for whatever reason) no longer relevant.

If the bug is still relevant, please remove the stalebug whiteboard tag.