From 9c056cfef76e310d049e718f0795771ca4cda678 Mon Sep 17 00:00:00 2001 From: Bennet Gerlach Date: Tue, 10 May 2011 02:10:30 +0200 Subject: Implemented direct placing of stones via alt-key git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@209 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/view/impl/AbstractStonePanel.java | 26 ++++++++++++++++++------- src/jrummikub/view/impl/TablePanel.java | 3 ++- 2 files changed, 21 insertions(+), 8 deletions(-) (limited to 'src/jrummikub/view/impl') diff --git a/src/jrummikub/view/impl/AbstractStonePanel.java b/src/jrummikub/view/impl/AbstractStonePanel.java index 82bc7b7..175f2df 100644 --- a/src/jrummikub/view/impl/AbstractStonePanel.java +++ b/src/jrummikub/view/impl/AbstractStonePanel.java @@ -63,7 +63,7 @@ abstract class AbstractStonePanel extends JPanel implements IStonePanel, @Override public void mouseClicked(MouseEvent e) { clickAt(e.getPoint(), e.getClickCount(), e.isShiftDown(), - e.isControlDown()); + e.isControlDown(), e.isAltDown()); } @Override @@ -86,19 +86,31 @@ abstract class AbstractStonePanel extends JPanel implements IStonePanel, } /** - * clickAt is called when a click has occured + * clickAt is called when a click has occurred * - * @param p the point in component coordinates - * @param clickCount the click count - * @param shift is shift down? - * @param control is control down? + * @param p + * the point in component coordinates + * @param clickCount + * the click count + * @param shift + * is shift down? + * @param control + * is control down? + * @param alt + * is alt down? */ - protected void clickAt(Point p, int clickCount, boolean shift, boolean control) { + protected void clickAt(Point p, int clickCount, boolean shift, + boolean control, boolean alt) { Insets insets = getInsets(); Pair trans = getTranslation(); Position pos = stonePainter.calculatePosition( p.x - insets.left - trans.getFirst(), p.y - insets.top - trans.getSecond()); + if (alt) { + clickEvent.emit(pos); + return; + } + Stone stone = getStoneAt(pos); if (stone == null) { diff --git a/src/jrummikub/view/impl/TablePanel.java b/src/jrummikub/view/impl/TablePanel.java index dfca389..4b385d3 100644 --- a/src/jrummikub/view/impl/TablePanel.java +++ b/src/jrummikub/view/impl/TablePanel.java @@ -156,7 +156,8 @@ class TablePanel extends AbstractStonePanel implements ITablePanel { public void handle(Point p) { Point p2 = SwingUtilities.convertPoint(stoneCollection, p, TablePanel.this); - clickAt(p2, 1, false, false); + // theres nothing below here + clickAt(p2, 1, false, false, true); } }); add(stoneCollection); -- cgit v1.2.3