summaryrefslogtreecommitdiffstats
path: root/src/jrummikub
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub')
-rw-r--r--src/jrummikub/view/IBoard.java6
-rw-r--r--src/jrummikub/view/IClickable.java23
-rw-r--r--src/jrummikub/view/IPlayerPanel.java32
-rw-r--r--src/jrummikub/view/ITable.java30
-rw-r--r--src/jrummikub/view/IView.java10
5 files changed, 101 insertions, 0 deletions
diff --git a/src/jrummikub/view/IBoard.java b/src/jrummikub/view/IBoard.java
index cf048f1..0816937 100644
--- a/src/jrummikub/view/IBoard.java
+++ b/src/jrummikub/view/IBoard.java
@@ -6,5 +6,11 @@ import jrummikub.model.Position;
import jrummikub.model.Stone;
public interface IBoard extends IClickable {
+ /**
+ * Set the player's stones to display on the board
+ *
+ * @param stones
+ * the stones
+ */
public void setStones(Map<Stone, Position> stones);
}
diff --git a/src/jrummikub/view/IClickable.java b/src/jrummikub/view/IClickable.java
index 9973d5b..818e4fa 100644
--- a/src/jrummikub/view/IClickable.java
+++ b/src/jrummikub/view/IClickable.java
@@ -4,9 +4,32 @@ import jrummikub.model.Position;
import jrummikub.util.IEvent2;
public interface IClickable {
+ /**
+ * the click event is emitted when the player clicks on the table/board/etc.
+ *
+ * @return the event; the first parameter is the position of the click in grid
+ * coordinates, the second is true when the player wants to add stones
+ * to his selection instead of replacing them
+ */
public IEvent2<Position, Boolean> getClickEvent();
+ /**
+ * the range click event is emitted when the player clicks on the table/board/
+ * etc. and wants to select a range instead of a single stone
+ *
+ * @return the event; the first parameter is the position of the click in grid
+ * coordinates, the second is true when the player wants to add stones
+ * to his selection instead of replacing them
+ */
public IEvent2<Position, Boolean> getRangeClickEvent();
+ /**
+ * the set click event is emitted when the player clicks on the table/board/
+ * etc. and wants to select a whole set instead of a single stone
+ *
+ * @return the event; the first parameter is the position of the click in grid
+ * coordinates, the second is true when the player wants to add stones
+ * to his selection instead of replacing them
+ */
public IEvent2<Position, Boolean> getSetClickEvent();
}
diff --git a/src/jrummikub/view/IPlayerPanel.java b/src/jrummikub/view/IPlayerPanel.java
index 4c15278..4cddfa4 100644
--- a/src/jrummikub/view/IPlayerPanel.java
+++ b/src/jrummikub/view/IPlayerPanel.java
@@ -3,15 +3,47 @@ package jrummikub.view;
import jrummikub.util.IEvent;
public interface IPlayerPanel {
+ /**
+ * @return
+ */
public IBoard getBoard();
+ /**
+ * Sets the current player's name
+ *
+ * @param playerName
+ * the player name
+ */
public void setCurrentPlayerName(String playerName);
+ /**
+ * Sets the time the player has left for his turn
+ *
+ * @param time
+ * the time left
+ */
public void setTimeLeft(int time);
+ /**
+ * The sort by number event is emitted when the player wants to sort his
+ * stones by number
+ *
+ * @return the event
+ */
public IEvent getSortByNumberEvent();
+ /**
+ * The sort by number event is emitted when the player wants to sort his
+ * stones by number
+ *
+ * @return the event
+ */
public IEvent getSortByColorEvent();
+ /**
+ * The end turn event is emitted when the player wants to end his turn
+ *
+ * @return the event
+ */
public IEvent getEndTurnEvent();
}
diff --git a/src/jrummikub/view/ITable.java b/src/jrummikub/view/ITable.java
index b5412cb..258263a 100644
--- a/src/jrummikub/view/ITable.java
+++ b/src/jrummikub/view/ITable.java
@@ -6,13 +6,43 @@ import jrummikub.model.Position;
import jrummikub.model.StoneSet;
public interface ITable extends IClickable {
+ /**
+ * Sets the player name on the left label
+ *
+ * @param playerName
+ * the name to set
+ */
public void setLeftPlayerName(String playerName);
+ /**
+ * Sets the player name on the top label
+ *
+ * @param playerName
+ * the name to set
+ */
public void setTopPlayerName(String playerName);
+ /**
+ * Sets the player name on the right label
+ *
+ * @param playerName
+ * the name to set
+ */
public void setRightPlayerName(String playerName);
+ /**
+ * Sets the stone sets lying on the table
+ *
+ * @param stoneSets
+ * set stone sets on the table
+ */
public void setStoneSets(Map<StoneSet, Position> stoneSets);
+ /**
+ * Returns the stone collection (the panel showing the stones currently
+ * selected)
+ *
+ * @return the stone collection
+ */
IStoneCollection getStoneCollection();
}
diff --git a/src/jrummikub/view/IView.java b/src/jrummikub/view/IView.java
index 2b34522..419a2c1 100644
--- a/src/jrummikub/view/IView.java
+++ b/src/jrummikub/view/IView.java
@@ -6,14 +6,24 @@ import jrummikub.model.Stone;
public interface IView {
/**
+ * Returns the table
+ *
* @return the table
*/
public ITable getTable();
/**
+ * Returns the player panel
+ *
* @return the playerPanel
*/
public IPlayerPanel getPlayerPanel();
+ /**
+ * Sets the stones that are to be drawn selected
+ *
+ * @param stones
+ * the stones to be drawn selected
+ */
public void setSelectedStones(Collection<Stone> stones);
}