001/**
002 * 
003 */
004package icy.gui.main;
005
006import icy.gui.viewer.Viewer;
007import icy.gui.viewer.ViewerEvent;
008
009import java.util.EventListener;
010
011/**
012 * Listener interface for the current active {@link Viewer}.
013 * 
014 * @author Stephane
015 */
016public interface ActiveViewerListener extends EventListener
017{
018    /**
019     * Viewer just get the active state.
020     * This event is generally preceded by a {@link #viewerDeactivated(Viewer)} event describing
021     * the viewer which actually lose activation.
022     */
023    public void viewerActivated(Viewer viewer);
024
025    /**
026     * Viewer just lost the active state.
027     * This event is always followed by a {@link #viewerActivated(Viewer)} event describing the
028     * new activated viewer.
029     */
030    public void viewerDeactivated(Viewer viewer);
031
032    /**
033     * A property change of current active viewer has changed.
034     */
035    public void activeViewerChanged(ViewerEvent event);
036}