This package is used to communicate from UI with {@link kaapo.projectmanager.ProjectManager} and the {@link kaapo.project.Project} and its contents. All the classes (minus abstract classes and {@link kaapo.projectmanager.command.EditFailedException}) are used to modify the contents of ProjectManager and Project.

These Edits are divided into two different classes. The first one are part of the {@link javax.swing.undo.UndoableEdit} type that are undoable. They are created in the UI and then executed in a ProjectManager. After execution they are stored in ProjectManager and are implemented so that they can be undone and redone. All of these edits modify the state of the project somehow.

The other Edits are the type of {@link kaapo.projectmanager.command.Edit} that cannot be undone or stored. They only modify the metadata in the ProjectManager. IE. changing the visible diagram (the one that is being currently edited) or changing the currently activated (selected) components from a {@link kaapo.project.Diagram}.