Mouseover and click problem in hand area fixed.

This commit is contained in:
Doublestrike
2011-11-30 01:50:46 +00:00
parent acf376d3f7
commit 0431c91bf8
2 changed files with 30 additions and 9 deletions

View File

@@ -21,6 +21,9 @@ import java.awt.Point;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.awt.event.ComponentAdapter; import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent; import java.awt.event.ComponentEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@@ -35,6 +38,7 @@ import arcane.ui.util.Animation;
import forge.AllZone; import forge.AllZone;
import forge.Card; import forge.Card;
import forge.GuiDisplay;
import forge.Constant.Zone; import forge.Constant.Zone;
import forge.PlayerZone; import forge.PlayerZone;
import forge.view.match.ViewHand; import forge.view.match.ViewHand;
@@ -63,7 +67,7 @@ public class ControlHand {
/** Adds observers to hand panel. */ /** Adds observers to hand panel. */
public void addObservers() { public void addObservers() {
final ViewTopLevel t = (ViewTopLevel) AllZone.getDisplay(); // asdf NECESSARY? final ViewTopLevel t = (ViewTopLevel) AllZone.getDisplay();
AllZone.getHumanPlayer().getZone(Zone.Hand).addObserver(new Observer() { AllZone.getHumanPlayer().getZone(Zone.Hand).addObserver(new Observer() {
@Override @Override
@@ -124,15 +128,34 @@ public class ControlHand {
}); });
} }
/** Adds listeners to hand panel: window resize, etc. */ /** Adds listeners to hand panel: clicks, mouseover, etc. */
public void addListeners() { public void addListeners() {
this.view.addComponentListener(new ComponentAdapter() { final ViewTopLevel t = (ViewTopLevel) AllZone.getDisplay();
view.getHandArea().addMouseListener(new MouseAdapter() {
// Card click
@Override @Override
public void componentResized(final ComponentEvent e) { public void mousePressed(final MouseEvent e) {
// Ensures cards in hand scale properly with parent. if (e.getButton() != MouseEvent.BUTTON1) {
//ControlHand.this.view.refreshLayout(); return;
}
final Card c = view.getHandArea().getCardFromMouseOverPanel();
if (c != null) {
t.getInputController().getInputControl().selectCard(c, AllZone.getHumanPlayer().getZone(Zone.Hand));
}
} }
}); });
view.getHandArea().addMouseMotionListener(new MouseMotionAdapter() {
// Card mouseover
@Override
public void mouseMoved(final MouseEvent me) {
final Card c = view.getHandArea().getCardFromMouseOverPanel();
if (c != null) {
t.setCard(c);
}
} // mouseMoved
});
} }
/** /**

View File

@@ -514,9 +514,7 @@ public class ViewTopLevel extends FPanel implements Display {
* @return a {@link forge.Card} object. * @return a {@link forge.Card} object.
*/ */
public final Card getCard() { public final Card getCard() {
System.err.println("ViewTopLevel > getCard: Something should happen here!"); return this.getCardviewerController().getCurrentCard();
new Exception().printStackTrace();
return null; // new Card(); //detail.getCard();
} }
/** /**