Bug 51132 - [New Look] Persist "Lock in View" state for floating View toolbars
Summary: [New Look] Persist "Lock in View" state for floating View toolbars
Status: RESOLVED INVALID
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Michael Van Meekeren CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-03 15:27 EST by Carolyn MacLeod CLA
Modified: 2004-02-17 12:04 EST (History)
8 users (show)

See Also:


Attachments
Partial fix (2.79 KB, patch)
2004-02-13 21:11 EST, Stefan Xenos CLA
no flags Details | Diff
Another alternative to consider (disabled floaters) (4.69 KB, patch)
2004-02-13 22:29 EST, Stefan Xenos CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Carolyn MacLeod CLA 2004-02-03 15:27:19 EST
Build 200401290841

The feature: Floating view toolbars
The problem: Many people will prefer to permanently dock their view toolbars
The reasons:
- floating toolbars obscure things in neighbouring views, and often even in 
the focus view itself
- because they obscure things, the user is sometimes forced to do 2 mouse 
clicks (one extra one to focus the view) where one would suffice
- when the eclipse window is maximized, toolbars that float on the right hand 
side of the screen even obscure the focus view's vertical scrollbar, and 
sometimes part of the horizontal scrollbar as well
- floating toolbars have odd painting behavior - sometimes they show up before 
the view does, and sometimes they - or a portion of them - remain behind when 
the view is closed
- floating toolbars cause an extra icon to appear in each view toolbar

Personal preference:
- please forgive my personal preference here, but if I am being totally 
honest, I would have to say that I think we should do away with the feature 
entirely. I don't find that it buys any noticable space improvement, and the 
annoyance factor is high. I immediately dock them (again and again, because 
they are not persisted).
Comment 1 Carolyn MacLeod CLA 2004-02-03 15:30:34 EST
Noticed a similar (but not identical) bug report: 50869
I like the idea of a system preference. If the preference is set, then all 
views (not just newly-opened ones) should have docked toolbars. In addition, 
if the preference is set, remove the "Lock in View" tool from all view 
toolbars. The user is, in effect, saying "I don't want any floating toolbars". 
So once the feature is turned off, there should not be any vestiges of it in 
evidence.
Comment 2 Carolyn MacLeod CLA 2004-02-03 17:05:13 EST
I think I need to give an example of how a typical developer works in eclipse, 
in order to show why and where the 'floating toolbars' feature breaks down.
An excellent task to discuss is debugging. Every developer will eventually 
need to debug, and for this they use the debug perspective.

Take a look at the debug perspective. There are typically 5 visible views: 
Debug, Variables, Editors, Outline, and Console. Various other useful views 
are tyically on tabs, which is fine because they are used less often.

The vm, thread, and frame for the program that you are currently debugging are 
shown in the Debug view. The 'debugger control' tools are in the Debug view's 
toolbar, and they must be "one-click" accessible at all times - no matter 
which view has focus. This is critical to the use of the product by a 
developer, and must not change. Therefore this toolbar cannot ever float, 
because when the developer is working in another view (or editor) they will 
need to be able to access the 'debugger control' tools immediately.

The next view is the Variables view. The developer often goes to this view, to 
scroll, to expand/collapse the variable values tree, etc. When the debug 
view's toolbar floats, not only are the control tools unavailable, the toolbar 
obscures the variables tree's navigation icons (+/-). This is yet another 
reason why the debug view toolbar cannot float.

Next are the editors. Developers doing debugging (in fact, doing anything) 
work in the editors all the time. While debugging, this can be to make a 
change to the code, to scroll to see what came before and what comes next, or 
to look at another file that is important in the current context. While in an 
editor, a developer may want to click on something in the Outline view, to see 
the definition of another method, say, or to scroll in the outline to see 
whether a method is defined in the current class, or maybe to see what the 
public API for the current class is. When clicking on the Outline view, the 
floating toolbar immediately obscures the scrollbar (my eclipse window is 
always maximized). This renders the Outline view almost completely useless.

Next is the Console. When debugging using the Console, a common operation is 
to clear it. This is available as a tool in the Console view's toolbar. When 
the Console toolbar is floating, this tool is not available as a one-click 
operation. This is unsatisfactory, at best.

In summary, developers using eclipse use all views in parallel to accomplish 
the current task. The fact that there is a 'focus view' is an artifact, an 
anomaly, a strange and somewhat interesting departure from the normal 
application paradigm, which is both an asset and a liability to eclipse. We 
need to be very careful not to accentuate the 'focus view' feature of eclipse 
in ways that detract from the ultimate goal that it is percieved as an 
extremely useful application, because if we lose that, we have lost everything.
Comment 3 Kim Horne CLA 2004-02-04 08:34:30 EST
Big +1 to the above.  You got that dead on Carolyn.
Comment 4 Stefan Xenos CLA 2004-02-04 13:31:21 EST
Well said. IMHO, we should remove the floating toolbars entirely (no preference
is even necessary).

Chris made some excellent suggestions for reclaiming screen real-estate:
1. Remove unnecessary toolbars (such as the one on the problems view, which
contains rarely-used functions that are also available elsewhere)
2. Many views include a view menu (on the problems view, it contains Sorting...
and Filters...). This can be merged with the context menu.

At this point, many toolbars can be removed entirely.
Comment 5 Michael Van Meekeren CLA 2004-02-04 14:43:00 EST
thanks for your efforts everyone, I will revisit this as soon as I can
Comment 6 Chris McLaren CLA 2004-02-10 11:57:43 EST
i agree completely here. 

i have also entered the following (large and tedious) comment:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=37997#c81
(this details what i had mentioned to stefan..)
Comment 7 Randy Hudson CLA 2004-02-11 01:09:21 EST
Gee. That's sounds a lot like what I said 2 months ago.
http://dev.eclipse.org/mhonarc/lists/platform-ui-dev/msg01463.html
Comment 8 Carolyn MacLeod CLA 2004-02-11 14:40:26 EST
I gave you credit over in bug 46236   ;)
Comment 9 Stefan Xenos CLA 2004-02-13 21:11:11 EST
Created attachment 7914 [details]
Partial fix

This is a patch for ViewPane. It doesn't disable floating toolbars or persist
the locked state, but it makes them much less annoying by changing the default
to "locked" rather than "floating".

It also includes the following changes:
- Removes the additional "close" button, which appears to have been re-added in
the recent merge with head.
- Notifies the tab folder of the focus event after updating the viewpane's
state (rather than before). This currently has no effect, but may avoid future
headaches if the tab folder needs to make use of the viewpane's state within
it's focus handler.
Comment 10 Stefan Xenos CLA 2004-02-13 21:19:16 EST
Note to whoever is currently maintaining the floating toolbars: the
docked/undocked state should be persisted in the view, rather than the viewpane
-- once you dock or undock the toolbar in the view, you'd expect it to be docked
or undocked in all perspectives rather than only the current perspective.

I've held off on persisting the state, since it will create new API and we
should REALLY be sure we want floating toolbars before we bother with this.

Comment 11 Stefan Xenos CLA 2004-02-13 22:29:47 EST
Created attachment 7918 [details]
Another alternative to consider (disabled floaters)

For consideration, this patch does the following:
- Floating toolbars are removed entirely
- The redundant close button is removed
- If the toolbar is empty, it disappears entirely (can be observed in the
outline view when the welcome editor is open).

If we combine this patch with something that combines the view menu with the
system menu, then many toolbars disappear entirely. This will save almost as
much screen space as floating toolbars, but will be much less contraversial.
Comment 12 Michael Van Meekeren CLA 2004-02-17 12:04:46 EST
removed floating toolbars moving to invalid