From 1660736239d9f437f0ffa336d3f3bb8ed7ae407f Mon Sep 17 00:00:00 2001 From: Ida Massow Date: Mon, 30 May 2011 20:16:48 +0200 Subject: =?UTF-8?q?Man=20kann=20jetzt=20die=20Anzahl=20der=20Steins=C3=A4t?= =?UTF-8?q?ze=20einstellen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@328 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/control/SettingsControl.java | 16 ++++++++++----- src/jrummikub/view/ISettingsPanel.java | 33 +++++++----------------------- src/jrummikub/view/impl/SettingsPanel.java | 32 ++++++++++++----------------- 3 files changed, 31 insertions(+), 50 deletions(-) (limited to 'src/jrummikub') diff --git a/src/jrummikub/control/SettingsControl.java b/src/jrummikub/control/SettingsControl.java index 9cb216d..f12f1ad 100644 --- a/src/jrummikub/control/SettingsControl.java +++ b/src/jrummikub/control/SettingsControl.java @@ -56,10 +56,6 @@ public class SettingsControl { * Start the operation of the settings control */ public void startSettings() { - view.getSettingsPanel().setInitialMeldThreshold( - settings.getInitialMeldThreshold()); - view.getSettingsPanel().setJokerNumber(settings.getJokerNumber()); - connections.add(view.getSettingsPanel() .getChangeInitialMeldThresholdEvent() .add(new IListener1() { @@ -79,6 +75,15 @@ public class SettingsControl { } })); + connections.add(view.getSettingsPanel().getChangeStoneSetNumberEvent() + .add(new IListener1() { + @Override + public void handle(Integer value) { + settings.setStoneSetNumber(value); + update(); + } + })); + addPlayerSettingsListeners(); view.showSettingsPanel(true); @@ -237,7 +242,8 @@ public class SettingsControl { int totalStonesDealt = settings.getNumberOfStonesDealt() * settings.getPlayerList().size(); - int totalStones = settings.getHighestCard() * settings.getStoneSetNumber() + int totalStones = settings.getHighestCard() + * settings.getStoneSetNumber() * settings.getStoneColors().size() + settings.getJokerNumber(); if (totalStones <= totalStonesDealt) { diff --git a/src/jrummikub/view/ISettingsPanel.java b/src/jrummikub/view/ISettingsPanel.java index 3caa8cb..5c83f47 100644 --- a/src/jrummikub/view/ISettingsPanel.java +++ b/src/jrummikub/view/ISettingsPanel.java @@ -131,6 +131,13 @@ public interface ISettingsPanel { */ public void setGameSettings(GameSettings gameSettings); + /** + * Emitted when the joker number is changed + * + * @return the event + */ + public IEvent1 getChangeJokerNumberEvent(); + /** * Specifies the different kinds of settings errors that can be displayed */ @@ -150,30 +157,4 @@ public interface ISettingsPanel { /** Only computer players added */ COMPUTER_PLAYERS_ONLY_WARNING } - - /** - * Sets the initial meld threshold in the option pane - * - * @param value - * initial meld threshold - */ - public void setInitialMeldThreshold(int value); - - public void setStoneSetNumber(int number); - - /** - * Emitted when the joker number is changed - * - * @return the event - */ - public IEvent1 getChangeJokerNumberEvent(); - - - /** - * Sets the joker number in the option pane - * - * @param jokerNumber - * the joker number - */ - public void setJokerNumber(int jokerNumber); } \ No newline at end of file diff --git a/src/jrummikub/view/impl/SettingsPanel.java b/src/jrummikub/view/impl/SettingsPanel.java index 1eb8e45..5eb82fb 100644 --- a/src/jrummikub/view/impl/SettingsPanel.java +++ b/src/jrummikub/view/impl/SettingsPanel.java @@ -65,6 +65,7 @@ class SettingsPanel extends JPanel implements ISettingsPanel { private List playerSettingsPanels = new ArrayList(); private JSpinner initialMeldThresholdSpinner; + private JSpinner stoneSetNumberSpinner; private JSpinner jokerNumberSpinner; private Event startGameEvent = new Event(); @@ -174,6 +175,11 @@ class SettingsPanel extends JPanel implements ISettingsPanel { updatePlayerSettingsPanel(i, gameSettings.getPlayerList().get(i)); } + initialMeldThresholdSpinner.setValue(gameSettings + .getInitialMeldThreshold()); + stoneSetNumberSpinner.setValue(gameSettings.getStoneSetNumber()); + jokerNumberSpinner.setValue(gameSettings.getJokerNumber()); + playerSettingsViewport.revalidate(); } @@ -241,13 +247,17 @@ class SettingsPanel extends JPanel implements ISettingsPanel { initialMeldThresholdSpinner = makeOptionSpinner(0, 1, 999, 1, changeInitialMeldThresholdEvent); - makeOptionLabel(1, "Jokeranzahl:"); - jokerNumberSpinner = makeOptionSpinner(1, 1, 999, 1, + makeOptionLabel(1, "Anzahl Steins\u00e4tze:"); + stoneSetNumberSpinner = makeOptionSpinner(1, 1, 999, 1, + changeStoneSetNumberEvent); + + makeOptionLabel(2, "Jokeranzahl:"); + jokerNumberSpinner = makeOptionSpinner(2, 1, 999, 1, changeJokerNumberEvent); GridBagConstraints c = new GridBagConstraints(); c.gridx = 1; - c.gridy = 2; + c.gridy = 3; c.fill = GridBagConstraints.BOTH; c.weightx = 1; c.weighty = 1; @@ -502,29 +512,13 @@ class SettingsPanel extends JPanel implements ISettingsPanel { } } - @Override - public void setInitialMeldThreshold(int value) { - initialMeldThresholdSpinner.setValue(value); - } - @Override public IEvent1 getChangeJokerNumberEvent() { return changeJokerNumberEvent; } - @Override - public void setJokerNumber(int jokerNumber) { - jokerNumberSpinner.setValue(jokerNumber); - } - @Override public IEvent2 getChangePlayerTypeEvent() { return changePlayerTypeEvent; } - - @Override - public void setStoneSetNumber(int number) { - // TODO Auto-generated method stub - - } } -- cgit v1.2.3