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