001/*
002 * Copyright 2010-2015 Institut Pasteur.
003 * 
004 * This file is part of Icy.
005 * 
006 * Icy is free software: you can redistribute it and/or modify
007 * it under the terms of the GNU General Public License as published by
008 * the Free Software Foundation, either version 3 of the License, or
009 * (at your option) any later version.
010 * 
011 * Icy is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
014 * GNU General Public License for more details.
015 * 
016 * You should have received a copy of the GNU General Public License
017 * along with Icy. If not, see <http://www.gnu.org/licenses/>.
018 */
019package icy.gui.frame;
020
021import java.util.EventListener;
022
023/**
024 * @author stephane
025 */
026public interface IcyFrameListener extends EventListener
027{
028    /**
029     * Invoked the first time the icyFrame is made visible.
030     */
031    public void icyFrameOpened(IcyFrameEvent e);
032
033    /**
034     * Invoked when the user attempts to close the icyFrame from the icyFrame's system menu.
035     */
036    public void icyFrameClosing(IcyFrameEvent e);
037
038    /**
039     * Invoked when an icyFrame has been closed as the result of calling dispose on the icyFrame.
040     */
041    public void icyFrameClosed(IcyFrameEvent e);
042
043    /**
044     * Invoked when an icyFrame is changed from a normal to a minimized state. For many platforms, a
045     * minimized icyFrame is displayed as the icon specified in the icyFrame's iconImage property.
046     */
047    public void icyFrameIconified(IcyFrameEvent e);
048
049    /**
050     * Invoked when an icyFrame is changed from a minimized to a normal state.
051     */
052    public void icyFrameDeiconified(IcyFrameEvent e);
053
054    /**
055     * Invoked when the icyFrame is set to be the active icyFrame. The active Window is always
056     * either the focused Window, or the first Frame or Dialog that is an owner of the focused
057     * Window.
058     */
059    public void icyFrameActivated(IcyFrameEvent e);
060
061    /**
062     * Invoked when an icyFrame is no longer the active Window. The active Window is always either
063     * the focused Window, or the first Frame or Dialog that is an owner of the focused Window.
064     */
065    public void icyFrameDeactivated(IcyFrameEvent e);
066
067    /**
068     * Invoked when an IcyFrame is changed to externalized to internalized state
069     */
070    public void icyFrameInternalized(IcyFrameEvent e);
071
072    /**
073     * Invoked when an IcyFrame is changed to internalized to externalized state
074     */
075    public void icyFrameExternalized(IcyFrameEvent e);
076
077}