Bug 52892 - [RCP] Workbench look and feel for non-IDE apps
Summary: [RCP] Workbench look and feel for non-IDE apps
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows 2000
: P3 normal with 9 votes (vote)
Target Milestone: 3.0 RC4   Edit
Assignee: Nick Edgar CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-23 22:06 EST by Nick Edgar CLA
Modified: 2004-06-28 13:10 EDT (History)
27 users (show)

See Also:


Attachments
doc patch (7.53 KB, patch)
2004-06-25 15:53 EDT, Andrew Eidsness CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Edgar CLA 2004-02-23 22:06:16 EST
M7

Based on the discussions in bug 52780 (not to mention bug 37997, bug 52685 and 
bug 52875), and on feedback received at EclipseCon, there is a strong 
requirement for RCP apps to look more native than the proposed new look in the 
Eclipse SDK.

Either the old look should be the default for RCP apps, or it should be easy to 
configure it to have the old look.

NOTE: this PR is specifically about the look requirements for RCP apps.
Other PRs have asked for the new look to be completely backed out of the SDK 
(bug 52875) or for there to be an option to choose (bug 52780).
Please distribute your comments and votes accordingly.
Comment 1 Nick Edgar CLA 2004-02-23 22:51:01 EST
This is particularly true for those early adopters (with the arrows in their 
backs <g>) who started doing RCP apps on top of Eclipse 2.1.  It should be easy 
for them to migrate to 3.0 without an unwanted major impact on their L&F.

It would be helpful to know -which- aspects of the classic look vs. new look 
are most critical.  Please provide simple +1s or -1s or 0s (for don't care) for 
the following items (of course, extra comments are always welcome too <g>), 
listed in order of importance for you.  Note that this is not a complete list, 
and is just intended to get a feeling for what aspects people think are most 
important to their RCP app.  Some of these items are opposites of each other, 
so vote +1 for one or -1 for the other, but there's no need to vote for both 
(unless you -really- feel strongly about it <g>).

- square view/editor tabs (as in 2.1)
- curvy view/editor tabs (as in 3.0 new look)
- native view/editor tabs (e.g. see the Java > Compiler pref page)
- always having a view titlebar (as in 2.1)
- never having a view titlebar (as in 3.0 new look)
- only having a view titlebar (and no tab) when standalone (i.e. not in a 
folder with other views)
- close button on view titlebar (as in 2.1)
- close button on view tabs (as in 3.0 new look)
- view toolbars embedded in view titlebar, or moving to its own row if needed 
(as in 2.1)
- view toolbars always on own row (as in 3.0 > M7)
- view toolbars dynamically hanging off the right edge (as in 3.0 M7 new look) 
[Note that this feature has since been removed, but you can cast your vote if 
you liked them.]
- double-click to maximize view/editor (as in 2.1)
- button for collapsing views (as in 3.0 new look)
- button for maximizing views/editors (as in 3.0 new look)
- fast views only on left (as in 2.1)
- fast views on any edge (as in 3.0 new look)
- perspective shortcuts at left (as in 2.1)
- perspective shortcuts in toolbar area (as in 3.0 new look)
- curvy separator between toolbars and perspective shortcuts (as in 3.0 new 
look)
- editor management using only tabs (as in 2.1)
- editor management using single drop-down (as in 3.0 new look default)
- editor management using 3.0 tabs ("Show multiple editor tabs" on Editors pref 
page in 3.0 new look)
- no editor management (your app might not need editors)
- shadow border around views (as in 2.1)
- no shadow borders around views (as in 3.0 new look)
- border lines between menubar, toolbar, main workbench area, and status line 
(as in 2.1)
- fewer border lines (as in 3.0 new look)

Comment 2 Ed Burnette CLA 2004-02-23 23:50:09 EST
+1 - square view/editor tabs (as in 2.1)
-1 - curvy view/editor tabs (as in 3.0 new look)
+1 ! - native view/editor tabs (e.g. see the Java > Compiler pref page)
0 - always having a view titlebar (as in 2.1)
0 - never having a view titlebar (as in 3.0 new look)
0 - only having a view titlebar (and no tab) when standalone (i.e. not in a 
folder with other views)
0 - close button on view titlebar (as in 2.1)
0 - close button on view tabs (as in 3.0 new look)
+1 (big space saver) - view toolbars embedded in view titlebar, or moving to 
its own row if needed 
(as in 2.1)
-1 - view toolbars always on own row (as in 3.0 > M7)
-1 ! - view toolbars dynamically hanging off the right edge (as in 3.0 M7 new 
look) 
[Note that this feature has since been removed, but you can cast your vote if 
you liked them.]
+1 - double-click to maximize view/editor (as in 2.1)
-1 (not used often enough for a button) - button for collapsing views (as in 
3.0 new look)
-1 (can double-click) - button for maximizing views/editors (as in 3.0 new 
look)
0 - fast views only on left (as in 2.1)
-1 (I was never happy with the way fast views worked, would prefer something 
like Windows auto-hide docks) - fast views on any edge (as in 3.0 new look)
+0.5 (ok, but would prefer them to be a dockable toolbar/tray that can be put 
top, bottom, left, or right) - perspective shortcuts at left (as in 2.1)
-1 (I find them inconvenient to search out and click with the mouse) - 
perspective shortcuts in toolbar area (as in 3.0 new look)
-1 ! - curvy separator between toolbars and perspective shortcuts (as in 3.0 
new 
look)
+1 (but multiple rows of tabs would be a nice feature) - editor management 
using only tabs (as in 2.1)
-1 - editor management using single drop-down (as in 3.0 new look default)
0 (don't like the way only some editors are shown) - editor management using 
3.0 tabs ("Show multiple editor tabs" on Editors pref 
page in 3.0 new look)
0 - no editor management (your app might not need editors)
0 (I like the look, but it's not critical) - shadow border around views (as in 
2.1)
0 - no shadow borders around views (as in 3.0 new look)
0 (not sure I'd miss them or not) - border lines between menubar, toolbar, 
main workbench area, and status line 
(as in 2.1)
0 - fewer border lines (as in 3.0 new look)
Comment 3 Adrian Spinei CLA 2004-02-24 03:22:10 EST
+1 square view/editor tabs (as in 2.1)
-1 curvy view/editor tabs (as in 3.0 new look)
0 native view/editor tabs (e.g. see the Java > Compiler pref page)
0 always having a view titlebar (as in 2.1)
-1 never having a view titlebar (as in 3.0 new look)
-1 only having a view titlebar (and no tab) when standalone (i.e. not in a 
folder with other views)
+1 close button on view titlebar (as in 2.1)
-1 close button on view tabs (as in 3.0 new look)
+1 view toolbars embedded in view titlebar, or moving to its own row if needed 
(as in 2.1)
-1 view toolbars always on own row (as in 3.0 > M7)
-1 view toolbars dynamically hanging off the right edge (as in 3.0 M7 new look) 
+1 double-click to maximize view/editor (as in 2.1)
-1 button for collapsing views (as in 3.0 new look)
-1 button for maximizing views/editors (as in 3.0 new look)
0 fast views only on left (as in 2.1)
+1 fast views on any edge (as in 3.0 new look)
+1 perspective shortcuts at left (as in 2.1)
-1 perspective shortcuts in toolbar area (as in 3.0 new look)
-1 curvy separator between toolbars and perspective shortcuts (as in 3.0 new 
look)
+1 editor management using only tabs (as in 2.1)
-1 editor management using single drop-down (as in 3.0 new look default)
-1 editor management using 3.0 tabs ("Show multiple editor tabs" on Editors pref 
page in 3.0 new look)
0 no editor management (your app might not need editors)
+1 shadow border around views (as in 2.1)
-1 no shadow borders around views (as in 3.0 new look)
0 border lines between menubar, toolbar, main workbench area, and status line 
(as in 2.1)
+1 fewer border lines (as in 3.0 new look)
Comment 4 bill CLA 2004-02-24 09:29:53 EST
0 - square view/editor tabs (as in 2.1)
-1 - curvy view/editor tabs (as in 3.0 new look)
+1 - native view/editor tabs (e.g. see the Java > Compiler pref page)
0 - always having a view titlebar (as in 2.1)
0 - never having a view titlebar (as in 3.0 new look)
0 - only having a view titlebar (and no tab) when standalone (i.e. not in a 
folder with other views)
+1 - close button on view titlebar (as in 2.1)
-1 - close button on view tabs (as in 3.0 new look)
+1 - view toolbars embedded in view titlebar, or moving to its own row if needed 
(as in 2.1)
-1 - view toolbars always on own row (as in 3.0 > M7)
-1 - view toolbars dynamically hanging off the right edge (as in 3.0 M7 new look) 
[Note that this feature has since been removed, but you can cast your vote if 
you liked them.]
+1 - double-click to maximize view/editor (as in 2.1)
-1 - button for collapsing views (as in 3.0 new look)
-1 - button for maximizing views/editors (as in 3.0 new look)
0 - fast views only on left (as in 2.1)
0 - fast views on any edge (as in 3.0 new look)
0 - perspective shortcuts at left (as in 2.1)
-1 - perspective shortcuts in toolbar area (as in 3.0 new look)
-1 - curvy separator between toolbars and perspective shortcuts (as in 3.0 new 
look)
+1 - editor management using only tabs (as in 2.1)
-1 - editor management using single drop-down (as in 3.0 new look default)
-1 - editor management using 3.0 tabs ("Show multiple editor tabs" on Editors pref 
page in 3.0 new look)
0 - no editor management (your app might not need editors)
0 - shadow border around views (as in 2.1)
0 - no shadow borders around views (as in 3.0 new look)
0 - border lines between menubar, toolbar, main workbench area, and status line 
(as in 2.1)
+1 - fewer border lines (as in 3.0 new look)
Comment 5 Nick Edgar CLA 2004-02-24 11:21:17 EST
Just to reiterate, what I'm aiming to gather here is how people think the 
Workbench should behave for their non-IDE RCP apps, not their preferences for 
how the Eclipse SDK looks.

Perhaps it would help to clarify if people gave a one-line description of their 
app (make it as generic as you like if confidentiality is an issue).
Comment 6 Gunnar Wagenknecht CLA 2004-02-24 12:48:06 EST
-0 - square view/editor tabs (as in 2.1)
-1 - curvy view/editor tabs (as in 3.0 new look)
+1 - native view/editor tabs (e.g. see the Java > Compiler pref page)
+1 - always having a view titlebar (as in 2.1)
-1 - never having a view titlebar (as in 3.0 new look)
-1 - only having a view titlebar (and no tab) when standalone (i.e. not in a 
folder with other views)
+1 - close button on view titlebar (as in 2.1)
0 - close button on view tabs (as in 3.0 new look)
+1 - view toolbars embedded in view titlebar, or moving to its own row if 
needed 
(as in 2.1)
0 - view toolbars always on own row (as in 3.0 > M7)
-1 - view toolbars dynamically hanging off the right edge (as in 3.0 M7 new 
look) 
[Note that this feature has since been removed, but you can cast your vote if 
you liked them.]
+1 - double-click to maximize view/editor (as in 2.1)
+1 - button for collapsing views (as in 3.0 new look)
+1 - button for maximizing views/editors (as in 3.0 new look)
-1 - fast views only on left (as in 2.1)
+1 - fast views on any edge (as in 3.0 new look)
-1 - perspective shortcuts at left (as in 2.1)
+1 - perspective shortcuts in toolbar area (as in 3.0 new look)
-1 - curvy separator between toolbars and perspective shortcuts (as in 3.0 new 
look)
+1 - editor management using only tabs (as in 2.1)
-1 - editor management using single drop-down (as in 3.0 new look default)
+1 - editor management using 3.0 tabs ("Show multiple editor tabs" on Editors 
pref 
page in 3.0 new look)
0 - no editor management (your app might not need editors)
-1 - shadow border around views (as in 2.1)
+1 - no shadow borders around views (as in 3.0 new look)
-1 - border lines between menubar, toolbar, main workbench area, and status 
line 
(as in 2.1)
+1 - fewer border lines (as in 3.0 new look)
Comment 7 Patrick Paulin CLA 2004-02-24 13:40:00 EST
We are currently developing a commercial RCP-based application, and this look 
and feel issue is critical to us. We could back out at this point and go with 
straight SWT, but having the RCP to build on gives us a strategic advantage. 

Our priorities are ease of use and native look and feel across multiple 
platforms, in that order. We fully understand that there are non-native 
elements in the Eclipse/RCP UI, and many of these elements add value. The 
problem with the new look and feel is that it crosses a subtle line defining 
the comfort zone of average users (not Java developers). The only way to find 
this line is through usability testing, but the line has definitely been 
crossed.

Some of the changes to the look and feel are more jarring than others, but it 
may be the volume of changes that has the most effect. We're not sure why there 
has to be a *new* UI. Our preference would be that Eclipse/RCP gradually track 
the UI updates that take place in the different platforms, and introduce subtle 
UI elements where they add the most value.

We appreciate the hard work that goes into this UI work and we want the Eclipse 
team to keep innovating in this area. In this spirit, here are our votes for 
the specific UI elements.

 ----

+1 square view/editor tabs (as in 2.1)
-1 curvy view/editor tabs (as in 3.0 new look)
+1 native view/editor tabs (e.g. see the Java > Compiler pref page)

This is one of the simplest changes, but also the most jarring to average 
users. Having tabs track the look and feel of individual platforms would go a 
long way toward making users feel comfortable.

 ----

+1 always having a view titlebar (as in 2.1)
-1 never having a view titlebar (as in 3.0 new look)
-1 only having a view titlebar (and no tab) when standalone (i.e. not in a 
folder with other views)

+1 close button on view titlebar (as in 2.1)
-1 close button on view tabs (as in 3.0 new look)

0 view toolbars embedded in view titlebar, or moving to its own row if needed 
(as in 2.1)
+1 view toolbars always on own row (as in 3.0 > M7)
-1 view toolbars dynamically hanging off the right edge (as in 3.0 M7 new look) 
[Note that this feature has since been removed, but you can cast your vote if 
you liked them.]

+1 double-click to maximize view/editor (as in 2.1)
0 button for collapsing views (as in 3.0 new look)
0 button for maximizing views/editors (as in 3.0 new look)

View handling is one of the Eclipse/RCP UI innovations that really add value. 
The gradiated titlebar, with sort/filter functinality added, was a graceful way 
to combine native and non-native functionalities. No space is gained or lost by 
moving the tabs to the top and moving sort/filter to a separate toolbar, but 
the overall look is complicated. Max/Min functionality could be handled in 
other ways (drop-down at top left, etc.).

 ----

0 fast views only on left (as in 2.1)
0 fast views on any edge (as in 3.0 new look)
+1 perspective shortcuts at left (as in 2.1)
-1 perspective shortcuts in toolbar area (as in 3.0 new look)
-1 curvy separator between toolbars and perspective shortcuts (as in 3.0 new 
look)

The curvy separator should go along with the curved tabs. Dockable fast views 
are nice, but perspectives should either be dockable as well or at the left. 
The upper left corner of the UI is an application's center of gravity. The 
primary navigation elements should be placed there (at least initially).

 ----

+1 editor management using only tabs (as in 2.1)
-1 editor management using single drop-down (as in 3.0 new look default)
+1 editor management using 3.0 tabs ("Show multiple editor tabs" on Editors 
pref 
page in 3.0 new look)
0 no editor management (your app might not need editors)

Tabbed editors are much more standard than the single drop-down. This could be 
an option to be turned on by users who like it, but should definitely not be 
the default.

 ----

0 shadow border around views (as in 2.1)
0 no shadow borders around views (as in 3.0 new look)
0 border lines between menubar, toolbar, main workbench area, and status line 
(as in 2.1)
0 fewer border lines (as in 3.0 new look)

This is an area where we would like to see Eclipse/RCP simply track the most-
current platform UIs. 

 ----

Thanks for listening.
Comment 8 Horst Naujoks CLA 2004-02-25 09:01:59 EST
I'm currently working on a client framework based on the RCP, whereas the 
framework will be a part of a large commercial J2EE application. Business 
domain of this app is insurance/health care with an architecture somewhere in 
the middle between data-centric and workflow-oriented. For sure we will NOT use 
anything from the resource/project/etc stuff. So we are mainly interested in 
the high-level UI features (i.e. views, editors and perspective handling) and 
the plug-in model.
The commitment of our management for the use of the RCP based on the OLD L&F 
and I'm sure I'll get into serious troubles when I must explain the switch to 
the new (and quiet different) L&F...
The new L&F is no problem for me as an eclipse developer, but it's definitively 
one for the development of RCP apps. 

Therefore I vote against the most of the new 3.0 features:


+1 (native l&f) - square view/editor tabs (as in 2.1)
-1 - curvy view/editor tabs (as in 3.0 new look)
0  (tabs should almost "look" native) - native view/editor tabs (e.g. see the 
Java > Compiler pref page)
+1 - always having a view titlebar (as in 2.1)
-1 - never having a view titlebar (as in 3.0 new look)
0 - only having a view titlebar (and no tab) when standalone (i.e. not in a 
folder with other views)
+1 - close button on view titlebar (as in 2.1)
-1 - close button on view tabs (as in 3.0 new look)
+1 - view toolbars embedded in view titlebar, or moving to its own row if 
needed (as in 2.1)
-1 - view toolbars always on own row (as in 3.0 > M7)
-1 - view toolbars dynamically hanging off the right edge (as in 3.0 M7 new 
look)
+1 - double-click to maximize view/editor (as in 2.1)
+1 - button for collapsing views (as in 3.0 new look)
+1 - button for maximizing views/editors (as in 3.0 new look)
0 - fast views only on left (as in 2.1)
+1 - fast views on any edge (as in 3.0 new look)
+1 - perspective shortcuts at left (as in 2.1)
-1 - perspective shortcuts in toolbar area (as in 3.0 new look)
-1 - curvy separator between toolbars and perspective shortcuts (as in 3.0 new 
look)
+1 - editor management using only tabs (as in 2.1)
-1 - editor management using single drop-down (as in 3.0 new look default)
0 - editor management using 3.0 tabs ("Show multiple editor tabs" on Editors 
prefpage in 3.0 new look)
0 - no editor management (your app might not need editors)
+1 (too flat look without shadows) - shadow border around views (as in 2.1)
-1 - no shadow borders around views (as in 3.0 new look)
+1 (border (separator) lines provides a better structured layout ) - border 
lines between menubar, toolbar, main workbench area, and status line (as in 2.1)
-1 - fewer border lines (as in 3.0 new look)
Comment 9 paul moore CLA 2004-02-25 20:45:28 EST
The real point is that I should be able to subclass a lot of these things 
myself. So I should be able to supply a MyViewPane that the workbench uses 
instead of ViewPane, of a MyShortCutBar to replace the standard shortcut bar.
I know this is a non-trivial change but it is the right thing to do.

For now


+1 square view/editor tabs (as in 2.1)
-1 curvy view/editor tabs (as in 3.0 new look)
+1 native view/editor tabs (e.g. see the Java > Compiler pref page)
+1 always having a view titlebar (as in 2.1)
-1never having a view titlebar (as in 3.0 new look)
-1 only having a view titlebar (and no tab) when standalone (i.e. not in a 
folder with other views)
+1 close button on view titlebar (as in 2.1)
-1 close button on view tabs (as in 3.0 new look)
+1 view toolbars embedded in view titlebar, or moving to its own row if needed 
(as in 2.1)
-1 view toolbars always on own row (as in 3.0 > M7)
-1 view toolbars dynamically hanging off the right edge (as in 3.0 M7 new look) 
[Note that this feature has since been removed, but you can cast your vote if 
you liked them.]
+1 double-click to maximize view/editor (as in 2.1)
-0 button for collapsing views (as in 3.0 new look)
-0 button for maximizing views/editors (as in 3.0 new look)
-1 fast views only on left (as in 2.1)
+1 fast views on any edge (as in 3.0 new look)
-1 perspective shortcuts at left (as in 2.1)
+1 perspective shortcuts in toolbar area (as in 3.0 new look)
(prefer more contorl over them)
-1 curvy separator between toolbars and perspective shortcuts (as in 3.0 new 
look)
+1 But make it better if poss (scollable tab area?)editor management using only 
tabs (as in 2.1)
-1 editor management using single drop-down (as in 3.0 new look default)
-1 editor management using 3.0 tabs ("Show multiple editor tabs" on Editors 
pref 
page in 3.0 new look)
- no editor management (your app might not need editors) - need em
+0.5 shadow border around views (as in 2.1)
-0.5 no shadow borders around views (as in 3.0 new look)
-0.5 border lines between menubar, toolbar, main workbench area, and status 
line 
(as in 2.1)
+0.5 fewer border lines (as in 3.0 new look)

Comment 10 Alvin Thompson CLA 2004-02-26 16:23:33 EST
+1 (native l&f) - square view/editor tabs (as in 2.1)
-1 - curvy view/editor tabs (as in 3.0 new look)
0  (tabs should almost "look" native) - native view/editor tabs (e.g. see the 
Java > Compiler pref page)
+1 - always having a view titlebar (as in 2.1)
-1 - never having a view titlebar (as in 3.0 new look)
0 - only having a view titlebar (and no tab) when standalone (i.e. not in a 
folder with other views)
+1 - close button on view titlebar (as in 2.1)
-1 - close button on view tabs (as in 3.0 new look)
+1 - view toolbars embedded in view titlebar, or moving to its own row if 
needed (as in 2.1)
-1 - view toolbars always on own row (as in 3.0 > M7)
-1 - view toolbars dynamically hanging off the right edge (as in 3.0 M7 new 
look)
+1 - double-click to maximize view/editor (as in 2.1)
+1 - button for collapsing views (as in 3.0 new look)
+1 - button for maximizing views/editors (as in 3.0 new look)
-1 - fast views only on left (as in 2.1)
+1 - fast views on any edge (as in 3.0 new look)
+1 - perspective shortcuts at left (as in 2.1)
0 - perspective shortcuts in toolbar area (as in 3.0 new look)
-1 - curvy separator between toolbars and perspective shortcuts (as in 3.0 new 
look)
+1 - editor management using only tabs (as in 2.1)
-1 - editor management using single drop-down (as in 3.0 new look default)
0 - editor management using 3.0 tabs ("Show multiple editor tabs" on Editors 
prefpage in 3.0 new look)
0 - no editor management (your app might not need editors)
+1 (too flat look without shadows) - shadow border around views (as in 2.1)
-1 - no shadow borders around views (as in 3.0 new look)
+1 (border (separator) lines provides a better structured layout ) - border 
lines between menubar, toolbar, main workbench area, and status line (as in 2.1)
-1 - fewer border lines (as in 3.0 new look)

Comment 11 Nick Edgar CLA 2004-02-26 16:58:22 EST
Here is an update on our position regarding the impact of new look on the RCP 
effort in 3.0.  We recognize that this is a serious issue for RCP apps and that 
the new look, as it is now, is a non-starter for many RCP apps.  We are 
actively working on making the default look for RCP apps closer to the old look 
(more native) than the new look in the IDE.  This is challenging since the new 
look work was originally done as a replacement of the old implementation, and 
retro-fitting it back is non-trivial.  We plan to have an interim solution in 
place for M8, so please bear with us.

Your feedback here is very helpful, so thank you for taking the time to express 
your thoughts.  In particular, I find comment #7 to be an accurate and 
articulate summary of what people building RCP apps require, based on feedback 
we've received here, at EclipseCon and elsewhere.
Comment 12 Ed Burnette CLA 2004-02-26 17:12:06 EST
"And there was much rejoicing". :)
Seriously, thanks for listening, and keep up the great work.
Comment 13 Andrew Freeman CLA 2004-02-26 23:53:56 EST
Personally, I like a lot of what I am seeing in the new Eclipse look and 
feel.  :)  However, I have to say that I am disappointed that nothing has been 
done with the Eclipse Preferences dialog.  It would be nice if Eclipse would 
borrow some ideas from Microsoft's IE6 Internet Options.

- Frames have subtle curved corners
- Frames have blue captions
- Lots and lots of frames to group related concepts
- Icons
- Gradient buttons
- Curved button corners (on XP)
- Subtle background gradient on the tab
- Occasional bold text
- Ok/Cancel Buttons on different color of gray
- Active tab has a yellow highlight
Comment 14 Ed Burnette CLA 2004-02-27 00:18:06 EST
The button corners and other visual elements should already be picked up from 
the XP theme if you're using the javaw.exe.manifest file.
Comment 15 Gunnar Wagenknecht CLA 2004-02-27 00:21:34 EST
Thanks Nick für your response. It's good to know that you have recognized the 
impact for RCP clients. Does this mean that we will have a more native look for 
RCP apps and a different look for the IDE?
Comment 16 Andrew Freeman CLA 2004-02-27 02:23:38 EST
Oh...  I did not know about the javaw.exe.manifest file.  

Wow... The only thing that this file doesn't seem to natively offer is the 
gradient background that extends from the tab.
Comment 17 Nick Edgar CLA 2004-02-27 10:08:16 EST
Re comment #15, we view the visual elements of the new look in the IDE as being 
specific to the IDE stack.  As far as the RCP effort is concerned, we want the 
default look to be close to native (perhaps not identical to Eclipse 2.1, but 
close), and we want to give the app flexibility for branding elements, as well 
as overall workbench window layout (the RCP APIs as of M7 do not give you much 
control here).  What remains to be seen is how open we can make this.  We're 
pursuing both avenues of (1) having various visual attributes settable via a 
theme and (2) allowing the app to provide a completely different implementation 
for how views and editors are presented (in addition to the overall window 
layout).
Comment 18 Alvin Thompson CLA 2004-02-27 10:58:19 EST
re: comment 17:

so, what you're saying is that you have no intention of changing the look back
for the IDE?
Comment 19 Michael Van Meekeren CLA 2004-02-27 11:30:17 EST
I think Nick is saying is: 

1) RCP and the IDE are being considered separately in some places
2) What will happen with the IDE is not necessarily related to what happens in 
RCP
Comment 20 Alvin Thompson CLA 2004-02-27 11:58:55 EST
re: comment 19:

well, since you seem to be responsible for the new look and you seem to like
answering for others, perhaps you can answer the question. do you intend to
change the IDE L&F back?
Comment 21 Nick Edgar CLA 2004-02-27 13:28:36 EST
Michael's comments are accurate.  I don't want this PR, which is about RCP 
requirements, to degenerate into a discussion about the new look in the IDE.  
There are other active PRs for that.
Comment 22 Alvin Thompson CLA 2004-02-27 13:43:55 EST
re: comment 21:

it doesn't look good when you guys have to 'tag team' to avoid giving an answer...

it was good of you to to release statements on this bug addressing the concerns
of those who have commented on this bug and in the newsgroups, describing what
you you intend to do to address those concerns. perhaps you can convince michael
to do the same? while you guys are the major contributers and you have done a
very good job overall, others have contributed or otherwise invested a lot in
eclipse, and deserve to have input or at least be clearly informed as to what
direction eclipse is going.
Comment 23 John Wiegand CLA 2004-02-27 18:58:25 EST
You all have been providing a lot of valuable input on the look and feel effort 
(and its impact to the rich client platform).  Your comments have influenced 
our work so far, but we know there is more to do.  We are going to spend the 
next week consolidating the feedback and adjusting our plan accordingly.  We 
will have the updated plan by next Friday (Mar 5). Thanks for your patience and 
your investment in helping us make Eclipse as good as it possibly can be.  I 
know we will end up in the right place.

There has been a lot of discussion about this in many bug reports so I am 
pasting these comments several places.  Sorry for the duplication, but I wanted 
to ensure maximum visibility.
Comment 24 Steve Polyak CLA 2004-02-28 23:43:46 EST
i am heading up a project using eclipse's rich client platform. we like the 
the current look and feel (M7) and don't want to be forced into using the new 
look and feel when we upgrade to M8. please give us an option. 

Steve Polyak
stephen.polyak@pearson.com
Comment 25 David Mechner CLA 2004-03-21 12:12:52 EST
We are about to start a project to reimplement our product's GUI using the RCP
(anyway this is currently the plan) and I am worried about the new look and
feel. I fervently hope that this non-native L&F will not be forced on us... this
would create a difficult (and, it seems to me, unnecessary) conflict for us
between technology and appearance. The new L&F seems contrary to the SWT
philosophy of letting java apps look like other native apps.

I see that some of this is already configurable in the latest integration build
(3/18) but just in case...

+1 square view/editor tabs (as in 2.1)
-1 curvy view/editor tabs (as in 3.0 new look)
+1 native view/editor tabs (e.g. see the Java > Compiler pref page)
+1 view toolbars embedded in view titlebar, or moving to its own row if needed 
(as in 2.1)
+1 double-click to maximize view/editor (as in 2.1)
+1 perspective shortcuts at left (as in 2.1)
-1 curvy separator between toolbars and perspective shortcuts (as in 3.0 new 
look)
+1 shadow border around views (as in 2.1)
-1 no shadow borders around views (as in 3.0 new look)

And: 
-1 Having no identifying icon at left of view toolbar when tabs are at bottom
-1 Light blue color of active tabs and (especially) the 1 pixel border
surrounding the active view.
Comment 26 James Willans CLA 2004-03-30 07:58:06 EST
We have run our RCP applications for the first time under the new workbench look
and feel (using M8) - and frankly it looks awful compared to M7.  Please allow
RCP apps to look and behave in the same way as they did under M7.  What is the
status of this work?
Comment 27 Andrew Eidsness CLA 2004-03-30 16:16:05 EST
The new presentation manager allows most aspects of the look to be changed.  For 
example, using the org.eclipse.ui.examples.rcp.browser as a base, it is possible 
to give the PartTabFolder a more native look (e.g., remove the blue outline) by 
adding the following to BrowserAdvisor.

    static class BrowserPresentationFactory extends WorkbenchPresentationFactory 
{
        public StackPresentation createPresentation(Composite parent,
                IStackPresentationSite site, int role, int flags,
                String perspectiveId, String folderId) {
		if( role == ROLE_DOCKED_VIEW )
			return new NativeStackPresentation(parent, site, flags);
		return super.createPresentation(parent,site, role, flags, perspectiveId, 
folderId);
        }
    }

    public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
        configurer.setPresentationFactory(new BrowserPresentationFactory());
        // ...
    }

The use of the internal class NativeStackPresentation is just to make this 
sample shorter, it needs to be replaced with your own implemenation of org.
eclipse.ui.presentations.StackPresentation.
Comment 28 Nick Edgar CLA 2004-03-31 12:27:28 EST
James, it would help to know the specific areas of concern for you.  Could you
talk a little bit about your app and target audience, and fill out the informal
survey above?  Please add extra comments if there are aspects of the M8 look
that are not covered by the survey.

It would also be helpful to hear from those who have already responded above as
to how they feel about the L&F in M8, since there have been numerous
improvements and some toning down of the "new look" compared to the patch in M7.
Please indicate which items are most important for you.

For M8, we were able to do several things to address the concerns here. 

1. Added support for square tabs, which RCP apps get by default.  This is
equivalent to the "Show traditional style tabs" setting on the Workbench >
Appearance preference page in the IDE.  This addresses the vote for "+1 square
view/editor tabs (as in 2.1)" / "-1 - curvy view/editor tabs (as in 3.0 new look)".

2. RCP apps now have control over the overall window layout (but are not
required to customize it).  See WorkbenchAdvisor.createWindowContents(...).  We
want the default layout to be reasonable for the majority of RCP apps.  There is
still more work to be done here in M9 to address the following known limitations:
- The default layout still gets the banner curve between the toolbars and the
perspective bar.  This is an IDE branding element which should not appear in the
default layout for RCP apps.
- The default placement of the perspective bar at top right is not ideal.  For
one possibility, check the "Dock perspective bar under main toolbar" option on
the Appearance pref page in the IDE (you'll need to resize the window after
changing this to work around a layout bug).
- There is currently no API for adding the fast view bar or the perspective bar
to a custom layout.

3. Advanced RCP apps can replace the L&F for views and editors if the default is
not acceptable using the "presentation factory" mechanism.  This was illustrated
by Andrew's example in the previous comment.  We do not expect all RCP apps to
have to do this.  While we want to give the app control over this if needed, we
do not want to promote a plethora of different L&Fs.  It's also a non-trivial
thing to get right.  We want the default to be reasonable for the majority of
RCP apps.  Also note that the NativeStackPresentation used in Andrew's example
is just an internal proof of concept at the moment (see bug 54857 for more details).


We are now in the planning phase for M9.  There is more work to be done here,
but the end result will not be identical to M7.  It would be helpful to know how
people feel about the default L&F in M8, and which items are most important.

To quote Patrick Paulin from above: 
"The problem with the new look and feel is that it crosses a subtle line
defining the comfort zone of average users (not Java developers). The only way
to find this line is through usability testing, but the line has definitely been 
crossed."

Please let us know where you think we are in M8 with respect to this line.
Comment 29 David J. Orme CLA 2004-03-31 12:46:15 EST
>>Please let us know where you think we are in M8 with respect to this line.<<

I'll talk about the two platforms I use regularly:

Win2k:

The colors don't work on Win2k, using the default color set.  The view title
bars wind up with black text on a navy gradient, which is nearly impossible to
read.  Also, the juxtaposed vertical and horizontal gradients in the views
across the top of the Java Browsing perspective leave me feeling dizzy.


Linux/GTK (With Keramik/Geramik theme and KDE as the windowing environment):

This overall looks nice.  The gradients here are subtle enough that they work
fine and the color choices all seem reasonable.  Actually, in this case, the
gradients seem to make Eclipse fit in with the Keramik theme even better than
2.x did.

The only issue I've noticed so far in Linux/GTK is the following:  The default
toolbar in the Keramik/Germaik theme uses a gradient background to make it look
curved.  However, the curvy separator for the perspective switcher is drawn on a
"flat" (non-gradient) background, which makes it look really out of place in the
context of this particular theme.  Since that theme is the default KDE theme,
this will be seen by a lot of folks who use Eclipse on Linux/KDE.

It would be nice if that seperator widget could pick up any gradient that is
used by the platform's theme on toolbars and use it in the separator's
background as well.  Then the separator would look native even if it wasn't.


Regarding your question about the placement of the perspective switcher, I
prefer all the way to the right on the tool bar over using more vertical space
for it.  Vertical space is normally more precious than horizontal space, so
given a choice, I would prefer the perspective switcher either where it is by
default in M8 or where it was in 2.x.
Comment 30 Nick Edgar CLA 2004-04-08 17:27:10 EDT
David, what system colour/theme settings are you using on Win2K?  I run it on my
laptop with the defaults and it looks OK (light blue background for tabs, with
black text).
Comment 31 David J. Orme CLA 2004-04-08 17:40:12 EDT
"Windows Default" is the theme.
Comment 32 David J. Orme CLA 2004-04-08 17:49:32 EDT
BTW, I posted screen shots showing the problems in bug 52780 (that was before
the request for feedback came here).
Comment 33 David J. Orme CLA 2004-04-08 17:54:50 EDT
One last request that I think I might have made elsewhere (but I can't find it
right now, so I apologize in advance if it's repeated):

I really like the new collapsable views.  The one thing I miss is that with the
old fast views, when you click on a non-fast-view, the fast view automatically
hides itself.  I'd like a closed-lock option for the new collapsable views that
provides this behavior.  ie: when it's enabled, giving the collapsed view
automatically expands it, but giving any other view the focuse collapses it again.

Maybe this could be implemented via a separate toggle on the view.  Maybe this
could be done using the existing button by giving it 3 states: open, closed,
closed/locked.
Comment 34 Nick Edgar CLA 2004-04-09 12:42:31 EDT
I've filed bug 58021 for the problem with tabs being illegible if the system
titlebar colours are dark.
Comment 35 James Willans CLA 2004-05-25 05:40:24 EDT
Is it the case that RCP apps are able to use the new R21 presentation.  If so -
how?  Can this be done programmatically?
Comment 36 Andrew Eidsness CLA 2004-05-27 18:24:15 EDT
RE comment 35

The r21presentation is selected based on some preference settings, specifically 
the ones listed in org.eclipse.ui.internal.r21presentation/r21presentation.ini.  
The current set (very unlikely to change) is:

org.eclipse.ui/presentationFactoryId
    to "org.eclipse.ui.internal.r21presentationFactory"

org.eclipse.ui.workbench/VIEW_TAB_POSITION
    to SWT.BOTTOM

org.eclipse.ui/DOCK_PERSPECTIVE_BAR
    to "left"

org.eclipse.ui/initialFastViewBarLocation
    to "left"

There are several ways to set preference values, See:

http://dev.eclipse.org/viewcvs/index.
cgi/~checkout~/platform-core-home/documents/user_settings/plugin_customization.
html

See also bug 59850 comment 30 and 31.
Comment 37 James Willans CLA 2004-05-28 16:03:44 EDT
Re comment 36:

Andrew - many thanks for your response on this issue.  I must admit that I'm
still finding this tough going, it feels much more difficult than it should do.
 In my context only option 4 works out of the four options listed in the
document you reference.  Even then, it doesn't work well because I must give an
absolute path to the .ini file.  Option 1 in the first case doesn't make sense
to me - what am I suppose to do in initializeDefaultPreferences() (the
documentation really needs bolstering here) and in the second case I can't do
because I'm not using rumtime compatibility.  Option 2 doesn't seem possible in
a self hosting environment.  

It seems that option 3 would be the most appropriate for my application, but it
is not at all clear from any of the documentation how to go about this.  My
product is defined programatically and I can't see any reference to the
org.eclipse.core.runtime.preferences.customization property.  For example, this
is never requested by my getProperty method in my implementation of IProduct.
Comment 38 Andrew Eidsness CLA 2004-05-28 16:36:15 EDT
In comment 36 I forgot to mention the following preference:

org.eclipse.ui/SHOW_TEXT_ON_PERSPECTIVE_BAR
    to false

I'm working on a sample to set the preferences programatically.  I'll update the 
readme and post a note here when its ready.
Comment 39 Andrew Eidsness CLA 2004-06-25 15:53:20 EDT
Created attachment 12841 [details]
doc patch

This patch for the docs in platform-ui-home adds an example of how to set the
R21 presentation on an RCP application.  The patch adds a question to the FAQ
and and an example (pointed to by the FAA) in the main page (between the
Browser and Text editor examples).

Also, I noticed that the faq was inconsistent in terms of putting a blank line
before each answer.  For consistency I changed the file so that all answers are
preceeded with a blank line.
Comment 40 Nick Edgar CLA 2004-06-25 16:06:08 EDT
The patch has duplicates points 2 and 3:
2. Build and deploy the org.eclipse.ui.presentations.r21 plugin. 
3. Build and deploy the org.eclipse.ui.presentations.r21 plugin. 

point 6 also says:
remember to edit the osgi.bundles property (in
./eclipse/configuration/config.ini) to include the two new plugins. 

but there should only be one new plugin.
Comment 41 Andrew Eidsness CLA 2004-06-25 16:22:39 EDT
Opps -- originally I had included instructions on deploying the RCP browser as 
well.  I thought I removed all those references after I added the link to the 
browser example.  One of point 2/3 can be removed.

I'm not sure what to do about point 6. It but also might be a bit distracting, 
perhaps it should be removed altogether?  Considering that the reader would have 
to follow the same steps to deploy the rcp browser plugin, perhaps the extra 
points aren't needed.
Comment 42 Nick Edgar CLA 2004-06-28 13:10:12 EDT
I've released the patch with 3 changes:
- removed the duplicate point
- in the last point, changed "the two new plugins" to "the new plugin"
- added some screen shots for the default look and the R2.1 look

Closing this bug as the work on the presentations mechanism and the R2.1
presentation satisfies the original requirement and the needs of most of the
responses above.

Other presentations can be written by ISVs if the default presentation and the
R2.1 presentation do not meet their needs (I'd love to hear of any other
interesting ones being developed).