package general; public class Main extends Application { public void start (Stage stage) } package general; public class MainController { public MainController(Stage stage) } package general; public class Properties { public Properties(String path) public String getStringProperty(String propertyName) public double getDoubleProperty(String propertyName) } package gui; public interface BoardStateDataSource { public double getXCoordinate(); public double getYCoordinate(); public double getAngle(); public boolean getTurtleIsShowing(); public boolean getTurtleIsDrawing(); public List getLineCoordinates(); public Map getUserDefinedVariables(); } package gui; public class BrowserView { public BrowserView (Stage stage) } package gui; public class CanvasActions{ public CanvasActions(double canvasWidth, double canvasHeight) public void setBackgroundColorCanvas(Color color) public Pane getPane() public Canvas getCanvas() public void changeImage(Image image, double xLoc, double yLoc) public void setHeading(double degrees) public void setXandYLoc(double xLocation, double yLocation) public void drawPath(List myCords) public void addTurtleAtXY() public void removeTurtle() public void moveTurtle() public void setShowTurtle(boolean isShowing) public void setPenDown(boolean penPos) public void setTurtleImage(Image image, double xLoc, double yLoc) public void setPenColor(Color color) } package gui; public class ErrorConsole { public ErrorConsole(double errorFontSize) public void displayErrorMessage(String myError) public Label getErrorMessage() } package gui; public class FadingTransition { public FadingTransition() public SequentialTransition setupNode(Node node) } package gui; public class InputPanel extends HBox { public String getText() public void clear() } package gui; public class SettingsController extends Observable { public SettingsController(Stage myStage, Properties viewProperties) public HBox getHBox() public Color getNewBackgroundColor() public Color getNewPenColor() public String getNewLanguage() public Image getNewImage() } package gui; public interface SlogoCommandInterpreter { public void parseInput(String input) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException; public void setLanguage(String language); } package gui; public class TitleBox extends Group { public TitleBox(double x, double y, double width, double height, String title) public String getText() public void setText(String text) } package gui; public class TurtleDataTranslator { public TurtleDataTranslator(double canvasWidth, double canvasHeight) public double convertXCordinate(double xCor) public double convertYCordinate(double yCor) public List convertLineCordinates(List myPath) public double convertAngle(double degree) } package gui; public class TurtleView { public TurtleView(double x, double y, Image image, boolean turtleStatus, Color myColor) public boolean getPenDown() public void setPenDown(boolean penPos) public double getHeading() public void setHeading(double direction) } package gui; public class UserDefinedCommand { public UserDefinedCommand(String name, String value) public String getName() public void setName(String name) public String getValue() public void setValue(String value) } package gui; public class Variable { public Variable(String name, String value) public String getName() public void setName(String name) public String getValue() public void setValue(String value) } package gui; public class ViewController implements Observer, ErrorPresenter { public ViewController(Stage stage) public Node createCanvas() // public void handle() public void update(Observable obs, Object o) public void presentError(String errorMessage) public void update(Object obs, BoardStateDataSource o) public void update(SettingsController obs, Object o) public void setModelController(BoardStateDataSource modelController) public void setInterpreter(SlogoCommandInterpreter interpreter) } package gui; public class ViewImageChooser { public static Image selectImage(String path, double x, double y) } package interpreter; public class BooleanInterpreter extends SubInterpreter{ } package interpreter; public class ControlInterpreter extends SubInterpreter{ } package interpreter; public interface ErrorPresenter { public void presentError(String s); } package interpreter; public class GeneralInterpreter extends SubInterpreter{ } package interpreter; public interface InterpreterInterface { } package interpreter; public class MainInterpreter implements SlogoCommandInterpreter { public MainInterpreter() public void parseInput(String input) throws ClassNotFoundException, NoSuchMethodException, public int getRepCount() public void setLanguage(String language) public void setStateDataSource(TurtleStateDataSource stateDataSource) public void setStateUpdater(TurtleStateUpdater stateUpdater) public void setVarDataSource(UserVariablesDataSource varDataSource) public void setErrorPresenter(ErrorPresenter p) public SlogoUpdate getModel() } package interpreter; public class MathInterpreter extends SubInterpreter{ } package interpreter; public class SlogoUpdate { public SlogoUpdate(TurtleStateDataSource source) public Boolean getTurtleShouldDraw() public Boolean getTurtleShouldShow() public Double getXCoordinate() public Double getYCoordinate() public Double getAngle() public void rotateClockwise(double degrees) public void rotateCounterClockwise(double degrees) public void moveForward(double pixels) public void moveBackward(double pixels) public void show() public void hide() public void moveTo(double x, double y) public double turnToward(double x, double y) public double setAngle(double newAngle) public void putPenDown() public void putPenUp() } package interpreter; public abstract class SubInterpreter { } package interpreter; public class TestMain extends Application{ public void start(Stage primaryStage) throws Exception } package interpreter; public class TurtleCommandInterpreter extends SubInterpreter{ } package interpreter; public class TurtleQueryInterpreter extends SubInterpreter{ } package interpreter; public interface TurtleStateDataSource { public double getXCoordinate(); public double getYCoordinate(); public double getAngle(); public boolean getTurtleIsShowing(); public boolean getTurtleIsDrawing(); } package interpreter; public interface TurtleStateUpdater { public void applyChanges(SlogoUpdate update); public void resetBoard(); } package interpreter; public interface UserVariablesDataSource { public Map getUserDefinedVariables(); public String getUserDefinedVariable(String key); public void addUserDefinedVariable(String varName, String userInput); } package model; public class BoardState extends Observable { public static BoardState getCurrentState() public double getXCoordinate() public void setXCoordinate(double xCoordinate) public double getYCoordinate() public void setYCoordinate(double yCoordinate) public double getAngle() public void setAngle(double angle) public boolean isDrawing() public void setDrawing(boolean turtleShouldDraw) public double getDistanceMoved() public void setDistanceMoved(double distanceMoved) public boolean isShowing() public void setShowing(boolean turtleShouldShow) public List getLineCoordinates() public void addLineCoordinates(PathLine line) public void addUserDefinedVariable(String varName, String userInput) public HashMap getUserDefinedVariables() } package model; public class BoardStateController implements TurtleStateDataSource, BoardStateDataSource, TurtleStateUpdater, UserVariablesDataSource { public void applyChanges(SlogoUpdate changes) public void addBoardStateListener(Observer o) public double getXCoordinate() public double getYCoordinate() public double getAngle() public boolean getTurtleIsShowing() public boolean getTurtleIsDrawing() public List getLineCoordinates() public Map getUserDefinedVariables() public void addUserDefinedVariable(String varName, String userInput) public String getUserDefinedVariable(String key) public void resetBoard() } package model; public class PathLine { public PathLine(double x1, double y1, double x2, double y2) public double getX1() public double getY1() public double getX2() public double getY2() } package regularExpression; public class ProgramParser { public ProgramParser () public void addPatterns (String syntax) public String getSymbol (String text) } package regularExpression; public class RegexMain { }