diff options
Diffstat (limited to 'src/jrummikub/view/ISettingsPanel.java')
-rw-r--r-- | src/jrummikub/view/ISettingsPanel.java | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/src/jrummikub/view/ISettingsPanel.java b/src/jrummikub/view/ISettingsPanel.java index 4437f58..17830e5 100644 --- a/src/jrummikub/view/ISettingsPanel.java +++ b/src/jrummikub/view/ISettingsPanel.java @@ -1,24 +1,44 @@ package jrummikub.view; +import java.awt.Color; + import jrummikub.model.GameSettings; +import jrummikub.util.IEvent; import jrummikub.util.IEvent1; +import jrummikub.util.IEvent2; /** * The panel for the game setup */ public interface ISettingsPanel { - /** - * The settings change event is emitted whenever the user has changed a game - * settings without starting the game - * - * @return the event - */ - public IEvent1<GameSettings> getSettingsChangeEvent(); + public IEvent getAddPlayerEvent(); + + public IEvent1<Integer> getRemovePlayerEvent(); + + public IEvent2<Integer, Color> getChangePlayerColorEvent(); + + public IEvent2<Integer, String> getChangePlayerNameEvent(); + + public IEvent1<Integer> getChangeInitialMeldThresholdEvent(); /** * the start game event is emitted when the user wants to start the game * * @return the event */ - public IEvent1<GameSettings> getStartGameEvent(); + public IEvent getStartGameEvent(); + + public void setError(SettingsError error); + + public void enableStartGameButton(boolean enable); + + public void enableAddPlayerButton(boolean enable); + + public void enableRemovePlayerButtons(boolean enable); + + public void setGameSettings(GameSettings gameSettings); + + public enum SettingsError { + NO_ERROR, DUPLICATE_PLAYER_NAME, NO_PLAYER_NAME + } }
\ No newline at end of file |