summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/SettingsControl.java
diff options
context:
space:
mode:
authorIda Massow <massow@informatik.uni-luebeck.de>2011-05-27 15:00:28 +0200
committerIda Massow <massow@informatik.uni-luebeck.de>2011-05-27 15:00:28 +0200
commit531fe57b17394c931ee968a66104429e69cf60c6 (patch)
tree30976cf9a7909df97bd49740c74a835edf9f47c3 /src/jrummikub/control/SettingsControl.java
parentdf79c78dec6d9db0c60709fcb6728b5fab170379 (diff)
downloadJRummikub-531fe57b17394c931ee968a66104429e69cf60c6.tar
JRummikub-531fe57b17394c931ee968a66104429e69cf60c6.zip
Test für SettingsControl, 3 neue Klassen, Mocks für SettingPanel, lauter fixes
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@285 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/control/SettingsControl.java')
-rw-r--r--src/jrummikub/control/SettingsControl.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/jrummikub/control/SettingsControl.java b/src/jrummikub/control/SettingsControl.java
new file mode 100644
index 0000000..7b96e77
--- /dev/null
+++ b/src/jrummikub/control/SettingsControl.java
@@ -0,0 +1,54 @@
+package jrummikub.control;
+
+import jrummikub.model.GameSettings;
+import jrummikub.util.Event1;
+import jrummikub.util.IEvent1;
+import jrummikub.util.IListener1;
+import jrummikub.view.IView;
+
+public class SettingsControl {
+ private IView view;
+ private Event1<GameSettings> startGameEvent = new Event1<GameSettings>();
+
+ public SettingsControl(IView view) {
+ this.view = view;
+ }
+
+ public IEvent1<GameSettings> getStartGameEvent() {
+ return startGameEvent;
+ }
+
+ public void startSettings() {
+ /*
+ * view.getSettingsPanel().getSettingsChangeEvent() .add(new
+ * IListener1<GameSettings>() {
+ *
+ * @Override public void handle(GameSettings settings) {
+ * checkSettings(settings); } });
+ * view.getSettingsPanel().getStartGameEvent() .add(new
+ * IListener1<GameSettings>() {
+ *
+ * @Override public void handle(GameSettings settings) {
+ * startGame(settings); } });
+ */
+
+ view.showSettingsPanel(true);
+ }
+
+ private boolean checkSettings(GameSettings settings) {
+ // TODO Check
+ // TODO Show error
+
+ return true;
+ }
+
+ private void startGame(GameSettings settings) {
+ if (!checkSettings(settings)) {
+ return;
+ }
+
+ view.showSettingsPanel(false);
+
+ startGameEvent.emit(settings);
+ }
+}