RedactorMVC v1.2.0
Changelog:
- Added
Stateclass to manage application state. - Removed previous
Pointclass andRectangleclass. - Added support for selecting and moving existing shapes.
- Shape creation is now handled by a
ShapeFactoryclass. - Significantly improved code organization and readability.
- Mouse listeners are now attached to the
JPanelmore effectively. - Created a
FillBehaviorenum to manage filled and unfilled shapes. - Introduced support for drawing lines, circles, ellipses, triangles, and rectangles.
- Completely refactored the application to utilize a model-view-controller architecture.
- The public API of the
ControllerandModelclasses has been significantly altered. - Replaced the old
Pointclass with a newPointclass extendingjava.awt.geom.Point2D. - Shapes are now represented by
MyShapeclasses, offering better encapsulation and extensibility. - Improved error handling throughout the codebase. Specifically, more robust handling of invalid user inputs.
- Implemented a singleton pattern for the
Controllerclass to ensure a single instance across the application. - Introduced the command pattern using
ActionInterfaceto manage drawing and moving actions, improving code organization and maintainability. - Replaced the simpler UI with a menu-based interface providing options for selecting shapes, fill behaviors, colors, stroke widths and actions.