Bug 1917 - [Outline][PropertiesView] Multi-page editor support for separate property and outline pages (1GCBWEG)
Summary: [Outline][PropertiesView] Multi-page editor support for separate property and...
Status: ASSIGNED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 2.0   Edit
Hardware: All All
: P5 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Platform UI Triaged CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
: 38641 (view as bug list)
Depends on:
Blocks:
 
Reported: 2001-10-10 22:22 EDT by Nick Edgar CLA
Modified: 2019-06-16 18:16 EDT (History)
11 users (show)

See Also:


Attachments
firefox file (1.31 KB, text/plain)
2008-09-06 22:16 EDT, zsj CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Edgar CLA 2001-10-10 22:22:14 EDT
DG writes:

Here is another thing that will be required by people that use multi-page
editors: multi-page outline and property sheet. It is concievable that
different pages in the editor may have different outlines (for example,
Source and Design pages in HTML editor have different outlines). It is also
possible that multiple pages use the property sheet and want to customize
it, at which point they will need switching when pages change.

PDE editors have multi-page property sheet and multi-page outline views
that handle this. Particularly tricky is handling contributions in property
sheet, where Sub*Manager classes heed to be used to handle switching of
local bar contributions when pages switch.


NOTES:

RG (4/17/01 10:21:57 AM)
	Up until now our (poor) story has been as Dejan describes where multi page editors contribute
	a property sheet page or content outline page which itself consists of multiple pages.
	The editor is responsible for switching the inner pages as appropriate.
	(This assumes a requirement for a different inner page corresponding to each editor page, 
	if a standard page can be used for all then only the input nees to change).

	In order for us to allow each editor page to contribute a different property sheet page/ content
	outline page, we would need some kind of standard notification when the editor changes its pages.
	I'm not sure if allowing the editor to trigger a part activated notification in this case would be appropriate.

	Secondly we would need to modify the way we cache pages keyed on their contributing part.

NE (4/17/01 11:01:45 AM)
	Part activation should be left for top-level parts (i.e. the multi-page editor itself, not its nested pages).
	Property sheet and outline could define their own properties, and hook a property change listener on the active part.

NE (5/2/01 10:31:23 PM)
	Do we plan to support this in the property sheet and/or outline views?
	If not, DG should be notified, and PR closed.

RG (5/3/01 4:38:38 PM)
	At this point I do not want to risk changes to the way pages are contributed and managed.
	Kevin has suggested modifiying the MultiPageEditor example to use different property pages
	and content outline pages for each editor page.
Comment 1 DJ Houghton CLA 2001-10-24 06:50:00 EDT
PRODUCT VERSION:
0.044

Comment 2 Kevin Haaland CLA 2002-01-21 21:05:48 EST
Defer
Comment 3 Randy Giffen CLA 2002-08-06 16:08:07 EDT
Reopened for investigation
Comment 4 Tod Creasey CLA 2004-10-22 15:37:43 EDT
As this is an internal request I am going to mark it WONTFIX. Nick please re-
open if yout think this is useful
Comment 5 A. Salzborn CLA 2005-10-27 07:12:10 EDT
Hello,

i would like to comment this "bug".

I need to implement a form based multi page editor (FormEditor) wich has only
one editor input. The input is a remote file from an RMI server, which will
allready be cached lazily in local workspace by the input itself, if some
document provider requests the source file of the input. One page is a
nested Text-Editor which shows the "raw" text-data.

It would be very usefull if a standard mechanism would give the ability
to contribute multiple outline pages for an multi-page-editor, maybe something
like a container of pages for every nested editor or form-page.
...Or in common, the workbench should (optional) request outline-pages from
every form-page/editor-part and provide a standard implementation which handles
the switch between the inner-outline-pages.

Best regards

A. Salzborn, Germany ProDevelop
Comment 6 Nick Edgar CLA 2005-10-27 10:15:52 EDT
Reopening.
Comment 7 Nick Edgar CLA 2005-10-27 10:20:07 EDT
I still think this scenario is pretty common.  Wassim, does this crop up in PDE
at all?

The MPE would need to delegate the getAdapter implementation for the
IOutlinePage.class case to the active nested editor, but there would also need
to be some kind of (indirect) notification back to the outline view when the
nested page changes so it can re-request the page to show.

Also, currently the Outline view assumes that a given part (i.e. outer editor)
supplies only a single page, and caches this.  So either this assumption needs
to be relaxed, or it needs to know about the nested editor.  It may also be the
case that you want to show an outline for a tab that is not editor-based.


Comment 8 Wassim Melhem CLA 2005-10-28 01:40:38 EDT
yes, we certainly have that problem in PDE but we worked around it in 
FormEditor which subclasses MPE.

In our implementation of FormEditor#pageChange(), we explicitly update the 
outline view.

FormEditor#getAdapter() returns an appropriate outline view for 
IContentOutlineView.class 
Comment 9 Nick Edgar CLA 2005-10-28 09:12:36 EDT
I see, so you return a single outline page for the outer editor, but it knows
about sub-outline-pages to show for corresponding sub-editor-pages?
Comment 10 Wassim Melhem CLA 2005-10-28 17:45:20 EDT
yes.  

however, we don't update the outline with every page switch.  For example,the 
same outline page appears for all form pages,  but every source page has its 
own.
Comment 11 Nick Edgar CLA 2005-11-11 14:29:36 EST
*** Bug 38641 has been marked as a duplicate of this bug. ***
Comment 12 Paul Webster CLA 2006-09-28 10:58:27 EDT
There are currently no plans to work on this feature.

PW
Comment 13 Denis Roy CLA 2007-06-22 09:32:27 EDT
Changes requested on bug 193523
Comment 14 zsj CLA 2008-09-06 22:16:33 EDT
Created attachment 111910 [details]
firefox file
Comment 15 Paul Webster CLA 2008-11-28 09:12:49 EST
Comment on attachment 111910 [details]
firefox file

This attachment is viral and should be deleted.
Comment 16 Rolf Theunissen CLA 2019-06-16 11:58:19 EDT
If somebody is interested in looking into this bug, MultiPageMinimapPage is a good starting point. This page uses multiple sub-pages for different editors.

I have done some experiments with that, but I think my code got (partially) lost.
Comment 17 Thomas Wolf CLA 2019-06-16 18:16:10 EDT
(In reply to Rolf Theunissen from comment #16)
> If somebody is interested in looking into this bug, MultiPageMinimapPage is
> a good starting point. This page uses multiple sub-pages for different
> editors.

There's also org.eclipse.egit.ui.internal.commit.MultiPageEditorContentOutlinePage and its companion NestedContentOutlinePage that may serve as inspiration. Used in CommitEditor, DiffEditorPage, and DiffEditorOutlinePage.