package jrummikub.view;
import java.util.Collection;
import jrummikub.model.Stone;
import jrummikub.util.IEvent;
/**
* The top-level view interface
*/
public interface IView {
* Returns the table
*
* @return the table
public ITablePanel getTablePanel();
* @return the board where the players hand stones are displayed
public IHandPanel getHandPanel();
* Returns the player panel
* @return the playerPanel
public IPlayerPanel getPlayerPanel();
* Sets the current player's name
* @param playerName
* the player name
public void setCurrentPlayerName(String playerName);
* Sets the stones that are to be painted selected
* @param stones
* the stones to be painted selected
public void setSelectedStones(Collection<Stone> stones);
* Enables or disables the player's StartTurnPanel
* @param enable
* enable/disable
public void enableStartTurnPanel(boolean enable);
* The start turn event is emitted when the player wants to start his turn
* @return the event
public IEvent getStartTurnEvent();
* Enables or disables the panel shown when a player has won
void enableWinPanel(boolean enable);
* The quit event is emitted when the player wants to quit the game
IEvent getFinalScoreEvent();
* The new round event is emitted when the player wants to start a new round
IEvent getNewRoundEvent();
}