summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/ISettingsPanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/view/ISettingsPanel.java')
-rw-r--r--src/jrummikub/view/ISettingsPanel.java36
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