package org.limewire.ui.swing.animate; import org.limewire.listener.EventListener; import org.limewire.listener.ListenerSupport; /** * Interface for the general concept of animating some gui changes. */ interface Animator<T> extends ListenerSupport<AnimatorEvent<T>> { /** * The delay before starting the event after start gets called. */ public abstract void setInitialDelay(int initialDelay); /** * Starts animating the event until finished. */ public abstract void start(); /** * Prematurely stops animating the gui event. */ public abstract void stop(); /** * Add a listener to deal with animating the event. */ public abstract void addListener(EventListener<AnimatorEvent<T>> listener); /** * Removes the listener. */ public abstract boolean removeListener(EventListener<AnimatorEvent<T>> listener); /** * Returns the total number of steps this animator will run before * finishing. */ public abstract int getTotalNumberOfSteps(); /** * Returns the step number that is currently being processed. */ public int getCurrentStepNumber(); /** * Returns the component that is currently being animated. */ public T getComponent(); }