package jrummikub.view;
import jrummikub.model.Stone;
import jrummikub.util.IEvent2;
/**
* An interface for view elements that can emit click events for clicks on
* stones
*/
public interface IStonePanel {
* the click event is emitted when the player clicks on the table/hand/etc.
*
* @return the event; the first parameter is the stone that was clicked on,
* the second is true when the player wants to add stones to his
* selection instead of replacing them
public IEvent2<Stone, Boolean> getStoneClickEvent();
* the range click event is emitted when the player clicks on the table/hand/
* etc. and wants to select a range instead of a single stone
public IEvent2<Stone, Boolean> getRangeClickEvent();
* the set click event is emitted when the player clicks on the table/hand/
* etc. and wants to select a whole set instead of a single stone
* @return the event; the first parameter the stone that was clicked on, the
* second is true when the player wants to add stones to his selection
* instead of replacing them
public IEvent2<Stone, Boolean> getSetClickEvent();
}