From 2f08091b65fdff96d3671549e74384ec8306668d Mon Sep 17 00:00:00 2001 From: Jannis Harder Date: Tue, 21 Jun 2011 00:56:05 +0200 Subject: Made showing of hand stone count working git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@520 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/control/AbstractSettingsControl.java | 9 +++++++++ src/jrummikub/view/ISettingsPanel.java | 2 +- src/jrummikub/view/impl/SettingsPanel.java | 12 +++++++----- src/jrummikub/view/impl/SidePanel.java | 19 ++++++++++++++++++- 4 files changed, 35 insertions(+), 7 deletions(-) diff --git a/src/jrummikub/control/AbstractSettingsControl.java b/src/jrummikub/control/AbstractSettingsControl.java index 7a38478..ee0c96c 100644 --- a/src/jrummikub/control/AbstractSettingsControl.java +++ b/src/jrummikub/control/AbstractSettingsControl.java @@ -168,6 +168,15 @@ public abstract class AbstractSettingsControl { update(); } })); + + connections.add(view.getSettingsPanel().getChangeSeeHandSizeEvent() + .add(new IListener1() { + @Override + public void handle(Boolean value) { + settings.setSeeHandSize(value); + update(); + } + })); } /** diff --git a/src/jrummikub/view/ISettingsPanel.java b/src/jrummikub/view/ISettingsPanel.java index f84e21b..26f5737 100644 --- a/src/jrummikub/view/ISettingsPanel.java +++ b/src/jrummikub/view/ISettingsPanel.java @@ -245,7 +245,7 @@ public interface ISettingsPanel { */ public void setPlayerColors(Set colors); - public IEvent1 getChangeSeeHandSize(); + public IEvent1 getChangeSeeHandSizeEvent(); /** * Specifies the different kinds of settings errors that can be displayed diff --git a/src/jrummikub/view/impl/SettingsPanel.java b/src/jrummikub/view/impl/SettingsPanel.java index 1560719..bbd5262 100644 --- a/src/jrummikub/view/impl/SettingsPanel.java +++ b/src/jrummikub/view/impl/SettingsPanel.java @@ -216,7 +216,7 @@ class SettingsPanel extends JPanel implements ISettingsPanel { } @Override - public IEvent1 getChangeSeeHandSize() { + public IEvent1 getChangeSeeHandSizeEvent() { return changeSeeHandSizeEvent; } @@ -356,7 +356,7 @@ class SettingsPanel extends JPanel implements ISettingsPanel { .setText(Integer.toString(gameSettings.getJokerNumber())); timeLabel.setText(gameSettings.getTotalTime() + " Sekunden"); noLimitsLabel.setText(gameSettings.isNoLimits() ? "An" : "Aus"); - //seeHandSizeLabel.setText(gameSettings.doSeeHandSize() ? "An" : "Aus"); + seeHandSizeLabel.setText(gameSettings.doSeeHandSize() ? "An" : "Aus"); colorLabelPanel.removeAll(); @@ -503,9 +503,10 @@ class SettingsPanel extends JPanel implements ISettingsPanel { makeOptionLabel(row++, "No Limits:"); noLimitsLabel = new JLabel(); noLimitsBox = createOptionCheckbox(changeNoLimitsEvent); - seeHandSizeBox = createOptionCheckbox(changeSeeHandSizeEvent); - makeOptionLabel(row++, "Steinanzahl anzeigen"); + makeOptionLabel(row++, "Steinanzahl anzeigen:"); + seeHandSizeLabel = new JLabel(); + seeHandSizeBox = createOptionCheckbox(changeSeeHandSizeEvent); makeOptionLabel(row, "Steinfarben:"); createColorSelectionPanel(); @@ -532,6 +533,7 @@ class SettingsPanel extends JPanel implements ISettingsPanel { optionsPanel.remove(noLimitsBox); optionsPanel.remove(noLimitsLabel); optionsPanel.remove(seeHandSizeBox); + optionsPanel.remove(seeHandSizeLabel); optionsPanel.remove(colorSelectionPanel); optionsPanel.remove(colorLabelPanel); @@ -565,7 +567,7 @@ class SettingsPanel extends JPanel implements ISettingsPanel { addOptionPanelComponent(jokerNumberLabel, false, row++); addOptionPanelComponent(timeLabel, false, row++); addOptionPanelComponent(noLimitsLabel, false, row++); - addOptionPanelComponent(seeHandSizeBox, false, row++); + addOptionPanelComponent(seeHandSizeLabel, false, row++); addOptionPanelComponent(colorLabelPanel, false, row++); } diff --git a/src/jrummikub/view/impl/SidePanel.java b/src/jrummikub/view/impl/SidePanel.java index 88f5d64..facf430 100644 --- a/src/jrummikub/view/impl/SidePanel.java +++ b/src/jrummikub/view/impl/SidePanel.java @@ -52,6 +52,7 @@ class SidePanel extends JPanel implements ISidePanel { private JLabel noLimitsLabel; private JLabel colorLabel; private JProgressBar heapBar; + private GameSettings gameSettings; public SidePanel() { setLayout(new GridBagLayout()); @@ -82,6 +83,7 @@ class SidePanel extends JPanel implements ISidePanel { @Override public void setGameSettings(GameSettings settings) { + gameSettings = settings; initialMeldLabel.setText("" + settings.getInitialMeldThreshold()); setNumberLabel.setText("" + settings.getStoneSetNumber()); highestValueLabel.setText("1 - " + settings.getHighestValue()); @@ -332,7 +334,7 @@ class SidePanel extends JPanel implements ISidePanel { GridBagConstraints c = new GridBagConstraints(); c.gridx = 0; c.gridy = 0; - c.gridheight = 2; + c.gridheight = gameSettings.doSeeHandSize() ? 3 : 2; c.weighty = 1; c.insets = new Insets(4, 4, 4, 4); playerColor = new JLabel(ImageUtil.createColorIcon( @@ -342,6 +344,7 @@ class SidePanel extends JPanel implements ISidePanel { c.gridx = 1; c.gridy = 0; c.gridheight = 1; + c.gridwidth = 2; c.weightx = 1; c.fill = GridBagConstraints.HORIZONTAL; c.insets = new Insets(2, 2, 2, 2); @@ -372,6 +375,20 @@ class SidePanel extends JPanel implements ISidePanel { playerStatus = new JLabel(status); add(playerStatus, c); + + if (gameSettings.doSeeHandSize()) { + JLabel handSizeLabel = new JLabel("Handsteine: "); + JLabel handSizeInfo = new JLabel("" + player.getHand().getSize()); + c.gridy = 2; + c.gridwidth = 1; + add(handSizeLabel, c); + + c.gridx = 2; + c.weightx = 0; + c.insets = new Insets(2, 4, 2, 4); + c.anchor = GridBagConstraints.EAST; + add(handSizeInfo, c); + } } } -- cgit v1.2.3