package at.oefai.aaa;

import java.io.File;

/**
 * All methods that the master of display components need to export.
 * @author wrstlprmpft
 */
public interface IGUIMediator {
    /** Call from creating thread to safely show in EventQueue Thread.
     * (see Core Java Technologies Tech Tips, December 8, 2003)*/
    void scheduleFirstShow();

    /** Whom to tell about new stagedetails. */
    IDetailSink getDetailSink();

    /** Hook should be called when the frame is visible for the first time. */
    void justOpened();

    void setPaused();

    void setRunning();

    File getFileToLoad();

    File getFileToSave();

    void deactivateGUI();

    void activateGUI();

    void deactivateDetailGUI();

    void activateDetailGUI();

    void cleanUp();

    void showException(Exception ex);

    void showStatus(final String s);

    void showStatus(final String s, final File f);

    void showGraphicsStatus(final String s);

    int getHeight();

    int getWidth();
}
