Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 462716

Summary: Implement split editors
Product: [ECD] Orion Reporter: Eric Moffatt <emoffatt>
Component: ClientAssignee: Eric Moffatt <emoffatt>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: curtis.windatt.public
Version: unspecified   
Target Milestone: 9.0   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Eric Moffatt CLA 2015-03-20 15:25:32 EDT
We need a way for users to see more than one file on a page....

We already have a mockup so this is where we'll capture the commits / comments...
Comment 1 Eric Moffatt CLA 2015-03-25 13:25:37 EDT
OK, now that we have something we're starting to capture some of the issues surrounding this functionality. Directing commands to the 'active' view is already being worked on by Silenio but here are some of the questions that we'll have to answer going forward (for this comment I'll call the new thing the 'aux editor', if someone has a better name bring it forward):

1) How do we show the file / path that the 'aux editor' is showing? The main editor gets a bread crumb)

2) How do we allow users to open files in the 'aux editor' ? The current implementation of Ctrl+Shift+'f' will only ever affect the main editor since it displays its info as links which get directly handled by the browser.

3) Do we want the main and aux editors to be symmetric ? When working in a split editor mode should both panes show the same info and have the same functionality ?
Comment 2 Eric Moffatt CLA 2015-03-25 13:31:30 EDT
Here's the result of me and Silenio talking about the above issues (Silenio, feel free to correct any misunderstandings):

There seems to already be a discussion of moving the 'breadcrumb' into the editor's pane (to recover the vertical space used in the current layout). To us this seems like it would solve many of the issues:

1) It allows the file path of the aux editor to be displayed
2) It allows a place to an host editor-specific 'open file' UI
3) It maintains the symmetry between the two split panes.

We need to get together and determine whether this will be sufficient and, if not, what else needs to be done...
Comment 3 Eric Moffatt CLA 2015-03-25 13:35:07 EDT
We're also going to be using the 'splitter' code to host the split editors. This has an issue in that there's already a splitter in the markdown editor and there's already a mechanism to change *that* splitter's orientation. If we have Anton's current UI of a dropdown for the editor 'mode' (normal, v split, h split or Pip) then this may not be a usability issue as much as one involving the saved state info for the splitter.
Comment 4 Eric Moffatt CLA 2015-03-25 14:40:24 EDT
Note that the current code is in the branch 'emoffatt/SplitEditors'...
Comment 5 Eric Moffatt CLA 2015-03-27 13:25:11 EDT
OK, here are some of the takeaways from today's UX call, please correct anything that I misinterpreted:

Editor layout:

Decided: We should put the breadcrumb at the top of each editor

Tentative: We could add a 'Search' icon to the same area as the breadcrumb to allow for 'Open File' (Ctrl + Shift + f) behavior. Note that we could also handle Ctrl + Shift + h here as well.

URL:

Tentative: We should have a URL format that will define both the path for the 'aux' editor as well as that of the main editor.

Nav Clicking:

Decided: Clicking in the navigator should open the file in the currently 'active' editor.

Handling Markdown Editors:

This is an open area for discussion. The issue is that this editor already contains its own splitter for showing the preview, potentially causing the UI to become cluttered. 

Tentative For now we just don't treat them differently but we should talk further about this concept (i.e. perhaps 'preview pane' should be a new editor concept in its own right a la the 'aux' editor ?) .
Comment 6 Eric Moffatt CLA 2015-03-27 13:35:49 EDT
A side note about the navigator handling. While there seems to be general agreement that clicking a file in the navigator should open the clicked file in the currently active editor (does anybody disagree with this?) there are valid concerns that this will require a fundamental change to the current design philosophy of using URLs for navigation and allowing the browser to perform the operation.

Currently the entries in the nav are *links*. If we want to implement the 'open in active editor' heuristic then this will have to change. Note that this is very far-reaching in that it should also affect any other click-to-open scenarios as well.

One approach to this would be to drive things outwards from the two editor's 'setInput' methods:

- operations that used to be links are changed to call 'setInput' on the currently active editor's InputManager

- 'setInput' constructs the appropriate URL and sets that URL into the browser (so that a refresh gives you what you're currently seeing).
Comment 7 John Arthorne CLA 2015-11-09 13:54:52 EST
This was implemented in Orion 9.