From df79c78dec6d9db0c60709fcb6728b5fab170379 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Thu, 26 May 2011 16:12:44 +0200 Subject: Add application control, use game settings from settings panel git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@284 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/control/ApplicationControl.java | 63 +++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/jrummikub/control/ApplicationControl.java (limited to 'src/jrummikub/control/ApplicationControl.java') diff --git a/src/jrummikub/control/ApplicationControl.java b/src/jrummikub/control/ApplicationControl.java new file mode 100644 index 0000000..b3d432c --- /dev/null +++ b/src/jrummikub/control/ApplicationControl.java @@ -0,0 +1,63 @@ +package jrummikub.control; + +import jrummikub.model.GameSettings; +import jrummikub.util.IListener1; +import jrummikub.view.IView; + +/** + * The application control controls the settings for a new games and create the + * game control + */ +public class ApplicationControl { + private IView view; + + /** + * Creates a new application control + * + * @param view + * the view to use + */ + public ApplicationControl(IView view) { + this.view = view; + } + + /** + * Starts the application by showing the game settings dialog panel + */ + public void startApplication() { + view.getSettingsPanel().getSettingsChangeEvent() + .add(new IListener1() { + @Override + public void handle(GameSettings settings) { + checkSettings(settings); + } + }); + view.getSettingsPanel().getStartGameEvent() + .add(new IListener1() { + @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); + + GameControl gameControl = new GameControl(settings, view); + gameControl.startGame(); + } +} -- cgit v1.2.3