Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Vogel2020-06-09 07:50:44 +0000
committerLars Vogel2020-06-10 05:51:21 +0000
commit8f6777982ef656266152f655aced0a3c9d747b40 (patch)
tree8500b4c0bc64f98d025151587e89ba385fe8cc7a
parent9795b919aa010346de944d816fabdab76dbf313a (diff)
downloadeclipse.platform.ui-8f6777982ef656266152f655aced0a3c9d747b40.tar.gz
eclipse.platform.ui-8f6777982ef656266152f655aced0a3c9d747b40.tar.xz
eclipse.platform.ui-8f6777982ef656266152f655aced0a3c9d747b40.zip
Revert "Revert "Bug 563471 - Removes animations from UI""
This reverts commit 26b77c47da73b873a9534701b909cbeef238c599. Fix in eclipse.platform.ua has been committed. Change-Id: I1ee89c62a826162adab0845c43f6b7f2020855ee
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java3
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimatedTabFeedback.java58
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimationEngine.java219
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimationFeedbackBase.java105
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FaderAnimationFeedback.java72
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ImageCycleFeedbackBase.java160
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LegacyAnimationFeedback.java109
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationFeedbackBase.java113
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationImageFeedback.java175
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java56
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorFocusJobDialog.java3
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/IStatusDialogConstants.java7
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/InternalDialog.java8
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/WorkbenchStatusDialogManagerImpl.java1
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/Animations.java47
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/ImageAnimationTweak.java37
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/LegacyAnimations.java37
-rw-r--r--tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchAdvisorTest.java15
-rw-r--r--tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/AnimationEngineTest.java127
-rw-r--r--tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/InternalTestSuite.java1
-rw-r--r--tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/statushandlers/StatusDialogManagerTest.java1
-rw-r--r--tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/statushandlers/WorkbenchStatusDialogManagerImplTest.java1
22 files changed, 3 insertions, 1352 deletions
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java
index 702d43193f0..8cf10ae22ae 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java
@@ -372,7 +372,10 @@ public interface IWorkbenchPreferenceConstants {
* </p>
*
* @since 3.1
+ *
+ * @deprecated not supported by the platform anymore
*/
+ @Deprecated
String ENABLE_ANIMATIONS = "ENABLE_ANIMATIONS"; //$NON-NLS-1$
/**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimatedTabFeedback.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimatedTabFeedback.java
deleted file mode 100644
index 045a73826d7..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimatedTabFeedback.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-
-public class AnimatedTabFeedback extends ImageCycleFeedbackBase {
-
- private CTabItem tabItem;
-
- public AnimatedTabFeedback(Shell parentShell) {
- super(parentShell);
- }
-
- public AnimatedTabFeedback(Shell parentShell, CTabItem item, Image[] images) {
- super(parentShell, images);
- tabItem = item;
- }
-
- @Override
- public void initialize(AnimationEngine engine) {
- background = tabItem.getParent().getBackground();
- display = tabItem.getParent().getDisplay();
- }
-
- @Override
- public void saveStoppedImage() {
- stoppedImage = tabItem.getImage();
- }
-
- @Override
- public void setStoppedImage(Image image) {
- tabItem.setImage(image);
- }
-
- @Override
- public void showImage(Image image) {
- if (tabItem.isDisposed()) {
- return;
- }
- tabItem.setImage(image);
- }
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimationEngine.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimationEngine.java
deleted file mode 100644
index aefc6b269a3..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimationEngine.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.internal.tweaklets.Animations;
-import org.eclipse.ui.internal.tweaklets.Tweaklets;
-import org.eclipse.ui.internal.util.PrefUtil;
-
-/**
- * This job creates an Animation Engine that uses an Animation Feedback to
- * render the animation. To begin the animation, instantiate this object then
- * call schedule().
- *
- * @since 3.3
- *
- */
-public class AnimationEngine extends Job {
- public static final int TICK_TIMER = 1;
- public static final int FRAME_COUNT = 2;
- public static final int unlimitedDuration = -1;
-
- private boolean enableAnimations;
- private long startTime;
- private long curTime;
- private long prevTime;
- private int timingStyle = TICK_TIMER;
- private long frameCount;
- private boolean animationCanceled = false;
- private long sleepAmount;
-
- private Display display;
- private AnimationFeedbackBase feedbackRenderer;
- private int duration;
-
- public AnimationEngine(AnimationFeedbackBase animationFeedback, int durationIn) {
- this(animationFeedback, durationIn, 0);
- }
-
- /**
- * Creates an Animation that will run for the given number of milliseconds.
- *
- * @param animationFeedback provides renderStep(), initialize() and jobInit()
- * methods
- * @param durationIn number of milliseconds over which the animation will
- * run
- * @param sleepAmountIn number of milliseconds to slow/delay the animation
- */
- public AnimationEngine(AnimationFeedbackBase animationFeedback, int durationIn, long sleepAmountIn) {
- super(WorkbenchMessages.RectangleAnimation_Animating_Rectangle);
- sleepAmount = sleepAmountIn;
- feedbackRenderer = animationFeedback;
- duration = durationIn;
-
- // if animations aren't on this is a NO-OP
- IPreferenceStore preferenceStore = PrefUtil.getAPIPreferenceStore();
- enableAnimations = preferenceStore.getBoolean(IWorkbenchPreferenceConstants.ENABLE_ANIMATIONS);
- if (!enableAnimations) {
- return;
- }
-
- animationCanceled = false;
-
- // Capture parameters
- display = feedbackRenderer.getAnimationShell().getDisplay();
-
- animationFeedback.getAnimationShell().addDisposeListener(e -> cancelAnimation());
-
- // Don't show the job in monitors
- setSystem(true);
-
- // Set it up
- feedbackRenderer.initialize(this);
-
- // Set the animation's initial state
- curTime = startTime = System.currentTimeMillis();
-
- }
-
- /**
- * @return The current renderer
- */
- public AnimationFeedbackBase getFeedback() {
- return feedbackRenderer;
- }
-
- private Runnable animationStep = () -> {
- if (animationCanceled)
- return;
-
- // Capture time
- prevTime = curTime;
- curTime = System.currentTimeMillis();
-
- if (isUpdateStep()) {
- updateDisplay();
- frameCount++;
- }
- };
-
- protected void updateDisplay() {
- if (animationCanceled)
- return;
-
- feedbackRenderer.renderStep(this);
- }
-
- protected boolean isUpdateStep() {
- if (duration == unlimitedDuration || timingStyle == FRAME_COUNT) {
- return true;
- }
-
- // Default to 'TICK_TIMER', update when the system timer changes
- return prevTime != curTime;
- }
-
- private boolean done() {
- return animationCanceled || amount() >= 1.0;
- }
-
- public double amount() {
- if (duration == unlimitedDuration) {
- return 0;
- }
- double amount = 0.0;
- switch (timingStyle) {
- case TICK_TIMER:
- amount = (double) (curTime - startTime) / (double) duration;
- break;
-
- // For testing purposes
- case FRAME_COUNT:
- amount = (double) frameCount / (double) duration;
- }
-
- if (amount > 1.0)
- amount = 1.0;
-
- return amount;
- }
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- // We use preference value to indicate that the animation should be skipped on
- // this platform.
- if (!enableAnimations) {
- return Status.OK_STATUS;
- }
-
- // We're starting, initialize
- display.syncExec(() -> {
- // 'jobInit' returns 'false' if it doesn't want to run...
- if (!animationCanceled)
- animationCanceled = !feedbackRenderer.jobInit(AnimationEngine.this);
- });
-
- if (animationCanceled)
- return Status.CANCEL_STATUS;
-
- // Only start the animation timer -after- we've initialized
- curTime = startTime = System.currentTimeMillis();
-
- while (!done() && !animationCanceled) {
- display.syncExec(animationStep);
-
- // Don't pin the CPU
- try {
- Thread.sleep(sleepAmount);
- } catch (InterruptedException e) {
- }
- }
-
- if (animationCanceled)
- return Status.CANCEL_STATUS;
-
- // We're done, clean up
- display.syncExec(() -> feedbackRenderer.dispose());
-
- return Status.OK_STATUS;
- }
-
- public void cancelAnimation() {
- animationCanceled = true;
- feedbackRenderer.dispose();
- cancel();
- }
-
- public long getFrameCount() {
- return frameCount;
- }
-
- public static void createTweakedAnimation(Shell shell, int duration, Rectangle start, Rectangle end) {
- RectangleAnimationFeedbackBase feedback = ((Animations) Tweaklets.get(Animations.KEY)).createFeedback(shell);
- feedback.addStartRect(start);
- feedback.addEndRect(end);
-
- AnimationEngine animation = new AnimationEngine(feedback, 400);
- animation.schedule();
- }
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimationFeedbackBase.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimationFeedbackBase.java
deleted file mode 100644
index 22ac646cdc5..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AnimationFeedbackBase.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.internal;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * AnimationFeedBackBase is an abstract class which provides renderStep(),
- * jobInit() and initialize() methods for AnimationEngine. Its the base class
- * for all the animationFeedbacks
- *
- * @since 3.3
- *
- */
-public abstract class AnimationFeedbackBase {
- private AnimationEngine engine;
- private Shell baseShell;
- private Shell animationShell = null;
-
- /**
- * Creates an AnimationFeedback
- *
- * @param parentShell specifies the composite where the animation will be drawn
- */
- public AnimationFeedbackBase(Shell parentShell) {
- baseShell = parentShell;
-
- baseShell.addDisposeListener(e -> {
- if (engine != null)
- engine.cancelAnimation();
- });
- }
-
- /**
- * Perform any initialization you want to do -prior- to the Job actually gets
- * scheduled.
- *
- * @param animationEngine The engine we're hosted in.
- */
- public abstract void initialize(AnimationEngine animationEngine);
-
- /**
- * Its a draw method. All the code to render an animation goes in this method.
- *
- * @param engine
- */
- public abstract void renderStep(AnimationEngine engine);
-
- /**
- * Perform any initialization you want to have happen -before- the animation
- * starts. Subclasses may subclass but not override (i.e. you have to call
- * super).
- *
- * @param engine The AnimationEngine hosting the feedback
- * @return 'true' iff the animation is capable of running
- */
- public boolean jobInit(AnimationEngine engine) {
- this.engine = engine;
- return engine != null;
- }
-
- /**
- * Dispose any locally created resources
- */
- public void dispose() {
- if (animationShell != null && !animationShell.isDisposed())
- animationShell.dispose();
- }
-
- /**
- * @return The shell this animation is being rendered 'on'
- */
- public Shell getBaseShell() {
- return baseShell;
- }
-
- /**
- * @return A shell that can be used to render the animation on
- */
- public Shell getAnimationShell() {
- if (animationShell == null) {
- animationShell = new Shell(getBaseShell(), SWT.NO_TRIM | SWT.ON_TOP);
-
- animationShell.addDisposeListener(e -> {
- if (engine != null)
- engine.cancelAnimation();
- });
- }
-
- return animationShell;
- }
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FaderAnimationFeedback.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FaderAnimationFeedback.java
deleted file mode 100644
index 07130fd9780..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FaderAnimationFeedback.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal;
-
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Creates an animation effect where the Shell's image is captured and over-lain
- * (in its own shell) on top of the real one. This image masks the changes to
- * the 'real' shell and then the covering image fades to transparent, revealing
- * the new state.
- *
- * This provides a nice cross-fade effect for operations like a perspective
- * change (where the overall effect on the shell is large.
- *
- * @since 3.3
- *
- */
-public class FaderAnimationFeedback extends AnimationFeedbackBase {
- private Image backingStore;
-
- public FaderAnimationFeedback(Shell parentShell) {
- super(parentShell);
- }
-
- @Override
- public void dispose() {
- super.dispose();
-
- if (!backingStore.isDisposed())
- backingStore.dispose();
- }
-
- @Override
- public void initialize(AnimationEngine engine) {
- Rectangle psRect = getBaseShell().getBounds();
- getAnimationShell().setBounds(psRect);
-
- // Capture the background image
- Display display = getBaseShell().getDisplay();
- backingStore = new Image(display, psRect);
- GC gc = new GC(display);
- // gc.copyArea(backingStore, psRect.x, psRect.y);
- gc.copyArea(backingStore, psRect.x, psRect.y);
- gc.dispose();
-
- getAnimationShell().setAlpha(254);
- getAnimationShell().setBackgroundImage(backingStore);
- getAnimationShell().setVisible(true);
- }
-
- @Override
- public void renderStep(AnimationEngine engine) {
- getAnimationShell().setAlpha((int) (255 - (engine.amount() * 255)));
- }
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ImageCycleFeedbackBase.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ImageCycleFeedbackBase.java
deleted file mode 100644
index 76e8eaeddbf..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ImageCycleFeedbackBase.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2016 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Friederike Schertel <friederike@schertel.org> - Bug 478336
- ******************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.misc.StatusUtil;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Base class for Cyclic animations.
- *
- * @since 3.3
- *
- */
-public abstract class ImageCycleFeedbackBase extends AnimationFeedbackBase {
- protected Image[] images;
- protected Image stoppedImage;
- private Image offScreenImage;
- private GC offScreenImageGC;
- private int imageDataIndex;
- private Image image;
- private ImageData imageData;
- protected Display display;
- protected Color background;
-
- /**
- * @param parentShell
- */
- public ImageCycleFeedbackBase(Shell parentShell) {
- super(parentShell);
- // TODO Auto-generated constructor stub
- }
-
- /**
- *
- * @param parentShell
- * @param images : an array of images
- */
- public ImageCycleFeedbackBase(Shell parentShell, Image[] images) {
- super(parentShell);
- this.images = images;
- }
-
- /**
- * Set the image during progress without caching.
- *
- * @param image
- */
- public abstract void showImage(Image image);
-
- /**
- * Save initial Image which would be stoppedImage
- *
- */
- public abstract void saveStoppedImage();
-
- /**
- * Set the stopped Image upon animation completion
- *
- * @param image
- */
- public abstract void setStoppedImage(Image image);
-
- @Override
- public void dispose() {
- if (stoppedImage == null || stoppedImage.isDisposed())
- return;
- setStoppedImage(stoppedImage);
-
- if (offScreenImageGC != null && !offScreenImageGC.isDisposed())
- offScreenImageGC.dispose();
-
- if (offScreenImage != null && !offScreenImage.isDisposed())
- offScreenImage.dispose();
- }
-
- @Override
- public boolean jobInit(AnimationEngine engine) {
- return super.jobInit(engine);
- }
-
- @Override
- public void renderStep(AnimationEngine engine) {
- if (offScreenImage == null) {
- offScreenImage = getOffscreenImage();
- }
-
- try {
- imageDataIndex = (imageDataIndex + 1) % images.length;
- image = images[imageDataIndex];
- imageData = image.getImageData();
-
- offScreenImageGC.drawImage(image, 0, 0, imageData.width, imageData.height, imageData.x, imageData.y,
- imageData.width, imageData.height);
-
- final Image finalImage = image;
-
- display.syncExec(() -> showImage(finalImage));
-
- /*
- * Sleep for the specified delay time (adding commonly-used slow-down fudge
- * factors).
- */
- // try {
- // Thread.sleep(30);
- // } catch (InterruptedException e) {
- // }
- if (images == null)
- return;
- } catch (SWTException ex) {
- IStatus status = StatusUtil.newStatus(WorkbenchPlugin.PI_WORKBENCH, ex);
- StatusManager.getManager().handle(status);
- }
- }
-
- private Image getOffscreenImage() {
- saveStoppedImage();
- imageDataIndex = 0;
- image = images[imageDataIndex];
- imageData = image.getImageData();
- /*
- * Create an off-screen image to draw on, and fill it with the shell background.
- */
- offScreenImage = new Image(display, imageData.width, imageData.height);
-
- offScreenImageGC = new GC(offScreenImage);
- offScreenImageGC.setBackground(background);
- offScreenImageGC.fillRectangle(0, 0, imageData.width, imageData.height);
-
- /*
- * Create the first image and draw it on the off-screen image.
- */
-
- offScreenImageGC.drawImage(image, 0, 0, imageData.width, imageData.height, imageData.x, imageData.y,
- imageData.width, imageData.height);
-
- return offScreenImage;
- }
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LegacyAnimationFeedback.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LegacyAnimationFeedback.java
deleted file mode 100644
index d75d6d2e3a5..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LegacyAnimationFeedback.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.internal;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.graphics.Region;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Creates an animation feedback that will morph the start rectangle to the end
- * rectangle for AnimationEngine.
- *
- * @since 3.3
- *
- */
-public class LegacyAnimationFeedback extends RectangleAnimationFeedbackBase {
- private static final int LINE_WIDTH = 1;
-
- private Region shellRegion;
-
- public LegacyAnimationFeedback(Shell parentShell, Rectangle start, Rectangle end) {
- super(parentShell, start, end);
- }
-
- @Override
- public void renderStep(AnimationEngine engine) {
- if (shellRegion != null) {
- shellRegion.dispose();
- shellRegion = new Region(getAnimationShell().getDisplay());
- }
-
- // Iterate across the set of start/end rects
- Iterator currentRects = getCurrentRects(engine.amount()).iterator();
- while (currentRects.hasNext()) {
- Rectangle curRect = (Rectangle) currentRects.next();
- Rectangle rect = Geometry.toControl(getAnimationShell(), curRect);
- shellRegion.add(rect);
- rect.x += LINE_WIDTH;
- rect.y += LINE_WIDTH;
- rect.width = Math.max(0, rect.width - 2 * LINE_WIDTH);
- rect.height = Math.max(0, rect.height - 2 * LINE_WIDTH);
-
- shellRegion.subtract(rect);
- }
-
- getAnimationShell().setRegion(shellRegion);
- getAnimationShell().getDisplay().update();
- }
-
- @Override
- public void initialize(AnimationEngine engine) {
- Color color = getAnimationShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW);
- getAnimationShell().setBackground(color);
-
- // Ensure that the background won't show on the initial display
- shellRegion = new Region(getAnimationShell().getDisplay());
- getAnimationShell().setRegion(shellRegion);
- }
-
- @Override
- public void dispose() {
- super.dispose();
-
- if (!shellRegion.isDisposed())
- shellRegion.dispose();
- }
-
- /**
- * Perform any initialization you want to have happen -before- the amination
- * starts
- */
- @Override
- public boolean jobInit(AnimationEngine engine) {
- if (!super.jobInit(engine))
- return false;
-
- // Compute the shell's bounds
- Rectangle shellBounds = Geometry.copy((Rectangle) getStartRects().get(0));
- Iterator startIter = getStartRects().iterator();
- Iterator endIter = getEndRects().iterator();
- while (startIter.hasNext()) {
- shellBounds.add((Rectangle) startIter.next());
- shellBounds.add((Rectangle) endIter.next());
- }
- getAnimationShell().setBounds(shellBounds);
- // Making the shell visible will be slow on old video cards, so only start
- // the timer once it is visible.
- getAnimationShell().setVisible(true);
-
- return true; // OK to go...
- }
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationFeedbackBase.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationFeedbackBase.java
deleted file mode 100644
index 9b7af6a9cf9..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationFeedbackBase.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * RectangleAnimationFeedbackBase is an abstract base class for all the
- * rectangle animations.
- *
- * @since 3.3
- *
- */
-public abstract class RectangleAnimationFeedbackBase extends AnimationFeedbackBase {
-
- private List startRects = new ArrayList();
- private List endRects = new ArrayList();
-
- /**
- * Creates a Rectangle Animation Feedback
- *
- * @param parentShell specifies the composite where the animation will be drawn
- * @param start initial rectangle (display coordinates)
- * @param end final rectangle (display coordinates)
- */
- public RectangleAnimationFeedbackBase(Shell parentShell, Rectangle start, Rectangle end) {
- super(parentShell);
- addStartRect(start);
- addEndRect(end);
- }
-
- @Override
- public boolean jobInit(AnimationEngine engine) {
- if (!super.jobInit(engine))
- return false;
-
- return startRects.size() > 0 && startRects.size() == endRects.size();
- }
-
- public void addStartRect(Rectangle rect) {
- if (rect != null) {
- startRects.add(rect);
- }
- }
-
- public void addEndRect(Rectangle rect) {
- if (rect != null) {
- endRects.add(rect);
- }
- }
-
- public void addStartRect(Control ctrl) {
- Rectangle ctrlBounds = ctrl.getBounds();
- Rectangle startRect = Geometry.toDisplay(ctrl.getParent(), ctrlBounds);
- addStartRect(startRect);
- }
-
- public void addEndRect(Control ctrl) {
- Rectangle ctrlBounds = ctrl.getBounds();
- Rectangle endRect = Geometry.toDisplay(ctrl.getParent(), ctrlBounds);
- addEndRect(endRect);
- }
-
- public static Rectangle interpolate(Rectangle start, Rectangle end, double amount) {
- double initialWeight = 1.0 - amount;
-
- return new Rectangle((int) (start.x * initialWeight + end.x * amount),
- (int) (start.y * initialWeight + end.y * amount),
- (int) (start.width * initialWeight + end.width * amount),
- (int) (start.height * initialWeight + end.height * amount));
- }
-
- public List getStartRects() {
- return startRects;
- }
-
- public List getEndRects() {
- return endRects;
- }
-
- public List getCurrentRects(double amount) {
- List currentRects = new ArrayList();
- Iterator startIter = getStartRects().iterator();
- Iterator endIter = getEndRects().iterator();
- while (startIter.hasNext()) {
- Rectangle start = (Rectangle) startIter.next();
- Rectangle end = (Rectangle) endIter.next();
-
- // Get the bounds of the interpolated rect
- Rectangle curRect = interpolate(start, end, amount);
- currentRects.add(curRect);
- }
- return currentRects;
- }
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationImageFeedback.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationImageFeedback.java
deleted file mode 100644
index 84062e93a72..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationImageFeedback.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Creates an animation effect where the interpolated rectangles are displayed
- * using Canvas controls that show an image of the bits that were originally
- * occupied by the various 'start' rectangles.
- *
- * @since 3.3
- *
- */
-public class RectangleAnimationImageFeedback extends RectangleAnimationFeedbackBase {
- private static class ImageCanvas extends Canvas {
- private Image image;
-
- /**
- * @param parent
- * @param style
- */
- public ImageCanvas(Composite parent, int style, Image image) {
- super(parent, style);
- this.image = image;
-
- addPaintListener(e -> paintImage(e.gc));
- }
-
- /**
- * @param gc
- */
- protected void paintImage(GC gc) {
- gc.drawImage(image, 0, 0, image.getBounds().width, image.getBounds().height, 0, 0, getBounds().width,
- getBounds().height);
- }
-
- @Override
- public void dispose() {
- super.dispose();
- image.dispose();
- }
- }
-
- private Image backingStore;
- private Shell theShell;
- private Display display;
- private List controls = new ArrayList();
-
- public RectangleAnimationImageFeedback(Shell parentShell, Rectangle start, Rectangle end) {
- super(parentShell, start, end);
- }
-
- @Override
- public void dispose() {
- backingStore.dispose();
- for (Iterator ctrlIter = controls.iterator(); ctrlIter.hasNext();) {
- ImageCanvas canvas = (ImageCanvas) ctrlIter.next();
- canvas.dispose();
- }
-
- theShell.setVisible(false);
- theShell.dispose();
- }
-
- @Override
- public void initialize(AnimationEngine engine) {
- display = getAnimationShell().getDisplay();
-
- Rectangle psRect = getAnimationShell().getBounds();
- theShell = new Shell(getAnimationShell(), SWT.NO_TRIM | SWT.ON_TOP);
- theShell.setBounds(getAnimationShell().getBounds());
-
- // Capture the background image
- backingStore = new Image(theShell.getDisplay(), psRect);
- GC gc = new GC(display);
- gc.copyArea(backingStore, psRect.x, psRect.y);
- gc.dispose();
-// changeCoordinates();
-// captureImages();
- theShell.setBackgroundImage(backingStore);
- theShell.setVisible(true);
- display.update();
-
- }
-
- @Override
- public boolean jobInit(AnimationEngine engine) {
- changeCoordinates();
- captureImages();
- return super.jobInit(engine);
- }
-
- @Override
- public void addStartRect(Rectangle rect) {
- if (rect == null)
- return;
-
- // Rectangle start = Geometry.toControl(getAnimationShell(), rect);
- super.addStartRect(rect);
-
- }
-
- @Override
- public void addEndRect(Rectangle rect) {
- if (rect != null) {
- // Rectangle end = Geometry.toControl(getAnimationShell(), rect);
- super.addEndRect(rect);
- }
- }
-
- @Override
- public void renderStep(AnimationEngine engine) {
- Iterator ctrlIter = controls.iterator();
- Iterator currentRects = getCurrentRects(engine.amount()).iterator();
- while (currentRects.hasNext()) {
- ImageCanvas canvas = (ImageCanvas) ctrlIter.next();
- canvas.setBounds((Rectangle) currentRects.next());
- }
- display.update();
-
- }
-
- public void changeCoordinates() {
- Iterator startRectIter = getStartRects().iterator();
- Iterator endRectIter = getEndRects().iterator();
- while (startRectIter.hasNext()) {
- Rectangle startRect = (Rectangle) startRectIter.next();
- Rectangle mapStartRect = Geometry.toControl(theShell, startRect);
- startRect.x = mapStartRect.x;
- startRect.y = mapStartRect.y;
- Rectangle endRect = (Rectangle) endRectIter.next();
- Rectangle mapEndRect = Geometry.toControl(theShell, endRect);
- endRect.x = mapEndRect.x;
- endRect.y = mapEndRect.y;
- }
- }
-
- private void captureImages() {
-
- for (Iterator iterator = getStartRects().iterator(); iterator.hasNext();) {
- Rectangle rect = (Rectangle) iterator.next();
- Image image = new Image(display, rect.width, rect.height);
- GC gc = new GC(backingStore);
- gc.copyArea(image, rect.x, rect.y);
- gc.dispose();
- ImageCanvas canvas = new ImageCanvas(theShell, SWT.BORDER | SWT.NO_BACKGROUND, image);
- controls.add(canvas);
-
- }
- }
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java
index 1bb73bbb9ee..66ff73596d1 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java
@@ -28,17 +28,13 @@ import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.jface.window.IShellProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.AnimationEngine;
import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.WorkbenchWindow;
import org.eclipse.ui.internal.misc.StatusUtil;
import org.eclipse.ui.internal.util.BundleUtility;
import org.eclipse.ui.progress.IProgressConstants;
@@ -523,58 +519,6 @@ public class ProgressManagerUtil {
return null;
}
- /**
- * Animate the closing of a window given the start position down to the progress
- * region.
- *
- * @param startPosition Rectangle. The position to start drawing from.
- */
- public static void animateDown(Rectangle startPosition) {
- IWorkbenchWindow currentWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (currentWindow == null) {
- return;
- }
- WorkbenchWindow internalWindow = (WorkbenchWindow) currentWindow;
-
- ProgressRegion progressRegion = internalWindow.getProgressRegion();
- if (progressRegion == null) {
- return;
- }
- Rectangle endPosition = progressRegion.getControl().getBounds();
-
- Point windowLocation = internalWindow.getShell().getLocation();
- endPosition.x += windowLocation.x;
- endPosition.y += windowLocation.y;
-
- // animate the progress dialog's removal
- AnimationEngine.createTweakedAnimation(internalWindow.getShell(), 400, startPosition, endPosition);
- }
-
- /**
- * Animate the opening of a window given the start position down to the progress
- * region.
- *
- * @param endPosition Rectangle. The position to end drawing at.
- */
- public static void animateUp(Rectangle endPosition) {
- IWorkbenchWindow currentWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (currentWindow == null) {
- return;
- }
- WorkbenchWindow internalWindow = (WorkbenchWindow) currentWindow;
- Point windowLocation = internalWindow.getShell().getLocation();
-
- ProgressRegion progressRegion = internalWindow.getProgressRegion();
- if (progressRegion == null) {
- return;
- }
- Rectangle startPosition = progressRegion.getControl().getBounds();
- startPosition.x += windowLocation.x;
- startPosition.y += windowLocation.y;
-
- // animate the progress dialog's arrival
- AnimationEngine.createTweakedAnimation(internalWindow.getShell(), 400, startPosition, endPosition);
- }
/**
* Get the shell provider to use in the progress support dialogs. This provider
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorFocusJobDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorFocusJobDialog.java
index 9554cb27713..70e7f805d87 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorFocusJobDialog.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorFocusJobDialog.java
@@ -29,7 +29,6 @@ import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.operation.ProgressMonitorUtil;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
@@ -89,10 +88,8 @@ public class ProgressMonitorFocusJobDialog extends ProgressMonitorJobsDialog {
Button runInWorkspace = createButton(parent, IDialogConstants.CLOSE_ID,
ProgressMessages.ProgressMonitorFocusJobDialog_RunInBackgroundButton, true);
runInWorkspace.addSelectionListener(widgetSelectedAdapter(e -> {
- Rectangle shellPosition = getShell().getBounds();
job.setProperty(IProgressConstants.PROPERTY_IN_DIALOG, Boolean.FALSE);
finishedRun();
- ProgressManagerUtil.animateDown(shellPosition);
}));
runInWorkspace.setCursor(arrowCursor);
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/IStatusDialogConstants.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/IStatusDialogConstants.java
index 6d803b424ba..091fa75eb96 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/IStatusDialogConstants.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/IStatusDialogConstants.java
@@ -168,12 +168,5 @@ public interface IStatusDialogConstants {
*/
Object MODALITY_SWITCH = new Object();
- /**
- * This flag controls animations. It is for testing purposes only. If it set to
- * false, animations will not be created. Animation means shell closing/opening
- * animation.
- */
- Object ANIMATION = new Object();
-
Object MANAGER_IMPL = WorkbenchStatusDialogManagerImpl.class;
}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/InternalDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/InternalDialog.java
index d0469e0c4a5..00a1e0a1208 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/InternalDialog.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/InternalDialog.java
@@ -307,11 +307,6 @@ public class InternalDialog extends TrayDialog {
if (getBooleanValue(IStatusDialogConstants.TRAY_OPENED)) {
openTray();
}
- } else {
- if (getBooleanValue(IStatusDialogConstants.ANIMATION)) {
- Rectangle shellPosition = getShell().getBounds();
- ProgressManagerUtil.animateUp(shellPosition);
- }
}
return result;
}
@@ -654,9 +649,6 @@ public class InternalDialog extends TrayDialog {
dialogState.put(IStatusDialogConstants.SHELL_BOUNDS, getShell().getBounds());
statusListViewer = null;
boolean result = super.close();
- if (!modalitySwitch && getBooleanValue(IStatusDialogConstants.ANIMATION)) {
- ProgressManagerUtil.animateDown(getShellBounds());
- }
return result;
}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/WorkbenchStatusDialogManagerImpl.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/WorkbenchStatusDialogManagerImpl.java
index 768ac5bfe11..d598ec621b1 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/WorkbenchStatusDialogManagerImpl.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/WorkbenchStatusDialogManagerImpl.java
@@ -154,7 +154,6 @@ public class WorkbenchStatusDialogManagerImpl implements KeptJobsListener {
dialogState.put(IStatusDialogConstants.STATUS_MODALS, new HashMap<>());
dialogState.put(IStatusDialogConstants.LABEL_PROVIDER, new LabelProviderWrapper(dialogState));
dialogState.put(IStatusDialogConstants.MODALITY_SWITCH, Boolean.FALSE);
- dialogState.put(IStatusDialogConstants.ANIMATION, Boolean.TRUE);
return dialogState;
}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/Animations.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/Animations.java
deleted file mode 100644
index 811df011994..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/Animations.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.internal.tweaklets;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.RectangleAnimationFeedbackBase;
-import org.eclipse.ui.internal.tweaklets.Tweaklets.TweakKey;
-
-/**
- * Animation tweaklet base class. Create (and register) a tweaklet extension
- * derived from this class to provide alternate animation behavior. Currently
- * only affects animations produced by the new min / max behavior.
- *
- * @since 3.3
- *
- */
-public abstract class Animations {
- public static TweakKey KEY = new Tweaklets.TweakKey(Animations.class);
-
- static {
- Tweaklets.setDefault(Animations.KEY, new LegacyAnimations());
- }
-
- /** Default c'tor */
- public Animations() {
- }
-
- /**
- * Create and return the animation feedback you want to use.
- *
- * @param shell The shell that the animation will be in
- * @return The feedback renderer to use.
- */
- public abstract RectangleAnimationFeedbackBase createFeedback(Shell shell);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/ImageAnimationTweak.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/ImageAnimationTweak.java
deleted file mode 100644
index e40aa8573ad..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/ImageAnimationTweak.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.internal.tweaklets;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.RectangleAnimationFeedbackBase;
-import org.eclipse.ui.internal.RectangleAnimationImageFeedback;
-
-/**
- * Return an animation feedback that uses images.
- *
- * @since 3.3
- *
- */
-public class ImageAnimationTweak extends Animations {
- /** Default c'tor */
- public ImageAnimationTweak() {
- }
-
- @Override
- public RectangleAnimationFeedbackBase createFeedback(Shell shell) {
- return new RectangleAnimationImageFeedback(shell, null, null);
- }
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/LegacyAnimations.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/LegacyAnimations.java
deleted file mode 100644
index fba250a74e8..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/tweaklets/LegacyAnimations.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.internal.tweaklets;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.LegacyAnimationFeedback;
-import org.eclipse.ui.internal.RectangleAnimationFeedbackBase;
-
-/**
- * Return the default (legacy) animation.
- *
- * @since 3.3
- *
- */
-public class LegacyAnimations extends Animations {
- /** Default c'tor */
- public LegacyAnimations() {
- }
-
- @Override
- public RectangleAnimationFeedbackBase createFeedback(Shell shell) {
- return new LegacyAnimationFeedback(shell, null, null);
- }
-
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchAdvisorTest.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchAdvisorTest.java
index de5efaf95e7..d5097c161a2 100644
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchAdvisorTest.java
+++ b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchAdvisorTest.java
@@ -19,9 +19,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWindowListener;
@@ -32,7 +30,6 @@ import org.eclipse.ui.application.IActionBarConfigurer;
import org.eclipse.ui.application.IWorkbenchConfigurer;
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.internal.progress.ProgressManagerUtil;
import org.eclipse.ui.tests.rcp.util.WorkbenchAdvisorObserver;
import org.junit.After;
import org.junit.Before;
@@ -291,18 +288,6 @@ public class WorkbenchAdvisorTest {
super.preWindowOpen(configurer);
configurer.setShowProgressIndicator(false);
}
-
- @Override
- public void postWindowOpen(IWorkbenchWindowConfigurer configurer) {
- try {
- ProgressManagerUtil.animateUp(new Rectangle(0, 0, 100, 50));
- }
- catch (NullPointerException e) {
- // we shouldn't get here
- fail(e.getMessage());
- }
- }
-
};
int code = PlatformUI.createAndRunWorkbench(display, wa);
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/AnimationEngineTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/AnimationEngineTest.java
deleted file mode 100644
index b1ee891a2a3..00000000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/AnimationEngineTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2017 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.tests.internal;
-
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.preference.PreferenceMemento;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.internal.AnimationEngine;
-import org.eclipse.ui.internal.AnimationFeedbackBase;
-import org.eclipse.ui.internal.util.PrefUtil;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * @since 3.5
- *
- */
-public class AnimationEngineTest {
-
- private class TestFeedback extends AnimationFeedbackBase {
- /**
- * @param parentShell
- */
- public TestFeedback(Shell parentShell) {
- super(parentShell);
- }
-
- public int count = 0;
- public int initCalled = -1;
- public int renderCalled = -1;
- public int disposeCalled = -1;
-
- @Override
- public void dispose() {
- disposeCalled = count++;
- }
-
- @Override
- public void initialize(AnimationEngine animationEngine) {
- initCalled = count++;
- }
-
- @Override
- public void renderStep(AnimationEngine engine) {
- if(renderCalled == -1) {
- renderCalled = count++;
- }
- }
-
- }
-
- Shell shell;
- TestFeedback feedback;
- AnimationEngine engine;
- private PreferenceMemento memento;
-
- @Before
- public void doSetUp() {
- shell = new Shell(Display.getCurrent());
- memento = new PreferenceMemento();
- }
-
- @After
- public void doTearDown() {
- memento.resetPreferences();
- shell.dispose();
- shell = null;
- }
-
- /**
- * Ensure that the protocol expected by the animation implementations works
- * as defined:
- * <ol>
- * <li>The feedback's initialize gets called on creation of the engine</li>
- * <li>The feedback's renderStep gets called at least once</li>
- * <li>The feedback's dispose gets called at least once (after a render)</li>
- * </ol>
- * @throws InterruptedException
- */
- @Test
- public void testAnimationEngine() throws InterruptedException {
- // Ensure that animations are turned on
- memento.setValue(PrefUtil.getAPIPreferenceStore(), IWorkbenchPreferenceConstants.ENABLE_ANIMATIONS,
- true);
-
- feedback = new TestFeedback(shell);
- engine = new AnimationEngine(feedback, 250, 0);
-
- // ensure that the init method gets called on construction
- assertTrue("'initialize' was not called", feedback.initCalled == 0);
-
- // Run the animation
- engine.schedule();
-
- // Wait for the animation to finish
- Display display = shell.getDisplay();
- while(engine.getState() != Job.NONE) {
- while (display.readAndDispatch()) {
- }
- Thread.sleep(20);
- }
-
- // Make sure all methods were called...and in the correct order
- assertTrue("'render' was not called", feedback.renderCalled >= 0);
- assertTrue("'dispose' was not called", feedback.disposeCalled >= 0);
-
- //...in the correct order
- assertTrue("'dispose' called before 'render", feedback.renderCalled < feedback.disposeCalled);
- }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/InternalTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/InternalTestSuite.java
index 728e5eea2fc..c4538cf7e11 100644
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/InternalTestSuite.java
+++ b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/InternalTestSuite.java
@@ -31,7 +31,6 @@ import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
- AnimationEngineTest.class,
EditorActionBarsTest.class,
ActionSetExpressionTest.class,
PopupMenuExpressionTest.class,
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/statushandlers/StatusDialogManagerTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/statushandlers/StatusDialogManagerTest.java
index 7fd80024921..8c76a1e72d9 100644
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/statushandlers/StatusDialogManagerTest.java
+++ b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/statushandlers/StatusDialogManagerTest.java
@@ -95,7 +95,6 @@ public class StatusDialogManagerTest {
automatedMode = ErrorDialog.AUTOMATED_MODE;
wsdm = new WorkbenchStatusDialogManager(null);
ErrorDialog.AUTOMATED_MODE = false;
- wsdm.setProperty(IStatusDialogConstants.ANIMATION, Boolean.FALSE);
FreezeMonitor.expectCompletionIn(60_000);
}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/statushandlers/WorkbenchStatusDialogManagerImplTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/statushandlers/WorkbenchStatusDialogManagerImplTest.java
index b14b58f038b..adc43e7bf71 100644
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/statushandlers/WorkbenchStatusDialogManagerImplTest.java
+++ b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/statushandlers/WorkbenchStatusDialogManagerImplTest.java
@@ -40,7 +40,6 @@ public class WorkbenchStatusDialogManagerImplTest {
@Before
public void setUp() throws Exception {
mgr = new WorkbenchStatusDialogManagerImpl(0xFFFFFF, null);
- mgr.setProperty(IStatusDialogConstants.ANIMATION, Boolean.FALSE);
}
@After

Back to the top