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
ConstructorDescriptionShapeTool
(javafx.beans.property.ObjectProperty<javafx.scene.paint.Color> colour) -
Method Summary
Modifier and TypeMethodDescriptionvoid
disabledFor
(Page page) Called when the handler is no longer set to receive events for the given page.void
enabledFor
(Page page) Called when the handler is set to receive events from the given page.void
endShape()
Updates the page with the currently drawn shapejavafx.scene.Node
Return 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.FlowPane
Return the GUI element which configures the settings for this tool.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.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.
-
Constructor Details
-
ShapeTool
public ShapeTool(javafx.beans.property.ObjectProperty<javafx.scene.paint.Color> colour)
-
-
Method Details
-
getName
Description copied from interface:Tool
Return the name of this tool. -
getGraphic
public javafx.scene.Node getGraphic()Description copied from interface:Tool
Return the "graphic" to show in the toolbar for this tool.- Specified by:
getGraphic
in interfaceTool
-
getHandlerMethods
Description copied from interface:PageEventHandler
Get the handler methods to be added to a page through which events will be received.- Specified by:
getHandlerMethods
in interfacePageEventHandler
-
enabledFor
Description copied from interface:PageEventHandler
Called when the handler is set to receive events from the given page.- Specified by:
enabledFor
in interfacePageEventHandler
-
disabledFor
Description copied from interface:PageEventHandler
Called 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:
disabledFor
in interfacePageEventHandler
-
getSettingsGUI
public javafx.scene.layout.FlowPane getSettingsGUI()Description copied from interface:Tool
Return 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:
getSettingsGUI
in 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
-