| Summary: | render toolbar contributions using the ContributionManagers | ||
|---|---|---|---|
| Product: | [Eclipse Project] e4 | Reporter: | Paul Webster <pwebster> |
| Component: | UI | Assignee: | Paul Webster <pwebster> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | emoffatt, remy.suen |
| Version: | unspecified | ||
| Target Milestone: | 4.1 RC1 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Attachments: | |||
|
Description
Paul Webster
Created attachment 190141 [details]
work in progress v01
Doesn't do much yet.
PW
Created attachment 190379 [details]
work in progress v02
ToolbarManagerRenderer now renders the toolbars correctly, and the trim renderer can show them. no drag handlers, however.
PW
Created attachment 190436 [details]
Render toolbars via ToolBarManager v03
I've kept the current pattern, where the MToolBar renderer returns an intermediate composite. The composite can contain:
ToolBar(dragHandle) ToolBar(MToolBar) ToolBar(part MMenu)
I'm not convinced the responsibility of maintaining multiple toolbars should fall to this renderer, but I leave it consistent for now.
PW
Created attachment 190445 [details]
Use the standard toolbar renderer with compat view v04
Removes use of MRenderedToolBar.
Needs work to deal with Outline view, switching pages doesn't update correctly as the ToolBar has been disposed, and doesn't want to come back.
PW
(In reply to comment #3) > Created attachment 190436 [details] > Render toolbars via ToolBarManager v03 > Released. PW Created attachment 190507 [details]
Use the standard toolbar renderer with compat view v05
This got rid of MRenderedToolBar and the extra disposes.
PW
(In reply to comment #6) > Created attachment 190507 [details] > Use the standard toolbar renderer with compat view v05 Released for build PW Created attachment 190508 [details]
link toolbars from the coolbar directly v06
If the coolbar contains a toolbar, allow it to be rendered directly.
PW
(In reply to comment #8) > Created attachment 190508 [details] > link toolbars from the coolbar directly v06 > Released to HEAD PW Created attachment 190509 [details]
Allow changes to the coolbar to feed the model v07
work in progress
PW
If you switch to the 'Debug' perspective there's this spot in the window's toolbar that shows two separators together. Created attachment 194484 [details]
Allow changes to the coolbar to feed the model v08
In Progress:
The ICoolBarManager keeps the model up to date as it is changed.
PW
Created attachment 194595 [details]
Allow changes to the coolbar to feed the model v09
WORK IN PROGRESS
Model appears to be updated regularly, but toolbars are not yet rendered.
PW
Created attachment 194774 [details]
Allow changes to the coolbar to feed the model v10
Allow the action bars to fill the coolbar, and then convert it to the model.
PW
(In reply to comment #14) > Created attachment 194774 [details] > Allow changes to the coolbar to feed the model v10 Released to HEAD. There is still 2 toolbar missing, and editor specific toolbar, and the org.eclipse.ui.edit.text.actionSet.presentation actionSet, which is tied to the active editor PW text presentation actionSet is back. Unfortunately, so are a lot of separators. PW Created attachment 194976 [details]
Separation and Separator work v11
With the changes to the CoolBarToTrim manager there are now a lot of separators visible.
The toolbar renderer doesn't have the correct information or visibility to manage them. This patch is the first pass attempt at breaking up the responsibility:
TrimBarRenderer creates an intermediate composite, a drag handled (faked for now), and then renders each MTrimElement in that. This works as expected.
StackRenderer/LazyStackRenderer are trying to do the same thing, rendering the part toolbar and part menu into an intermediate composite. I don't have to re-parenting set up correctly yet, however, as it spends its time yacking.
PW
Created attachment 195264 [details]
Separation and Separator work v12
StackRenderer/LazyStackRenderer now creates a composite to host the toolbar and view dropdown menu button. TrimBarRenderer creates a composite to host the current "fake" drag handle and the toolbar.
PW
(In reply to comment #18) > Created attachment 195264 [details] > Separation and Separator work v12 > Released to HEAD Next step is to make sure there aren't 1000 separators in the trim area. PW (In reply to comment #18) > Created attachment 195264 [details] > Separation and Separator work v12 Needed to re-parent toolbar when MPart refs reparted, to avoid bug 334580 PW This is finished, now there are bugs that need to be fixed, like bug 345193 PW |