Bug 82736 - [Palette] palette animation disable property
Summary: [Palette] palette animation disable property
Status: NEW
Alias: None
Product: GEF
Classification: Tools
Component: GEF-Legacy GEF (MVC) (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows 2000
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Anthony Hunter CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-13 04:19 EST by Noel Grandin CLA
Modified: 2013-10-17 09:44 EDT (History)
4 users (show)

See Also:
ahunter.eclipse: helios+


Attachments
Proposed patch (2.99 KB, patch)
2005-04-20 04:10 EDT, Noel Grandin CLA
no flags Details | Diff
Proposed patch (2.59 KB, patch)
2007-01-16 10:19 EST, Jakub Jurkiewicz CLA
no flags Details | Diff
First attempt - animations disabled. (5.23 KB, image/png)
2010-03-24 13:17 EDT, James Bruck CLA
no flags Details
First attempt - animations enabled. (4.79 KB, image/png)
2010-03-24 13:17 EDT, James Bruck CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Noel Grandin CLA 2005-01-13 04:19:25 EST
Version 1.0.2

Please could we have a preference flag for the animation when different headings
in the palette toolbar are selected (the "exploding" effect).

I find it distracting.

If the palette is a common UI control, perhaps this should be a global setting.

For bonus points, make it default to choosing the same on/off state as the
visual effects settings.
To find it under MS-Windows, right-click the desktop, select the effects tab,
and unclick "use transition effects for menus and tooltips".
Comment 1 Gili Mendel CLA 2005-01-13 08:55:07 EST
Not sure that I fully understan the issue, Randy, do you?
Comment 2 Noel Grandin CLA 2005-01-13 10:21:41 EST
Sorry, additional explanation:

The palette toolbar thingy displays the various GUI components/containers that
can be dropped into the visual editor. When a heading is clicked (e.g. "Swing
Containers") there is an effect where the current set of components is removed
and the new set displays. This "appears" to be using some kind of animation
effect i.e. the new components "slide" into view.

Perhaps I am mistaken and there is no animation present, and it is simply that
there is a redraw happening between the addition/removal of each UI element in
the palette?

In which case, the redraw should simply be delayed until the completion of the
UI state change.

Further information: 
- the palette is set to use "details" layout.
- this is a fast PC (3GHz P4, 512M RAM)

Comment 3 Randy Hudson CLA 2005-01-13 10:37:11 EST
Yes, there is an animation in the GEF palette. We do this not only because it 
is cool, but because we allow multiple drawers to be open instead of just one.  
In one mode we will select the least recently opened drawer and close it if 
doing so avoid scrollbars inside the drawer being opened.  If the transition 
were not animated, it would be very disorienting to see multiple drawer heading 
just jump.

There are similar animations in Visual Studio, and in Explorer's "common tasks" 
sidebar which is selection-sensitive.
Comment 4 Noel Grandin CLA 2005-01-13 10:56:00 EST
Fair enough, but "power users" like myself prefer raw speed to animation effects
   - my general rule for any application action is "If I can see it happening,
it is too slow".
Which is why all of the animations on my dev machine are always turned off.

I accept that I'm in the minority, so if you mark this bug as "later", I may
just get around to fixing it myself :-)
If that is the case, please intend the preferred location for the preference
setting so I don't waste too much time i.e. one of {"use a system property",
"workspace", "visual editor", "some_other_place"}.

Thanks.
Comment 5 Randy Hudson CLA 2005-01-13 11:55:18 EST
If you wanted to patch it yourself, you could just change the animation time in 
milliseconds, or completely avoid it.  See DrawerAnimationController in the GEF 
plug-in.
Comment 6 Pratik Shah CLA 2005-01-13 15:05:27 EST
You can change the palette settings to never automatically close drawers 
(right-click on the palette, and select Settings to bring up the settings 
dialog).  The drawers will still animate when expanding/collapsing, but 
perhaps it will remove the "exploding effect" that you notice on your computer 
and won't find it as distracting.
Comment 7 Randy Hudson CLA 2005-03-21 17:02:37 EST
not for 3.1
Comment 8 Noel Grandin CLA 2005-04-06 05:24:58 EDT
In 3.1M5 I see there is a 
Preferences->General->Appearance->Enable Animations
switch, which is what I would expect to disable this kind of animation.
Comment 9 Randy Hudson CLA 2005-04-06 11:03:43 EDT
That's great, I didn't know about this workbench setting.
Would you like to provide a patch?
Comment 10 Noel Grandin CLA 2005-04-07 02:34:19 EDT
Will see what I can do, might take a couple of weeks.
Comment 11 Noel Grandin CLA 2005-04-20 04:10:30 EDT
Created attachment 20107 [details]
Proposed patch

Note that I also make some methods private, since they were not being
referenced externally.
Comment 12 Pratik Shah CLA 2005-08-11 13:13:14 EDT
reopen for 3.2
Comment 13 Jakub Jurkiewicz CLA 2007-01-11 09:54:35 EST
I think I could try to provide a patch for this. 
To be shure that I understand everything well: If the option Preferences->General->Appearance->Enable Animations is unselected then the animation in the palette should be disabled, yes?. Did the patch for Eclipse 3.1 work?
Comment 14 Noel Grandin CLA 2007-01-11 09:57:49 EST
It worked when I submitted it :-)
Comment 15 Jakub Jurkiewicz CLA 2007-01-11 10:02:07 EST
Then I will try to find out why it isn't working any more.
Comment 16 Randy Hudson CLA 2007-01-11 10:25:20 EST
In 3.2, animation was added as a new function to draw2d.  The GEF palette was refactored to use the new draw2d's animation.

So, you should probably submit a patch that disabled all draw2d animations based on the workbench setting. Note that draw2d does not pre-req the workbench, so the GEF plugin would have to push the workbench preference into draw2d.
Comment 17 Jakub Jurkiewicz CLA 2007-01-16 07:32:49 EST
You mean that in GEF plugin I have to get the preferences about the animation from the workbench and push it to draw2d, yes? But could you gie me a hint where would be the best place to do this?


Comment 18 Jakub Jurkiewicz CLA 2007-01-16 10:19:28 EST
Created attachment 56961 [details]
Proposed patch

I've managed to do the patch that solves the problem. Please verify this.
Comment 19 Anthony Hunter CLA 2010-02-10 17:09:44 EST
It is somewhat ironic that James and myself were discussing this issue an hour ago.

GEF is supposed to make use of a preference to disable animation.
Comment 20 Anthony Hunter CLA 2010-03-12 14:34:27 EST
The patch is using IWorkbenchPreferenceConstants.ENABLE_ANIMATIONS

I do not think James was doing this in GMF.

We need to reconcile this issue so we are all using the same preference (I think).

I am moving this to M7, I do not think James will have a chance to look into this issue next week, likely for M7.
Comment 21 James Bruck CLA 2010-03-24 13:17:00 EDT
Created attachment 162883 [details]
First attempt - animations disabled.
Comment 22 James Bruck CLA 2010-03-24 13:17:42 EDT
Created attachment 162884 [details]
First attempt - animations enabled.
Comment 23 James Bruck CLA 2010-03-24 13:19:20 EDT
I attached two screenshots of what Anthony and I were initially thinking of doing.   However, it seems that there really would not be any need to introduce a new variable but rather, use IWorkbenchPreferenceConstants.ENABLE_ANIMATIONS instead.
Comment 24 Anthony Hunter CLA 2010-05-03 13:10:16 EDT
We released 3.6 M7 today so moving unresolved bugs to 3.6 RC1.

We need to re-access if we can complete these for Helios.
Comment 25 Anthony Hunter CLA 2010-05-17 15:18:55 EDT
James was going to make a contribution here, but it never happened. Moving off the RC1 target milestone.
Comment 26 James Bruck CLA 2010-05-17 20:52:37 EDT
(In reply to comment #25)
> James was going to make a contribution here, but it never happened. Moving off
> the RC1 target milestone.

The final decision was to simply reuse the existing flag - which is what is being used currently.  There is therefore no contribution to be made by me.
Comment 27 Alexander Nyßen CLA 2013-10-17 09:44:28 EDT
Unset target milestone as the specified one is already passed.