Created Command and UndoableCommand classes with empty methods
Implemented AddShapeCommand, CommandTarget and part of CommandFactory
Implemented and renamed RemoveShapeCommand. Implemented part of CommandFactory
Implemented AddTemporaryShapeCommand and finished CommandFactory
CircleMouseListener now uses commands
Application, and UIFactory modified to accomodate those changes
Fixed some problens in commandFactory and CommandTarget
Parcially implemented CommandDispatcher
PolygonLineMouseListener now uses Commands
PolygonMouseListener now uses Commands
RectangleMouseListener now uses Command
RemoveShapeMouseListener now uses Commands.
Fixed some inconsistencies on Canvas.
Created RemoveShapeByCoordinatesCommand Class, modified CommandTarget and CommandFactory accordingly.
Reorganized Package Structure
Implemented UndoManager
CommandDispatcher now has a undoManager
Undo works with circles, project needs refactoring
Refactored Project, CommandFactory no longer exists, CommandDispatcher is now responsible to set the commands target, undo works all across the project now
Implemented redo, fixed a couple problems
Changed the Redo menu item label
Implemented tests for Undo operations
Fixed bug in RemoveShapeByCoordinatesCommand
Discarted UndoableCommand interface, now commands set themselves dinamically whether they can, or not Undo