summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/impl/TablePanel.java
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-06-19 00:14:27 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-06-19 00:14:27 +0200
commit479384d6bfeea0c225af829cbc1cac730d87c844 (patch)
treef9a1ef3b2e87c9179d482443a11e98581e660939 /src/jrummikub/view/impl/TablePanel.java
parente8549b95dff600aa173384a8f7bdbf0871ba9d47 (diff)
downloadJRummikub-479384d6bfeea0c225af829cbc1cac730d87c844.tar
JRummikub-479384d6bfeea0c225af829cbc1cac730d87c844.zip
Correctly show invalid sets
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@471 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/view/impl/TablePanel.java')
-rw-r--r--src/jrummikub/view/impl/TablePanel.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/jrummikub/view/impl/TablePanel.java b/src/jrummikub/view/impl/TablePanel.java
index 1e8a2b6..4b7ab9f 100644
--- a/src/jrummikub/view/impl/TablePanel.java
+++ b/src/jrummikub/view/impl/TablePanel.java
@@ -28,6 +28,7 @@ import jrummikub.util.IListener1;
import jrummikub.util.Pair;
import jrummikub.view.IStoneCollectionPanel;
import jrummikub.view.ITablePanel;
+import jrummikub.view.impl.StonePainter.StoneState;
/**
* The implementation of the table
@@ -54,6 +55,8 @@ class TablePanel extends AbstractStonePanel implements ITablePanel {
private Iterable<Pair<StoneSet, Position>> stoneSets = Collections.emptySet();
private List<Pair<StoneSet, Position>> pauseStoneSets;
+ private Collection<StoneSet> invalidStoneSets = Collections.emptyList();
+
private Collection<Stone> selectedStones = Collections.emptyList();
private Event1<StoneSet> leftConnectorClickEvent = new Event1<StoneSet>();
@@ -112,6 +115,11 @@ class TablePanel extends AbstractStonePanel implements ITablePanel {
repaint();
}
+ void setInvalidStoneSets(Collection<StoneSet> sets) {
+ invalidStoneSets = sets;
+ repaint();
+ }
+
void createPauseStoneSets() {
pauseStoneSets = new ArrayList<Pair<StoneSet, Position>>();
@@ -312,8 +320,12 @@ class TablePanel extends AbstractStonePanel implements ITablePanel {
(int) (width * CONNECTOR_WIDTH), height)));
for (Stone stone : stoneSet) {
+ StoneState state = invalidStoneSets.contains(stoneSet) ? StoneState.INVALID
+ : selectedStones.contains(stone) ? StoneState.SELECTED
+ : StoneState.NORMAL;
+
getStonePainter().paintStone(g, stone, new Position(x, pos.getY()),
- selectedStones.contains(stone), stone == getHoveredStone());
+ state, stone == getHoveredStone());
x++;
}