diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-06-19 00:14:27 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-06-19 00:14:27 +0200 |
commit | 479384d6bfeea0c225af829cbc1cac730d87c844 (patch) | |
tree | f9a1ef3b2e87c9179d482443a11e98581e660939 /src/jrummikub/view/impl/TablePanel.java | |
parent | e8549b95dff600aa173384a8f7bdbf0871ba9d47 (diff) | |
download | JRummikub-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.java | 14 |
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++; } |