Skip to content

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();
	}
}"]
		}}
		}}
		}}
		}}
		}}
	}

Clone this wiki locally