diff options
Diffstat (limited to 'src/jrummikub/view')
-rw-r--r-- | src/jrummikub/view/IPlayerPanel.java | 16 | ||||
-rw-r--r-- | src/jrummikub/view/IView.java | 20 | ||||
-rw-r--r-- | src/jrummikub/view/impl/PlayerPanel.java | 32 |
3 files changed, 47 insertions, 21 deletions
diff --git a/src/jrummikub/view/IPlayerPanel.java b/src/jrummikub/view/IPlayerPanel.java index 0181a9e..133adba 100644 --- a/src/jrummikub/view/IPlayerPanel.java +++ b/src/jrummikub/view/IPlayerPanel.java @@ -1,5 +1,6 @@ package jrummikub.view; +import jrummikub.control.turn.TurnMode; import jrummikub.util.IEvent; /** @@ -10,7 +11,7 @@ public interface IPlayerPanel { * Sets the time the player has left for his turn * * @param time - * the time left + * the time left */ public void setTimeLeft(int time); @@ -23,8 +24,8 @@ public interface IPlayerPanel { public IEvent getSortByGroupsEvent(); /** - * The sort by runs event is emitted when the player wants to sort his - * stones by runs + * The sort by runs event is emitted when the player wants to sort his stones + * by runs * * @return the event */ @@ -47,11 +48,8 @@ public interface IPlayerPanel { /** * Sets the buttons available to end the turn * - * @param inspectOnly - * true for each player's first turn - * @param mayRedeal - * true if the player is allowed to trigger a redealing of all - * stones + * @param turnMode + * the {@link TurnMode} */ - public abstract void setEndTurnMode(boolean inspectOnly, boolean mayRedeal); + public abstract void setEndTurnMode(TurnMode turnMode); } diff --git a/src/jrummikub/view/IView.java b/src/jrummikub/view/IView.java index 41dbdf1..ab86b4b 100644 --- a/src/jrummikub/view/IView.java +++ b/src/jrummikub/view/IView.java @@ -121,9 +121,27 @@ public interface IView { */ public IEvent getNewGameEvent(); + /** + * Sets the bottom panels type + * + * @param type + * the type of the bottom panel + */ public void setBottomPanel(BottomPanelType type); + /** + * Different types of bottom panels + */ public enum BottomPanelType { - START_GAME_PANEL, START_TURN_PANEL, HUMAN_HAND_PANEL, COMPUTER_HAND_PANEL, WIN_PANEL + /** */ + START_GAME_PANEL, + /** */ + START_TURN_PANEL, + /** */ + HUMAN_HAND_PANEL, + /** */ + COMPUTER_HAND_PANEL, + /** */ + WIN_PANEL } } diff --git a/src/jrummikub/view/impl/PlayerPanel.java b/src/jrummikub/view/impl/PlayerPanel.java index a16b32f..dcd22ed 100644 --- a/src/jrummikub/view/impl/PlayerPanel.java +++ b/src/jrummikub/view/impl/PlayerPanel.java @@ -17,6 +17,7 @@ import javax.swing.JProgressBar; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; +import jrummikub.control.turn.TurnMode; import jrummikub.model.Position; import jrummikub.model.Stone; import jrummikub.util.Event; @@ -268,8 +269,6 @@ class PlayerPanel extends JPanel implements IPlayerPanel { addComponentListener(rescaleListener); hand.addComponentListener(rescaleListener); - - setEndTurnMode(true, true); } private class LeftPanelResizeListener extends ComponentAdapter { @@ -363,16 +362,27 @@ class PlayerPanel extends JPanel implements IPlayerPanel { } @Override - public void setEndTurnMode(boolean inspectOnly, boolean mayRedeal) { - if (!inspectOnly) { - endTurnButton.setText("Zug beenden"); - } else if (!mayRedeal) { + public void setEndTurnMode(TurnMode turnMode) { + + switch (turnMode) { + case MAY_REDEAL: + endTurnButton.setVisible(false); + keepStonesButton.setVisible(true); + redealButton.setVisible(true); + break; + case INSPECT_ONLY: endTurnButton.setText("N\u00e4chster Spieler"); + endTurnButton.setVisible(true); + keepStonesButton.setVisible(false); + redealButton.setVisible(false); + break; + case NORMAL_TURN: + endTurnButton.setText("Zug beenden"); + endTurnButton.setVisible(true); + keepStonesButton.setVisible(false); + redealButton.setVisible(false); + break; } - boolean smallButtons = mayRedeal && inspectOnly; - endTurnButton.setVisible(!smallButtons); - keepStonesButton.setVisible(smallButtons); - redealButton.setVisible(smallButtons); } void showButtons(boolean show) { @@ -397,7 +407,7 @@ class PlayerPanel extends JPanel implements IPlayerPanel { sortByGroupsButton.setEnabled(enable); sortByRunsButton.setEnabled(enable); if (!enable) { - setEndTurnMode(false, false); + setEndTurnMode(TurnMode.NORMAL_TURN); endTurnButton.setText("<html><center>Computer denkt nach"); hand.setStones(Collections.<Pair<Stone, Position>> emptyList()); handRowDownButton.setForeground(Color.GRAY); |