package games.strategy.engine.framework.startup.ui; import java.util.List; import java.util.Observer; import javax.swing.Action; import games.strategy.engine.chat.IChatPanel; import games.strategy.engine.framework.startup.launcher.ILauncher; /** * Made so that we can have a headless setup. (this is probably a hack, but used because i do not want to rewrite the * entire setup model). */ public interface ISetupPanel extends java.io.Serializable { boolean isMetaSetupPanelInstance(); void addObserver(final Observer observer); void removeObserver(final Observer observer); void notifyObservers(); /** * Subclasses that have chat override this. */ IChatPanel getChatPanel(); /** * Cleanup should occur here that occurs when we cancel. */ void cancel(); void shutDown(); /** * Indicates we can start the game. */ boolean canGameStart(); void setWidgetActivation(); void preStartGame(); void postStartGame(); ILauncher getLauncher(); List<Action> getUserActions(); }