-
Notifications
You must be signed in to change notification settings - Fork 6
v06 solitaire controllers PileController.scs
George Heineman edited this page Feb 8, 2018
·
1 revision
// no name. Can be overriden by extensions
PileDesignate : {
box [""]
}
PileController : {
λname. {letbox NameParameter = {name} in {
λdp. {letbox PileMousePressed = {dp} in {
λdc. {letbox PileMouseClicked = {dc} in {
λdr. {letbox PileMouseReleased = {dr} in {
λcn. {letbox PileDesignate = {cn} in {
box ["=======" NameParameter "/" PileDesignate "PileController.java=======
package " NameParameter ";
import java.awt.event.MouseEvent;
import ks.common.model.*;
import ks.common.view.*;
import ks.common.controller.*;
public class " PileDesignate "PileController extends SolitaireReleasedAdapter {
protected " NameParameter " theGame;
protected PileView src;
public " PileDesignate "PileController(" NameParameter " theGame, PileView src) {
super(theGame);
this.theGame = theGame;
this.src = src;
}
public void mousePressed(MouseEvent me) {
Container c = theGame.getContainer();
// Another Safety Check
Widget w = c.getActiveDraggingObject();
if (w != Container.getNothingBeingDragged()) {
System.err.println(\"mousePressed: Unexpectedly encountered a Dragging Object during a Mouse press.\");
return;
}
// should we ignore this
boolean me_ignore = true;
Widget me_widget = null;
"
// must both define me_ignore to false and set me_widget to valid widget
PileMousePressed
"
if (me_ignore) {
return;
}
// We tell the container what item is being dragged (and where in the Widget it was clicked)...
c.setActiveDraggingObject(me_widget, me);
// and where it came from
c.setDragSource(src);
c.repaint();
}
public void mouseClicked(MouseEvent me) {
"
PileMouseClicked
"
}
public void mouseReleased(MouseEvent me) {
Container c = theGame.getContainer();
// Safety Check
Widget w = c.getActiveDraggingObject();
if (w == Container.getNothingBeingDragged()) {
return;
}
"
PileMouseReleased
"
// release the dragging object since the move is now complete (this
// will reset container's dragSource).
c.releaseDraggingObject();
c.repaint();
}
}"]
}}
}}
}}
}}
}}
}