Bug 161491

Summary: [Palette] palette view should update if page in MultiPageEditorPart changes
Product: [Tools] GEF Reporter: Chris Lee <eclipse>
Component: GEF-Legacy GEF (MVC)Assignee: Anthony Hunter <ahunter.eclipse>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: P3 CC: ahunter.eclipse, nyssen
Version: 3.2   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Chris Lee CLA 2006-10-18 19:28:42 EDT
We have a MultiPageEditorPart extension with quite a few pages, two of which use a palette (GraphicalEditorWithFlyoutPalette).  The two pages that use the palette can be different palettes.

This is no problem when the "Palette View" is not open, as each palette is maintained by the page.  The issue is that the palette view seems to only be loaded once per editor - ie: the MultiPageEditorPart.  If the current inner editor has a palette when the palette view is loaded, then the palette view will consist of that particular palette, even if the page (inside the MPE) is changed to a page that doesn't support a palette, or a page with a different palette.

What should happen is that if the active editor inside the MultiPageEditorPart changes, the palette view should also update to reflect the current editor's palette, if any.
Comment 1 Randy Hudson CLA 2006-10-18 21:55:20 EDT
Is this any different than the Outline View and Properties View? See bug 46207.
Comment 2 Chris Lee CLA 2006-10-19 12:27:12 EDT
It's hard for me to tell exactly what's going on in 46207; I assume by pointing me towards there, you're saying similar problems exist for the outline and properties views?  

(I'm not experiencing issues with those views, though it may be because we've put some hacks around them...)
Comment 3 Anthony Hunter CLA 2009-01-30 10:47:21 EST
(In reply to comment #1)
> Is this any different than the Outline View and Properties View? See bug 46207.

Agreed, so how did you work around the issue for these views? 

Comment 4 Randy Hudson CLA 2009-01-30 11:23:14 EST
(In reply to comment #3)
> > Is this any different than the Outline View and Properties View? See bug 46207.
> 
> Agreed, so how did you work around the issue for these views? 

46207 isn't exactly light reading, eh ;-)?

I think people typically re-implement the page-flipping behavior of the View within their single property/outline page. So, your page creates its own PageBook, which has to know when to flip its pages by listening to the active multi-page editors tabs.

Another "approach" is a hack to trigger the PalettePage request. The editor finds the PaletteView, tells it the editor has been disposed and then tells it the editor was activated, and it should ask for a PalettePage again.

Note, it's possible to share a single page instance (from the view's point-of-view, i.e. the "top-level" pages) with multiple editor instances.  So, if you had 5 editors open and all editors had 5 types of tabs, each with its own palette, then a single PalettePage (with 5 sub-pages) would be shared. The logic example may demo this.