summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/impl/PlayerPanel.java
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-06-08 21:58:16 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-06-08 21:58:16 +0200
commit45d5b3ae10ed8cfbecb5489636093c6fb0576970 (patch)
tree1aa1c012f46fe204d997e8c6896940800f5461bb /src/jrummikub/view/impl/PlayerPanel.java
parent2e376414b941da3c6fa3c20ddad085c695175542 (diff)
downloadJRummikub-45d5b3ae10ed8cfbecb5489636093c6fb0576970.tar
JRummikub-45d5b3ae10ed8cfbecb5489636093c6fb0576970.zip
Implement pause function
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@390 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/view/impl/PlayerPanel.java')
-rw-r--r--src/jrummikub/view/impl/PlayerPanel.java146
1 files changed, 83 insertions, 63 deletions
diff --git a/src/jrummikub/view/impl/PlayerPanel.java b/src/jrummikub/view/impl/PlayerPanel.java
index dcd22ed..d69323f 100644
--- a/src/jrummikub/view/impl/PlayerPanel.java
+++ b/src/jrummikub/view/impl/PlayerPanel.java
@@ -53,11 +53,13 @@ class PlayerPanel extends JPanel implements IPlayerPanel {
private JButton endTurnButton;
private JButton keepStonesButton;
private JButton redealButton;
+ private JButton pauseButton;
private Event sortByGroupsEvent = new Event();
private Event sortByRunsEvent = new Event();
private Event endTurnEvent = new Event();
private Event redealEvent = new Event();
+ private Event pauseEvent = new Event();
HandPanel getHandPanel() {
return hand;
@@ -117,6 +119,10 @@ class PlayerPanel extends JPanel implements IPlayerPanel {
return redealEvent;
}
+ IEvent getPauseEvent() {
+ return pauseEvent;
+ }
+
private void createLeftPanel() {
leftPanel = new JPanel();
leftPanel.setLayout(null);
@@ -206,6 +212,13 @@ class PlayerPanel extends JPanel implements IPlayerPanel {
redealEvent.emit();
}
});
+
+ pauseButton = createButton(rightPanel, null, new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ pauseEvent.emit();
+ }
+ });
}
private JButton createButton(JPanel panel, String caption,
@@ -271,6 +284,67 @@ class PlayerPanel extends JPanel implements IPlayerPanel {
hand.addComponentListener(rescaleListener);
}
+ @Override
+ 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;
+ }
+ }
+
+ void showButtons(boolean show) {
+ currentPlayerNameLabel.setVisible(show);
+ hasLaidOutLabel.setVisible(show);
+ sortByGroupsButton.setVisible(show);
+ sortByRunsButton.setVisible(show);
+ timeBar.setVisible(show);
+ pauseButton.setVisible(show);
+
+ if (!show) {
+ handRowDownButton.setForeground(Color.GRAY);
+ handRowDownButton.setEnabled(false);
+ handRowUpButton.setForeground(Color.GRAY);
+ handRowUpButton.setEnabled(false);
+ endTurnButton.setVisible(false);
+ redealButton.setVisible(false);
+ keepStonesButton.setVisible(false);
+ }
+ }
+
+ void enableButtons(boolean enable) {
+ sortByGroupsButton.setEnabled(enable);
+ sortByRunsButton.setEnabled(enable);
+ if (!enable) {
+ setEndTurnMode(TurnMode.NORMAL_TURN);
+ endTurnButton.setText("<html><center>Computer denkt nach");
+ hand.setStones(Collections.<Pair<Stone, Position>> emptyList());
+ handRowDownButton.setForeground(Color.GRAY);
+ handRowDownButton.setEnabled(false);
+ handRowUpButton.setForeground(Color.GRAY);
+ handRowUpButton.setEnabled(false);
+ }
+ endTurnButton.setEnabled(enable);
+ redealButton.setEnabled(enable);
+ keepStonesButton.setEnabled(enable);
+ hand.setEnabled(enable);
+ }
+
private class LeftPanelResizeListener extends ComponentAdapter {
@Override
public void componentResized(ComponentEvent e) {
@@ -341,10 +415,16 @@ class PlayerPanel extends JPanel implements IPlayerPanel {
fontSize * 1.5f));
handRowDownButton.setBounds(0, getHeight() / 2, handButtonWidth,
getHeight() / 2);
- handRowDownButton.setFont(handRowDownButton.getFont().deriveFont(
- fontSize * 1.5f));
+ handRowDownButton.setFont(handRowDownButton.getFont()
+ .deriveFont(fontSize));
+
+ timeBar.setBounds(x, y, width - firstLineHeight - SIDE_PANEL_SEPARATOR,
+ firstLineHeight);
+ pauseButton.setBounds(x + width - firstLineHeight, y, firstLineHeight,
+ firstLineHeight);
+ pauseButton.setIcon(ImageUtil
+ .createPauseIcon((int) (firstLineHeight * 0.5f)));
- timeBar.setBounds(x, y, width, firstLineHeight);
endTurnButton.setBounds(x, y + firstLineHeight + SIDE_PANEL_SEPARATOR,
buttonWidth, buttonHeight);
endTurnButton.setFont(endTurnButton.getFont().deriveFont(fontSize));
@@ -360,64 +440,4 @@ class PlayerPanel extends JPanel implements IPlayerPanel {
}
}
-
- @Override
- 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;
- }
- }
-
- void showButtons(boolean show) {
- currentPlayerNameLabel.setVisible(show);
- hasLaidOutLabel.setVisible(show);
- sortByGroupsButton.setVisible(show);
- sortByRunsButton.setVisible(show);
- timeBar.setVisible(show);
-
- if (!show) {
- handRowDownButton.setForeground(Color.GRAY);
- handRowDownButton.setEnabled(false);
- handRowUpButton.setForeground(Color.GRAY);
- handRowUpButton.setEnabled(false);
- endTurnButton.setVisible(false);
- redealButton.setVisible(false);
- keepStonesButton.setVisible(false);
- }
- }
-
- void enableButtons(boolean enable) {
- sortByGroupsButton.setEnabled(enable);
- sortByRunsButton.setEnabled(enable);
- if (!enable) {
- setEndTurnMode(TurnMode.NORMAL_TURN);
- endTurnButton.setText("<html><center>Computer denkt nach");
- hand.setStones(Collections.<Pair<Stone, Position>> emptyList());
- handRowDownButton.setForeground(Color.GRAY);
- handRowDownButton.setEnabled(false);
- handRowUpButton.setForeground(Color.GRAY);
- handRowUpButton.setEnabled(false);
- }
- endTurnButton.setEnabled(enable);
- redealButton.setEnabled(enable);
- keepStonesButton.setEnabled(enable);
- hand.setEnabled(enable);
- }
}