Community
Participate
Working Groups
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.
PRODUCT VERSION: 0.044
Defer
Reopened for investigation
As this is an internal request I am going to mark it WONTFIX. Nick please re- open if yout think this is useful
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
Reopening.
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.
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
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?
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.
*** Bug 38641 has been marked as a duplicate of this bug. ***
There are currently no plans to work on this feature. PW
Changes requested on bug 193523
Created attachment 111910 [details] firefox file
Comment on attachment 111910 [details] firefox file This attachment is viral and should be deleted.
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.
(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.