summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/view')
-rw-r--r--src/jrummikub/view/IGameListPanel.java8
-rw-r--r--src/jrummikub/view/ISettingsPanel.java21
-rw-r--r--src/jrummikub/view/IView.java48
-rw-r--r--src/jrummikub/view/impl/GameListPanel.java16
4 files changed, 81 insertions, 12 deletions
diff --git a/src/jrummikub/view/IGameListPanel.java b/src/jrummikub/view/IGameListPanel.java
index 8a05546..47de90e 100644
--- a/src/jrummikub/view/IGameListPanel.java
+++ b/src/jrummikub/view/IGameListPanel.java
@@ -35,9 +35,15 @@ public interface IGameListPanel {
* Sets the channel name
*
* @param name
- * channel name
+ * channel name
*/
public void setChannelName(String name);
+ /**
+ * Set the games (host and player count) into the game list
+ *
+ * @param games
+ * list of game data
+ */
public void setGameList(List<GameData> games);
}
diff --git a/src/jrummikub/view/ISettingsPanel.java b/src/jrummikub/view/ISettingsPanel.java
index d01129e..c52d72c 100644
--- a/src/jrummikub/view/ISettingsPanel.java
+++ b/src/jrummikub/view/ISettingsPanel.java
@@ -37,10 +37,10 @@ public interface ISettingsPanel {
};
/**
- * enables the start of a network game at a given point in game
+ * Sets the settings mode according to the point of the game
*
- * @param enable
- * starting a network game
+ * @param mode
+ * settings mode to be set (join, offer, network, default)
*/
public void setSettingsMode(SettingsMode mode);
@@ -237,6 +237,12 @@ public interface ISettingsPanel {
*/
public IEvent getOfferGameEvent();
+ /**
+ * Sets the player colors which can be chosen
+ *
+ * @param colors
+ * a Set of colors which are not taken yet
+ */
public void setPlayerColors(Set<Color> colors);
/**
@@ -260,13 +266,14 @@ public interface ISettingsPanel {
/** Only computer players added */
COMPUTER_PLAYERS_ONLY_WARNING
}
-
+
/**
- * SettingsPanel can be used with different functions in different situations
+ * SettingsPanel can be used with different functions in different
+ * situations
*/
public enum SettingsMode {
- /**Local game settings */
- DEFAULT,
+ /** Local game settings */
+ DEFAULT,
/** */
NETWORK_SETUP,
/** */
diff --git a/src/jrummikub/view/IView.java b/src/jrummikub/view/IView.java
index 1121b44..33f6284 100644
--- a/src/jrummikub/view/IView.java
+++ b/src/jrummikub/view/IView.java
@@ -162,22 +162,70 @@ public interface IView {
*/
public IEvent1<File> getSaveEvent();
+ /**
+ * The pause event is emitted when the user wants to pause the current turn
+ *
+ * @return the event
+ */
public IEvent getPauseEvent();
+ /**
+ * The end pause event is emitted when the user wants to sresume the game
+ * after a pause
+ *
+ * @return the event
+ */
public IEvent getEndPauseEvent();
+ /**
+ * Hides all view elements and panels except for the cleared table and an
+ * empty hand panel
+ */
public void clearView();
+ /**
+ * The network game event is emitted when the user chooses a network game
+ *
+ * @return the event
+ */
public IEvent getNetworkGameEvent();
+ /**
+ * Getter for login panel
+ *
+ * @return login panel
+ */
public ILoginPanel getLoginPanel();
+ /**
+ * Getter for game list panel
+ *
+ * @return game list panel
+ */
public IGameListPanel getGameListPanel();
+ /**
+ * Show/hide login panel
+ *
+ * @param show
+ * true = login panel is shown
+ */
public void showLoginPanel(boolean show);
+ /**
+ * Enable/disable pause mode
+ *
+ * @param enable
+ * true = enable
+ */
public void enablePauseMode(boolean enable);
+ /**
+ * Show/hide game list panel
+ *
+ * @param show
+ * true = show
+ */
public void showGameListPanel(boolean show);
/**
diff --git a/src/jrummikub/view/impl/GameListPanel.java b/src/jrummikub/view/impl/GameListPanel.java
index b7b170b..e1e1c9d 100644
--- a/src/jrummikub/view/impl/GameListPanel.java
+++ b/src/jrummikub/view/impl/GameListPanel.java
@@ -31,6 +31,8 @@ import jrummikub.util.IEvent1;
import jrummikub.view.IGameListPanel;
class GameListPanel extends JPanel implements IGameListPanel {
+ private static final long serialVersionUID = 1L;
+
private JLabel title;
private JList gameList;
private JButton joinButton;
@@ -67,6 +69,13 @@ class GameListPanel extends JPanel implements IGameListPanel {
c.weighty = 0;
add(Box.createVerticalStrut(3), c);
+ addButtons(c);
+
+ setBorder(new CompoundBorder(new LineBorder(Color.BLACK),
+ new EmptyBorder(10, 10, 10, 10)));
+ }
+
+ private void addButtons(GridBagConstraints c) {
joinButton = new JButton("Beitreten");
c.gridwidth = 1;
add(joinButton, c);
@@ -109,9 +118,6 @@ class GameListPanel extends JPanel implements IGameListPanel {
cancelEvent.emit();
}
});
-
- setBorder(new CompoundBorder(new LineBorder(Color.BLACK), new EmptyBorder(
- 10, 10, 10, 10)));
}
void reset() {
@@ -157,6 +163,7 @@ class GameListPanel extends JPanel implements IGameListPanel {
private static class GameDataCellRenderer extends JPanel implements
ListCellRenderer {
+ private static final long serialVersionUID = -892701906163443927L;
JLabel hostLabel, playerCountLabel;
GameDataCellRenderer() {
@@ -193,7 +200,8 @@ class GameListPanel extends JPanel implements IGameListPanel {
int total = gameData.getGameSettings().getPlayerList().size();
int occupied = total;
- for (PlayerSettings player : gameData.getGameSettings().getPlayerList()) {
+ for (PlayerSettings player : gameData.getGameSettings()
+ .getPlayerList()) {
if (player.getType() == Type.VACANT) {
occupied--;
}