summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/ISettingsPanel.java
blob: 17830e5d27b8fbc6bb66fab2fad5c5503e4b636d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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 {
	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 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
	}
}