From 5e3ce21569f5adc92c969735c88af488cf581916 Mon Sep 17 00:00:00 2001 From: Ida Massow Date: Tue, 21 Jun 2011 13:47:15 +0200 Subject: =?UTF-8?q?Das=20reine=20control-package=20ist=20vollst=C3=A4ndig?= =?UTF-8?q?=20kommentiert?= 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@545 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/control/AbstractSettingsControl.java | 74 +++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) (limited to 'src/jrummikub/control/AbstractSettingsControl.java') diff --git a/src/jrummikub/control/AbstractSettingsControl.java b/src/jrummikub/control/AbstractSettingsControl.java index ee0c96c..2904df4 100644 --- a/src/jrummikub/control/AbstractSettingsControl.java +++ b/src/jrummikub/control/AbstractSettingsControl.java @@ -49,6 +49,9 @@ public abstract class AbstractSettingsControl { .asList(ISettingsPanel.PLAYER_COLORS))); } + /** + * Add event listeners to abstract settings control + */ protected void addListeners() { addPlayerSettingsListeners(); @@ -57,6 +60,9 @@ public abstract class AbstractSettingsControl { addVariantListeners(); } + /** + * Add event listeners to the player settings panel + */ private void addPlayerSettingsListeners() { connections.add(view.getSettingsPanel().getAddPlayerEvent() .add(new IListener() { @@ -95,6 +101,9 @@ public abstract class AbstractSettingsControl { })); } + /** + * Add the first half of event listeners to option panel + */ private void addOptionListeners1() { connections.add(view.getSettingsPanel() .getChangeInitialMeldThresholdEvent() @@ -134,6 +143,9 @@ public abstract class AbstractSettingsControl { })); } + /** + * Add the second half of event listeners to option panel + */ private void addOptionListeners2() { connections.add(view.getSettingsPanel().getChangeHighestValueEvent() .add(new IListener1() { @@ -168,7 +180,7 @@ public abstract class AbstractSettingsControl { update(); } })); - + connections.add(view.getSettingsPanel().getChangeSeeHandSizeEvent() .add(new IListener1() { @Override @@ -212,6 +224,11 @@ public abstract class AbstractSettingsControl { view.showSettingsPanel(true); } + /** + * Finds the next unused player color + * + * @return an unused color + */ protected Color findUnusedColor() { Color color = null; colorLoop: for (Color c : ISettingsPanel.PLAYER_COLORS) { @@ -226,6 +243,14 @@ public abstract class AbstractSettingsControl { return color; } + /** + * Sets a player's color + * + * @param i + * index of player + * @param color + * color to be set + */ private void setPlayerColor(int i, Color color) { PlayerSettings player = settings.getPlayerList().get(i); @@ -244,16 +269,36 @@ public abstract class AbstractSettingsControl { update(); } + /** + * Sets a player's name + * + * @param i + * index of player + * @param name + * name to be set + */ private void setPlayerName(int i, String name) { settings.getPlayerList().get(i).setName(name); update(); } + /** + * Removes a player from the planned game + * + * @param i + * index of player + */ private void removePlayer(int i) { settings.getPlayerList().remove(i); update(); } + /** + * Checks the settings for ambiguous or missing data and sets error/warning + * if necessary + * + * @return boolean check correct + */ protected boolean checkSettings() { if (!checkName()) { return false; @@ -270,6 +315,11 @@ public abstract class AbstractSettingsControl { return true; } + /** + * Checks if unique player name is present for each player + * + * @return is player name ok + */ private boolean checkName() { for (PlayerSettings player : settings.getPlayerList()) { if (player.getName().isEmpty()) { @@ -302,6 +352,11 @@ public abstract class AbstractSettingsControl { return true; } + /** + * Check options leading to errors + * + * @return options ok + */ private boolean checkErrors() { int totalStonesDealt = settings.getNumberOfStonesDealt() * settings.getPlayerList().size(); @@ -324,6 +379,9 @@ public abstract class AbstractSettingsControl { return true; } + /** + * Check all options and player settings for entries causing warnings + */ private void checkWarnings() { if (settings.getInitialMeldThreshold() >= 100) { view.getSettingsPanel().setError( @@ -356,10 +414,24 @@ public abstract class AbstractSettingsControl { } } + /** + * Add new player to the planned game + */ abstract protected void addPlayer(); + /** + * Set the type of a player + * + * @param i + * index of player + * @param type + * type to be set + */ abstract protected void setPlayerType(int i, Type type); + /** + * Show newly chosen options in view + */ abstract protected void update(); } -- cgit v1.2.3