Package gui.tool
Class ShapeTool
java.lang.Object
gui.tool.ShapeTool
- All Implemented Interfaces:
PageEventHandler,Tool
An implementation of Tool that allows the user to create various shapes
-
Nested Class Summary
Nested classes/interfaces inherited from interface gui.page.PageEventHandler
PageEventHandler.HandlerMethod<T extends javafx.event.Event> -
Constructor Summary
ConstructorsConstructorDescriptionShapeTool(javafx.beans.property.ObjectProperty<javafx.scene.paint.Color> colour) -
Method Summary
Modifier and TypeMethodDescriptionvoiddisabledFor(Page page) Called when the handler is no longer set to receive events for the given page.voidenabledFor(Page page) Called when the handler is set to receive events from the given page.voidendShape()Updates the page with the currently drawn shapejavafx.scene.NodeReturn the "graphic" to show in the toolbar for this tool.Get the handler methods to be added to a page through which events will be received.getName()Return the name of this tool.javafx.scene.layout.FlowPaneReturn the GUI element which configures the settings for this tool.voidstartShape(javafx.geometry.Point2D p1, javafx.geometry.Point2D p2, javafx.scene.paint.Color c1, ShapeType type) Initializes a shape given two positions, its color and its type.voidupdateShape(javafx.geometry.Point2D p1, javafx.geometry.Point2D p2, boolean sameSides) Modifies and updates a shape to fit within the bounding box defined by two points.
-
Constructor Details
-
ShapeTool
public ShapeTool(javafx.beans.property.ObjectProperty<javafx.scene.paint.Color> colour)
-
-
Method Details
-
getName
Description copied from interface:ToolReturn the name of this tool. -
getGraphic
public javafx.scene.Node getGraphic()Description copied from interface:ToolReturn the "graphic" to show in the toolbar for this tool.- Specified by:
getGraphicin interfaceTool
-
getHandlerMethods
Description copied from interface:PageEventHandlerGet the handler methods to be added to a page through which events will be received.- Specified by:
getHandlerMethodsin interfacePageEventHandler
-
enabledFor
Description copied from interface:PageEventHandlerCalled when the handler is set to receive events from the given page.- Specified by:
enabledForin interfacePageEventHandler
-
disabledFor
Description copied from interface:PageEventHandlerCalled when the handler is no longer set to receive events for the given page.Implementors should get rid of any references to the given page when this method is called.
- Specified by:
disabledForin interfacePageEventHandler
-
getSettingsGUI
public javafx.scene.layout.FlowPane getSettingsGUI()Description copied from interface:ToolReturn the GUI element which configures the settings for this tool.The returned Node will be shown in the tool pane when this tool is selected.
- Specified by:
getSettingsGUIin interfaceTool
-
getCurrentShape
-
startShape
public void startShape(javafx.geometry.Point2D p1, javafx.geometry.Point2D p2, javafx.scene.paint.Color c1, ShapeType type) Initializes a shape given two positions, its color and its type.- Parameters:
p1- The point to create the shapep2- The first point that defines the shapec1- The second point that defines the shapetype- The enum representing the shape's type
-
updateShape
public void updateShape(javafx.geometry.Point2D p1, javafx.geometry.Point2D p2, boolean sameSides) Modifies and updates a shape to fit within the bounding box defined by two points.- Parameters:
p1- The first point that defines the shapep2- The second point that defines the shapesameSides- Whether the shape should have the same width and height (e.x. making a square)
-
endShape
public void endShape()Updates the page with the currently drawn shape
-