Shatabdi's SE 450 Project Resubmission
main.Main    (Public Class)
  Declared as: 
    Define   [Main.java, 17]   /Users/shatabdi/Education/GitHub/se450_project/src/main/Main.java

model.commands.CommandHistory    (Public Class)
  Declared as: 
    Define   [CommandHistory.java, 9]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/CommandHistory.java
    DotRef   [ShapeUndoCommand.java, 16]   model.commands.ShapeUndoCommand.run
    DotRef   [ShapePasteCommand.java, 14]   model.commands.ShapePasteCommand
    DotRef   [ShapePasteCommand.java, 17]   model.commands.ShapePasteCommand
    DotRef   [ShapePasteCommand.java, 33]   model.commands.ShapePasteCommand.run
    DotRef   [ShapePasteCommand.java, 43]   model.commands.ShapePasteCommand.run
    DotRef   [ShapeGroupCommand.java, 21]   model.commands.ShapeGroupCommand.run
    DotRef   [ShapeGroupCommand.java, 24]   model.commands.ShapeGroupCommand.run
    DotRef   [ShapeSelectionCommand.java, 30]   model.commands.ShapeSelectionCommand.run
    DotRef   [ShapeSelectionCommand.java, 32]   model.commands.ShapeSelectionCommand.run
    DotRef   [ShapeSelectionCommand.java, 38]   model.commands.ShapeSelectionCommand.run
    Import   [PaintCanvas.java, 7]   /Users/shatabdi/Education/GitHub/se450_project/src/view/PaintCanvas.java
    DotRef   [PaintCanvas.java, 27]   view.PaintCanvas.paintComponent
    DotRef   [PaintCanvas.java, 28]   view.PaintCanvas.paintComponent
    DotRef   [ShapeUngroupCommand.java, 19]   model.commands.ShapeUngroupCommand.ShapeUngroupCommand
    DotRef   [ShapeUngroupCommand.java, 42]   model.commands.ShapeUngroupCommand.run
    DotRef   [ShapeRedoCommand.java, 16]   model.commands.ShapeRedoCommand.run
    DotRef   [ShapeCreateCommand.java, 24]   model.commands.ShapeCreateCommand.run
    DotRef   [ShapeMoveCommand.java, 42]   model.commands.ShapeMoveCommand.run
    DotRef   [ShapeMoveCommand.java, 45]   model.commands.ShapeMoveCommand.run
    DotRef   [ShapeMoveCommand.java, 56]   model.commands.ShapeMoveCommand.translate
    Import   [DrawShape.java, 17]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/DrawShape.java
    DotRef   [DrawShape.java, 88]   model.shape.DrawShape.create
    DotRef   [DrawShape.java, 90]   model.shape.DrawShape.create
    DotRef   [DrawShape.java, 100]   model.shape.DrawShape.deleteShape
    Import   [GroupShape.java, 16]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/GroupShape.java
    DotRef   [GroupShape.java, 80]   model.shape.GroupShape.create
    DotRef   [GroupShape.java, 83]   model.shape.GroupShape.create
    DotRef   [GroupShape.java, 193]   model.shape.GroupShape.group
    DotRef   [GroupShape.java, 199]   model.shape.GroupShape.group
    DotRef   [GroupShape.java, 200]   model.shape.GroupShape.group
    DotRef   [GroupShape.java, 298]   model.shape.GroupShape.unGroup
    DotRef   [GroupShape.java, 300]   model.shape.GroupShape.unGroup
    DotRef   [GroupShape.java, 301]   model.shape.GroupShape.unGroup
    DotRef   [ShapeCopyCommand.java, 11]   model.commands.ShapeCopyCommand
    DotRef   [ShapeCopyCommand.java, 12]   model.commands.ShapeCopyCommand
    DotRef   [ShapeRemoveCommand.java, 18]   model.commands.ShapeRemoveCommand.ShapeRemoveCommand
    DotRef   [ShapeRemoveCommand.java, 36]   model.commands.ShapeRemoveCommand.run

model.commands.ShapeCopyCommand    (Public Class)
  Declared as: 
    Define   [ShapeCopyCommand.java, 10]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeCopyCommand.java
    Import   [JPaintController.java, 4]   /Users/shatabdi/Education/GitHub/se450_project/src/controller/JPaintController.java
    Create   [JPaintController.java, 35]   controller.JPaintController.copy
    Typed   [JPaintController.java, 35]   controller.JPaintController.copy.shapeCopyCommand

model.commands.ShapeCreateCommand    (Public Class)
  Declared as: 
    Define   [ShapeCreateCommand.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeCreateCommand.java
    Import   [DrawMouseAdapter.java, 7]   /Users/shatabdi/Education/GitHub/se450_project/src/view/adapter/DrawMouseAdapter.java
    Create   [DrawMouseAdapter.java, 40]   view.adapter.DrawMouseAdapter.update
    Typed   [DrawMouseAdapter.java, 40]   view.adapter.DrawMouseAdapter.update.shapeCreateCommand

model.commands.ShapeGroupCommand    (Public Class)
  Declared as: 
    Define   [ShapeGroupCommand.java, 7]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeGroupCommand.java
    Import   [JPaintController.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/controller/JPaintController.java
    Create   [JPaintController.java, 46]   controller.JPaintController.group
    Typed   [JPaintController.java, 46]   controller.JPaintController.group.shapeGroupCommand

model.commands.ShapeMoveCommand    (Public Class)
  Declared as: 
    Define   [ShapeMoveCommand.java, 13]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeMoveCommand.java
    Import   [MoveMouseAdapter.java, 5]   /Users/shatabdi/Education/GitHub/se450_project/src/view/adapter/MoveMouseAdapter.java
    Create   [MoveMouseAdapter.java, 30]   view.adapter.MoveMouseAdapter.update
    Typed   [MoveMouseAdapter.java, 11]   view.adapter.MoveMouseAdapter.shapeMoveCommand

model.commands.ShapePasteCommand    (Public Class)
  Declared as: 
    Define   [ShapePasteCommand.java, 11]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapePasteCommand.java
    Import   [JPaintController.java, 7]   /Users/shatabdi/Education/GitHub/se450_project/src/controller/JPaintController.java
    Create   [JPaintController.java, 52]   controller.JPaintController.paste
    Typed   [JPaintController.java, 52]   controller.JPaintController.paste.shapePasteCommand

model.commands.ShapeRedoCommand    (Public Class)
  Declared as: 
    Define   [ShapeRedoCommand.java, 7]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeRedoCommand.java
    Import   [JPaintController.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/controller/JPaintController.java
    Create   [JPaintController.java, 58]   controller.JPaintController.redo
    Typed   [JPaintController.java, 58]   controller.JPaintController.redo.shapeRedoCommand

model.commands.ShapeRemoveCommand    (Public Class)
  Declared as: 
    Define   [ShapeRemoveCommand.java, 11]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeRemoveCommand.java
    Import   [JPaintController.java, 5]   /Users/shatabdi/Education/GitHub/se450_project/src/controller/JPaintController.java
    Create   [JPaintController.java, 41]   controller.JPaintController.delete
    Typed   [JPaintController.java, 41]   controller.JPaintController.delete.shapeRemoveCommand

model.commands.ShapeSelectionCommand    (Public Class)
  Declared as: 
    Define   [ShapeSelectionCommand.java, 12]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeSelectionCommand.java
    Import   [SelectMouseAdapter.java, 5]   /Users/shatabdi/Education/GitHub/se450_project/src/view/adapter/SelectMouseAdapter.java
    Create   [SelectMouseAdapter.java, 24]   view.adapter.SelectMouseAdapter.update
    Typed   [SelectMouseAdapter.java, 24]   view.adapter.SelectMouseAdapter.update.shapeSelectionCommand

model.commands.ShapeUndoCommand    (Public Class)
  Declared as: 
    Define   [ShapeUndoCommand.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeUndoCommand.java
    Import   [JPaintController.java, 9]   /Users/shatabdi/Education/GitHub/se450_project/src/controller/JPaintController.java
    Create   [JPaintController.java, 84]   controller.JPaintController.undo
    Typed   [JPaintController.java, 84]   controller.JPaintController.undo.shapeUndoCommand

model.commands.ShapeUngroupCommand    (Public Class)
  Declared as: 
    Define   [ShapeUngroupCommand.java, 12]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeUngroupCommand.java
    Import   [JPaintController.java, 10]   /Users/shatabdi/Education/GitHub/se450_project/src/controller/JPaintController.java
    Create   [JPaintController.java, 89]   controller.JPaintController.ungroup
    Typed   [JPaintController.java, 89]   controller.JPaintController.ungroup.shapeUngroupCommand

model.dialogs.ChooseMouseMode    (Public Class)
  Declared as: 
    Define   [ChooseMouseMode.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/ChooseMouseMode.java
    Create   [DialogProvider.java, 26]   model.dialogs.DialogProvider.DialogProvider

model.dialogs.ChoosePrimaryColorDialog    (Public Class)
  Declared as: 
    Define   [ChoosePrimaryColorDialog.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/ChoosePrimaryColorDialog.java
    Create   [DialogProvider.java, 22]   model.dialogs.DialogProvider.DialogProvider

model.dialogs.ChooseSecondaryColorDialog    (Public Class)
  Declared as: 
    Define   [ChooseSecondaryColorDialog.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/ChooseSecondaryColorDialog.java
    Create   [DialogProvider.java, 23]   model.dialogs.DialogProvider.DialogProvider

model.dialogs.ChooseShadingTypeDialog    (Public Class)
  Declared as: 
    Define   [ChooseShadingTypeDialog.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/ChooseShadingTypeDialog.java
    Create   [DialogProvider.java, 24]   model.dialogs.DialogProvider.DialogProvider

model.dialogs.ChooseShapeTypeDialog    (Public Class)
  Declared as: 
    Define   [ChooseShapeTypeDialog.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/ChooseShapeTypeDialog.java
    Create   [DialogProvider.java, 25]   model.dialogs.DialogProvider.DialogProvider

model.dialogs.DialogProvider    (Public Class)
  Declared as: 
    Define   [DialogProvider.java, 12]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/DialogProvider.java
    Import   [ApplicationState.java, 5]   /Users/shatabdi/Education/GitHub/se450_project/src/model/persistence/ApplicationState.java
    Create   [ApplicationState.java, 30]   model.persistence.ApplicationState.ApplicationState

model.Ellipse    (Public Class)
  Declared as: 
    Define   [Ellipse.java, 18]   /Users/shatabdi/Education/GitHub/se450_project/src/model/Ellipse.java
    Import   [ShapeFactory.java, 10]   /Users/shatabdi/Education/GitHub/se450_project/src/model/factory/ShapeFactory.java
    Create   [ShapeFactory.java, 41]   model.factory.ShapeFactory.createShape

model.factory.ShapeFactory    (Public Class)
  Declared as: 
    Define   [ShapeFactory.java, 20]   /Users/shatabdi/Education/GitHub/se450_project/src/model/factory/ShapeFactory.java
    Import   [BoundingBox.java, 17]   /Users/shatabdi/Education/GitHub/se450_project/src/model/others/BoundingBox.java
    DotRef   [BoundingBox.java, 25]   model.others.BoundingBox.boundFromPoints
    Import   [DrawShape.java, 18]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/DrawShape.java
    DotRef   [DrawShape.java, 95]   model.shape.DrawShape.createShape
    DotRef   [DrawShape.java, 176]   model.shape.DrawShape.highlightShape
    DotRef   [DrawShape.java, 197]   model.shape.DrawShape.paintShapeOnCanvas

model.GeometricShape    (Public Class)
  Declared as: 
    Define   [GeometricShape.java, 23]   /Users/shatabdi/Education/GitHub/se450_project/src/model/GeometricShape.java
    Typed   [GeometricShape.java, 216]   model.GeometricShape.setEndPoint
    Typed   [GeometricShape.java, 227]   model.GeometricShape.setHeight
    Typed   [GeometricShape.java, 232]   model.GeometricShape.setPrimaryColor
    Typed   [GeometricShape.java, 243]   model.GeometricShape.setSecondaryColor
    Typed   [GeometricShape.java, 259]   model.GeometricShape.setShadingType
    Typed   [GeometricShape.java, 264]   model.GeometricShape.setShapeType
    Typed   [GeometricShape.java, 269]   model.GeometricShape.setShapeXcoord
    Typed   [GeometricShape.java, 274]   model.GeometricShape.setShapeYcoord
    Typed   [GeometricShape.java, 279]   model.GeometricShape.setStartPoint
    Typed   [GeometricShape.java, 290]   model.GeometricShape.setWidth
    Import   [BoundingBox.java, 16]   /Users/shatabdi/Education/GitHub/se450_project/src/model/others/BoundingBox.java
    Create   [BoundingBox.java, 23]   model.others.BoundingBox.boundFromPoints
    Typed   [BoundingBox.java, 23]   model.others.BoundingBox.boundFromPoints.geometricShape
    Import   [DrawMouseAdapter.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/view/adapter/DrawMouseAdapter.java
    Create   [DrawMouseAdapter.java, 31]   view.adapter.DrawMouseAdapter.DrawMouseAdapter
    Typed   [DrawMouseAdapter.java, 18]   view.adapter.DrawMouseAdapter.geometricShape
    Import   [DrawShape.java, 16]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/DrawShape.java
    Create   [DrawShape.java, 44]   model.shape.DrawShape.DrawShape
    Typed   [DrawShape.java, 42]   model.shape.DrawShape.DrawShape.geomShape
    Typed   [DrawShape.java, 55]   model.shape.DrawShape.DrawShape.geometricShape
    Typed   [DrawShape.java, 152]   model.shape.DrawShape.getShapeProperty
    Typed   [DrawShape.java, 268]   model.shape.DrawShape.setShapeProperty.geometricShape
    Typed   [DrawShape.java, 35]   model.shape.DrawShape.geometricShape
    Import   [ShapeFactory.java, 11]   /Users/shatabdi/Education/GitHub/se450_project/src/model/factory/ShapeFactory.java
    Typed   [ShapeFactory.java, 27]   model.factory.ShapeFactory.createShape.geometricShape

model.interfaces.IApplicationState    (Public Interface)
  Declared as: 
    Define   [IApplicationState.java, 9]   /Users/shatabdi/Education/GitHub/se450_project/src/model/interfaces/IApplicationState.java
    Import   [ChoosePrimaryColorDialog.java, 4]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/ChoosePrimaryColorDialog.java
    Typed   [ChoosePrimaryColorDialog.java, 12]   model.dialogs.ChoosePrimaryColorDialog.ChoosePrimaryColorDialog.applicationState
    Typed   [ChoosePrimaryColorDialog.java, 10]   model.dialogs.ChoosePrimaryColorDialog.applicationState
    Import   [MouseHandler.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/view/adapter/MouseHandler.java
    Typed   [MouseHandler.java, 21]   view.adapter.MouseHandler.MouseHandler.appState
    Typed   [MouseHandler.java, 11]   view.adapter.MouseHandler.applicationState
    Import   [DialogProvider.java, 4]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/DialogProvider.java
    Typed   [DialogProvider.java, 20]   model.dialogs.DialogProvider.DialogProvider.applicationState
    Typed   [DialogProvider.java, 13]   model.dialogs.DialogProvider.applicationState
    Import   [ChooseMouseMode.java, 4]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/ChooseMouseMode.java
    Typed   [ChooseMouseMode.java, 11]   model.dialogs.ChooseMouseMode.ChooseMouseMode.applicationState
    Typed   [ChooseMouseMode.java, 9]   model.dialogs.ChooseMouseMode.applicationState
    Import   [DrawMouseAdapter.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/view/adapter/DrawMouseAdapter.java
    Typed   [DrawMouseAdapter.java, 21]   view.adapter.DrawMouseAdapter.DrawMouseAdapter.appState
    Import   [JPaintController.java, 11]   /Users/shatabdi/Education/GitHub/se450_project/src/controller/JPaintController.java
    Typed   [JPaintController.java, 25]   controller.JPaintController.JPaintController.applicationState
    Typed   [JPaintController.java, 19]   controller.JPaintController.applicationState
    Import   [ApplicationState.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/model/persistence/ApplicationState.java
    Implement   [ApplicationState.java, 14]   model.persistence.ApplicationState
    Import   [ChooseShapeTypeDialog.java, 4]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/ChooseShapeTypeDialog.java
    Typed   [ChooseShapeTypeDialog.java, 11]   model.dialogs.ChooseShapeTypeDialog.ChooseShapeTypeDialog.applicationState
    Typed   [ChooseShapeTypeDialog.java, 9]   model.dialogs.ChooseShapeTypeDialog.applicationState
    Import   [ChooseSecondaryColorDialog.java, 4]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/ChooseSecondaryColorDialog.java
    Typed   [ChooseSecondaryColorDialog.java, 12]   model.dialogs.ChooseSecondaryColorDialog.ChooseSecondaryColorDialog.applicationState
    Typed   [ChooseSecondaryColorDialog.java, 10]   model.dialogs.ChooseSecondaryColorDialog.applicationState
    Import   [ChooseShadingTypeDialog.java, 4]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/ChooseShadingTypeDialog.java
    Typed   [ChooseShadingTypeDialog.java, 11]   model.dialogs.ChooseShadingTypeDialog.ChooseShadingTypeDialog.applicationState
    Typed   [ChooseShadingTypeDialog.java, 9]   model.dialogs.ChooseShadingTypeDialog.applicationState

model.interfaces.IDialogProvider    (Public Interface)
  Declared as: 
    Define   [IDialogProvider.java, 10]   /Users/shatabdi/Education/GitHub/se450_project/src/model/interfaces/IDialogProvider.java
    Import   [DialogProvider.java, 5]   /Users/shatabdi/Education/GitHub/se450_project/src/model/dialogs/DialogProvider.java
    Implement   [DialogProvider.java, 12]   model.dialogs.DialogProvider
    Import   [ApplicationState.java, 7]   /Users/shatabdi/Education/GitHub/se450_project/src/model/persistence/ApplicationState.java
    Typed   [ApplicationState.java, 25]   model.persistence.ApplicationState.dialogProvider

model.interfaces.IObserver    (Public Interface)
  Declared as: 
    Define   [IObserver.java, 4]   /Users/shatabdi/Education/GitHub/se450_project/src/model/interfaces/IObserver.java
    Import   [Main.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/main/Main.java
    Cast   [Main.java, 29]   main.Main.main
    Import   [PaintCanvas.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/view/PaintCanvas.java
    Implement   [PaintCanvas.java, 12]   view.PaintCanvas
    Import   [CommandHandler.java, 7]   /Users/shatabdi/Education/GitHub/se450_project/src/model/others/CommandHandler.java
    Typed   [CommandHandler.java, 24]   model.others.CommandHandler.notifyObservers.(for_loop_1).observer
    Typed   [CommandHandler.java, 13]   model.others.CommandHandler.registerObserver.observer
    Typed   [CommandHandler.java, 19]   model.others.CommandHandler.removeObserver.observer
    Use   [CommandHandler.java, 11]   model.others.CommandHandler.observerList
    Import   [ShapeMoveCommand.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeMoveCommand.java
    Cast   [ShapeMoveCommand.java, 26]   model.commands.ShapeMoveCommand.ShapeMoveCommand

model.interfaces.IShape    (Public Interface)
  Declared as: 
    Define   [IShape.java, 15]   /Users/shatabdi/Education/GitHub/se450_project/src/model/interfaces/IShape.java
    Typed   [IShape.java, 22]   model.interfaces.IShape.copyShape
    Use   [IShape.java, 34]   model.interfaces.IShape.getNodeList
    Typed   [IShape.java, 54]   model.interfaces.IShape.pasteShape
    Import   [TrackShape.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/model/others/TrackShape.java
    Typed   [TrackShape.java, 11]   model.others.TrackShape.add.item
    Use   [TrackShape.java, 18]   model.others.TrackShape.addAll.list
    Typed   [TrackShape.java, 26]   model.others.TrackShape.contains.item
    Typed   [TrackShape.java, 30]   model.others.TrackShape.get
    Use   [TrackShape.java, 34]   model.others.TrackShape.getList
    Typed   [TrackShape.java, 38]   model.others.TrackShape.remove.item
    Use   [TrackShape.java, 42]   model.others.TrackShape.removeAll.list
    Use   [TrackShape.java, 9]   model.others.TrackShape.shapes
    Import   [ShapePasteCommand.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapePasteCommand.java
    Typed   [ShapePasteCommand.java, 25]   model.commands.ShapePasteCommand.redo.(for_loop_1).shape
    Typed   [ShapePasteCommand.java, 36]   model.commands.ShapePasteCommand.run.(for_loop_2).iShape
    Typed   [ShapePasteCommand.java, 38]   model.commands.ShapePasteCommand.run.(for_loop_2).shape
    Typed   [ShapePasteCommand.java, 50]   model.commands.ShapePasteCommand.undo.(for_loop_3).shape
    Use   [ShapePasteCommand.java, 14]   model.commands.ShapePasteCommand.clipBoardList
    Use   [ShapePasteCommand.java, 15]   model.commands.ShapePasteCommand.pastedShapes
    Use   [ShapePasteCommand.java, 17]   model.commands.ShapePasteCommand.shapeList
    Import   [ShapeSelectionCommand.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeSelectionCommand.java
    Typed   [ShapeSelectionCommand.java, 37]   model.commands.ShapeSelectionCommand.run.(for_loop_1).shape
    Use   [ShapeSelectionCommand.java, 32]   model.commands.ShapeSelectionCommand.run.shapeList
    Import   [PaintCanvas.java, 9]   /Users/shatabdi/Education/GitHub/se450_project/src/view/PaintCanvas.java
    Typed   [PaintCanvas.java, 30]   view.PaintCanvas.paintComponent.(for_loop_1).shapeItem
    Use   [PaintCanvas.java, 28]   view.PaintCanvas.paintComponent.selectedCollectionList
    Use   [PaintCanvas.java, 27]   view.PaintCanvas.paintComponent.shapeCollectionList
    Import   [ShapeUngroupCommand.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeUngroupCommand.java
    Use   [ShapeUngroupCommand.java, 19]   model.commands.ShapeUngroupCommand.ShapeUngroupCommand.shapeCollectionList
    Import   [GeometricShape.java, 14]   /Users/shatabdi/Education/GitHub/se450_project/src/model/GeometricShape.java
    Implement   [GeometricShape.java, 23]   model.GeometricShape
    Typed   [GeometricShape.java, 87]   model.GeometricShape.copyShape
    Use   [GeometricShape.java, 125]   model.GeometricShape.getNodeList
    Typed   [GeometricShape.java, 189]   model.GeometricShape.pasteShape
    Import   [ShapeMoveCommand.java, 9]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeMoveCommand.java
    Typed   [ShapeMoveCommand.java, 56]   model.commands.ShapeMoveCommand.translate.(for_loop_1).shape
    Import   [DrawShape.java, 19]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/DrawShape.java
    Implement   [DrawShape.java, 28]   model.shape.DrawShape
    Typed   [DrawShape.java, 82]   model.shape.DrawShape.copyShape
    Use   [DrawShape.java, 124]   model.shape.DrawShape.getNodeList
    Use   [DrawShape.java, 125]   model.shape.DrawShape.getNodeList.newList
    Typed   [DrawShape.java, 203]   model.shape.DrawShape.pasteShape
    Import   [GroupShape.java, 17]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/GroupShape.java
    Implement   [GroupShape.java, 24]   model.shape.GroupShape
    Typed   [GroupShape.java, 36]   model.shape.GroupShape.GroupShape.(for_loop_1).lGShapes
    Typed   [GroupShape.java, 47]   model.shape.GroupShape.add.iShape
    Typed   [GroupShape.java, 74]   model.shape.GroupShape.copyShape
    Typed   [GroupShape.java, 82]   model.shape.GroupShape.create.(for_loop_2).iShape
    Typed   [GroupShape.java, 92]   model.shape.GroupShape.createBoundingBox.(for_loop_3).group
    Typed   [GroupShape.java, 104]   model.shape.GroupShape.deleteShape.(for_loop_4).iShape
    Use   [GroupShape.java, 141]   model.shape.GroupShape.getList
    Use   [GroupShape.java, 146]   model.shape.GroupShape.getNodeList
    Typed   [GroupShape.java, 149]   model.shape.GroupShape.getNodeList.(for_loop_5).iShape
    Use   [GroupShape.java, 147]   model.shape.GroupShape.getNodeList.newList
    Typed   [GroupShape.java, 196]   model.shape.GroupShape.group.(for_loop_6).iShape
    Use   [GroupShape.java, 193]   model.shape.GroupShape.group.selectedCollectionList
    Typed   [GroupShape.java, 210]   model.shape.GroupShape.highlightShape.(for_loop_7).iShape
    Typed   [GroupShape.java, 223]   model.shape.GroupShape.moveShape.(for_loop_8).iShape
    Typed   [GroupShape.java, 230]   model.shape.GroupShape.paintShapeOnCanvas.(for_loop_9).iShape
    Typed   [GroupShape.java, 237]   model.shape.GroupShape.pasteShape
    Typed   [GroupShape.java, 239]   model.shape.GroupShape.pasteShape.(for_loop_10).iShape
    Typed   [GroupShape.java, 251]   model.shape.GroupShape.remove.iShape
    Typed   [GroupShape.java, 297]   model.shape.GroupShape.unGroup.(for_loop_11).iShape
    Use   [GroupShape.java, 28]   model.shape.GroupShape.groupedShapes
    Import   [ShapeCopyCommand.java, 7]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeCopyCommand.java
    Typed   [ShapeCopyCommand.java, 22]   model.commands.ShapeCopyCommand.copy.(for_loop_1).copiedShape
    Typed   [ShapeCopyCommand.java, 21]   model.commands.ShapeCopyCommand.copy.(for_loop_1).selectedShape
    Typed   [ShapeCopyCommand.java, 32]   model.commands.ShapeCopyCommand.run.(for_loop_2).shape
    Typed   [ShapeCopyCommand.java, 33]   model.commands.ShapeCopyCommand.run.(for_loop_2).tempShape
    Use   [ShapeCopyCommand.java, 11]   model.commands.ShapeCopyCommand.clipBoardList
    Use   [ShapeCopyCommand.java, 12]   model.commands.ShapeCopyCommand.selectedList
    Import   [ShapeRemoveCommand.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeRemoveCommand.java
    Typed   [ShapeRemoveCommand.java, 24]   model.commands.ShapeRemoveCommand.redo.(for_loop_1).shape
    Typed   [ShapeRemoveCommand.java, 32]   model.commands.ShapeRemoveCommand.run.(for_loop_2).shape
    Typed   [ShapeRemoveCommand.java, 41]   model.commands.ShapeRemoveCommand.undo.(for_loop_3).shape
    Use   [ShapeRemoveCommand.java, 14]   model.commands.ShapeRemoveCommand.deleteShapes

model.others.BoundingBox    (Public Class)
  Declared as: 
    Define   [BoundingBox.java, 20]   /Users/shatabdi/Education/GitHub/se450_project/src/model/others/BoundingBox.java
    Import   [ShapeSelectionCommand.java, 9]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeSelectionCommand.java
    Create   [ShapeSelectionCommand.java, 33]   model.commands.ShapeSelectionCommand.run
    Typed   [ShapeSelectionCommand.java, 33]   model.commands.ShapeSelectionCommand.run.boundingBox
    Import   [GroupShape.java, 18]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/GroupShape.java
    DotRef   [GroupShape.java, 98]   model.shape.GroupShape.createBoundingBox

model.others.CommandHandler    (Public Class)
  Declared as: 
    Define   [CommandHandler.java, 9]   /Users/shatabdi/Education/GitHub/se450_project/src/model/others/CommandHandler.java
    Import   [ShapeUndoCommand.java, 4]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeUndoCommand.java
    Typed   [ShapeUndoCommand.java, 9]   model.commands.ShapeUndoCommand.ShapeUndoCommand.commandHandler
    Typed   [ShapeUndoCommand.java, 7]   model.commands.ShapeUndoCommand.commandHandler
    Import   [Main.java, 7]   /Users/shatabdi/Education/GitHub/se450_project/src/main/Main.java
    Create   [Main.java, 28]   main.Main.main
    Typed   [Main.java, 28]   main.Main.main.commandHandler
    Import   [MoveMouseAdapter.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/view/adapter/MoveMouseAdapter.java
    Create   [MoveMouseAdapter.java, 12]   view.adapter.MoveMouseAdapter
    Typed   [MoveMouseAdapter.java, 12]   view.adapter.MoveMouseAdapter.commandHandler
    Import   [ShapeRedoCommand.java, 5]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeRedoCommand.java
    Typed   [ShapeRedoCommand.java, 10]   model.commands.ShapeRedoCommand.ShapeRedoCommand.commandHandler
    Typed   [ShapeRedoCommand.java, 8]   model.commands.ShapeRedoCommand.commandHandler
    Import   [JPaintController.java, 12]   /Users/shatabdi/Education/GitHub/se450_project/src/controller/JPaintController.java
    Typed   [JPaintController.java, 26]   controller.JPaintController.JPaintController.commandHandler
    Typed   [JPaintController.java, 22]   controller.JPaintController.commandHandler
    Import   [ShapeMoveCommand.java, 10]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeMoveCommand.java
    Typed   [ShapeMoveCommand.java, 20]   model.commands.ShapeMoveCommand.ShapeMoveCommand.commandHandler
    Typed   [ShapeMoveCommand.java, 14]   model.commands.ShapeMoveCommand.commandHandler

model.others.Messages    (Public Class)
  Declared as: 
    Define   [Messages.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/model/others/Messages.java
    DotRef   [BoundingBox.java, 68]   model.others.BoundingBox.drawBoundingBox
    DotRef   [BoundingBox.java, 72]   model.others.BoundingBox.drawBoundingBox

model.others.TrackShape    (Public Class)
  Declared as: 
    Define   [TrackShape.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/model/others/TrackShape.java
    Import   [CommandHistory.java, 7]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/CommandHistory.java
    Create   [CommandHistory.java, 11]   model.commands.CommandHistory
    Create   [CommandHistory.java, 13]   model.commands.CommandHistory
    Create   [CommandHistory.java, 15]   model.commands.CommandHistory
    Create   [CommandHistory.java, 17]   model.commands.CommandHistory
    Create   [CommandHistory.java, 19]   model.commands.CommandHistory
    Typed   [CommandHistory.java, 11]   model.commands.CommandHistory.shapeCollection
    Typed   [CommandHistory.java, 13]   model.commands.CommandHistory.shapesDeleted
    Typed   [CommandHistory.java, 15]   model.commands.CommandHistory.shapesGrouped
    Typed   [CommandHistory.java, 17]   model.commands.CommandHistory.shapesInClipboard
    Typed   [CommandHistory.java, 19]   model.commands.CommandHistory.shapesSelected

model.persistence.ApplicationState    (Public Class)
  Declared as: 
    Define   [ApplicationState.java, 14]   /Users/shatabdi/Education/GitHub/se450_project/src/model/persistence/ApplicationState.java
    Import   [Main.java, 8]   /Users/shatabdi/Education/GitHub/se450_project/src/main/Main.java
    Create   [Main.java, 24]   main.Main.main
    Typed   [Main.java, 24]   main.Main.main.appState

model.Rectangle    (Public Class)
  Declared as: 
    Define   [Rectangle.java, 18]   /Users/shatabdi/Education/GitHub/se450_project/src/model/Rectangle.java
    Import   [ShapeFactory.java, 12]   /Users/shatabdi/Education/GitHub/se450_project/src/model/factory/ShapeFactory.java
    Create   [ShapeFactory.java, 39]   model.factory.ShapeFactory.createShape

model.shape.DrawShape    (Public Class)
  Declared as: 
    Define   [DrawShape.java, 28]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/DrawShape.java
    Typed   [DrawShape.java, 41]   model.shape.DrawShape.DrawShape.ds
    Create   [DrawShape.java, 83]   model.shape.DrawShape.copyShape
    Create   [DrawShape.java, 206]   model.shape.DrawShape.pasteShape
    Typed   [DrawShape.java, 206]   model.shape.DrawShape.pasteShape.shape
    Import   [DrawMouseAdapter.java, 9]   /Users/shatabdi/Education/GitHub/se450_project/src/view/adapter/DrawMouseAdapter.java
    Create   [DrawMouseAdapter.java, 39]   view.adapter.DrawMouseAdapter.update
    Typed   [DrawMouseAdapter.java, 39]   view.adapter.DrawMouseAdapter.update.drawShape
    Import   [ShapeCreateCommand.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeCreateCommand.java
    Typed   [ShapeCreateCommand.java, 12]   model.commands.ShapeCreateCommand.ShapeCreateCommand.dr
    Typed   [ShapeCreateCommand.java, 10]   model.commands.ShapeCreateCommand.drawShape

model.shape.GroupShape    (Public Class)
  Declared as: 
    Define   [GroupShape.java, 24]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/GroupShape.java
    Typed   [GroupShape.java, 32]   model.shape.GroupShape.GroupShape.groupShape
    Create   [GroupShape.java, 75]   model.shape.GroupShape.copyShape
    Create   [GroupShape.java, 238]   model.shape.GroupShape.pasteShape
    Typed   [GroupShape.java, 238]   model.shape.GroupShape.pasteShape.gs
    Import   [ShapeGroupCommand.java, 5]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeGroupCommand.java
    Typed   [ShapeGroupCommand.java, 10]   model.commands.ShapeGroupCommand.ShapeGroupCommand.groupShape
    Typed   [ShapeGroupCommand.java, 8]   model.commands.ShapeGroupCommand.groupShape
    Import   [ShapeUngroupCommand.java, 9]   /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeUngroupCommand.java
    Use   [ShapeUngroupCommand.java, 21]   model.commands.ShapeUngroupCommand.ShapeUngroupCommand.(lambda_expr_1)
    Cast   [ShapeUngroupCommand.java, 22]   model.commands.ShapeUngroupCommand.ShapeUngroupCommand.(lambda_expr_2)
    Typed   [ShapeUngroupCommand.java, 27]   model.commands.ShapeUngroupCommand.redo.(for_loop_1).groupShape
    Typed   [ShapeUngroupCommand.java, 37]   model.commands.ShapeUngroupCommand.run.(for_loop_2).groupShape
    Typed   [ShapeUngroupCommand.java, 47]   model.commands.ShapeUngroupCommand.undo.(for_loop_3).groupShape
    Use   [ShapeUngroupCommand.java, 14]   model.commands.ShapeUngroupCommand.groupShapeCollectionList
    Import   [JPaintController.java, 13]   /Users/shatabdi/Education/GitHub/se450_project/src/controller/JPaintController.java
    Create   [JPaintController.java, 46]   controller.JPaintController.group

model.shape.Messages    (Public Class)
  Declared as: 
    Define   [Messages.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/Messages.java
    DotRef   [GroupShape.java, 116]   model.shape.GroupShape.drawBoundingBox
    DotRef   [GroupShape.java, 126]   model.shape.GroupShape.drawBoundingBox

model.strategy.ShapeShadingStrategy    (Public Class)
  Declared as: 
    Define   [ShapeShadingStrategy.java, 13]   /Users/shatabdi/Education/GitHub/se450_project/src/model/strategy/ShapeShadingStrategy.java
    Import   [DrawShape.java, 20]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/DrawShape.java
    Typed   [DrawShape.java, 176]   model.shape.DrawShape.highlightShape.shapeShade
    Typed   [DrawShape.java, 197]   model.shape.DrawShape.paintShapeOnCanvas.shapeShade
    Import   [ShapeFactory.java, 14]   /Users/shatabdi/Education/GitHub/se450_project/src/model/factory/ShapeFactory.java
    Typed   [ShapeFactory.java, 22]   model.factory.ShapeFactory.combine
    Create   [ShapeFactory.java, 24]   model.factory.ShapeFactory.combine

model.strategy.ShapeTypeStrategy    (Public Abstract Class)
  Declared as: 
    Define   [ShapeTypeStrategy.java, 6]   /Users/shatabdi/Education/GitHub/se450_project/src/model/strategy/ShapeTypeStrategy.java
    Import   [Rectangle.java, 13]   /Users/shatabdi/Education/GitHub/se450_project/src/model/Rectangle.java
    Extend   [Rectangle.java, 18]   model.Rectangle
    Import   [Ellipse.java, 13]   /Users/shatabdi/Education/GitHub/se450_project/src/model/Ellipse.java
    Extend   [Ellipse.java, 18]   model.Ellipse
    Import   [Triangle.java, 10]   /Users/shatabdi/Education/GitHub/se450_project/src/model/Triangle.java
    Extend   [Triangle.java, 12]   model.Triangle
    Import   [DrawShape.java, 21]   /Users/shatabdi/Education/GitHub/se450_project/src/model/shape/DrawShape.java
    Typed   [DrawShape.java, 38]   model.shape.DrawShape.shapeTypeStrategy
    Import   [ShapeFactory.java, 15]   /Users/shatabdi/Education/GitHub/se450_project/src/model/factory/ShapeFactory.java
    Typed   [ShapeFactory.java, 36]   model.factory.ShapeFactory.createShape.shapeTypeStrategy

model.Triangle    (Public Class)
  Declared as: 
    Define   [Triangle.java, 12]   /Users/shatabdi/Education/GitHub/se450_project/src/model/Triangle.java
    Import   [ShapeFactory.java, 13]   /Users/shatabdi/Education/GitHub/se450_project/src/model/factory/ShapeFactory.java
    Create   [ShapeFactory.java, 43]   model.factory.ShapeFactory.createShape

Scientific Toolworks, Inc.