Workspace 6.21.5
Classes | Enumerations
CSIRO::Presentation::WorkspaceSceneCommands Namespace Reference

Namespace for QUndoCommand subclasses implementing undoable commands for WorkspaceView objects. More...

Classes

class  AddConnectionAnchor
 Command class for adding a connection anchor. More...
 
class  AddNoteItem
 Command class for adding a note item. More...
 
class  AddToAnchor
 Command class for adding a connection to an anchor. More...
 
class  EditMiniOperationRackLabelItem
 Command class for editting a mini operation rack's label. More...
 
class  EditNoteItem
 Command class for editting a note item. More...
 
class  MergeMiniOperationRacks
 Command class for adding a note item. More...
 
class  MoveMiniOperationRack
 Command class for moving a mini operation rack. More...
 
class  MoveSelection
 Command class for moving operation widgets. More...
 
class  PasteFromClipboard
 Command class for pasting a serialized workspace description. More...
 
class  PolymorphicDataTypeChange
 Command class for changing the data type for a PolymorphicDataOperation. More...
 
class  RemoveConnectionAnchor
 Command class for removing a connection anchor. More...
 
class  RemoveFromAnchor
 Command class for removing a connection from an anchor. More...
 
class  RemoveNoteItem
 Command class for removing a note item. More...
 
class  ResizeNoteItem
 Command class for resizing a note item. More...
 
class  ResizeWorkspace
 Command class for automatically resizing the workspace view to its contents. More...
 
class  RotateAnchor
 Command class for rotating a connection anchor. More...
 
class  SplitMiniOperationRack
 Command class for adding a note item. More...
 
class  UserChangedOperationColor
 Command class for changing an operation's background color. More...
 
class  UserChangedOperationIcon
 Command class for changing an operation's icon. More...
 
class  UserChangedOperationUi
 Command class for changing an operation's .ui file. More...
 

Enumerations

enum  CommandId {
  MoveSelectionId , ResizeWorkspaceId , WidgetGeometryId , RotateAnchorId ,
  ChangeOperationColorId
}
 

Detailed Description

The commands within this namespace should actually endeavour to only require things from the DataExecution namespace and not from the Presentation namespace. This will allow the commands to be used when there is no WorkspaceView available for a given Workspace. This is particularly relevant for commands that a WorkspaceView, OperationView, etc. responds to because the commands must remain undoable/redoable after the user closes all views associated with the objects being altered by the commands. For an example of how this can be achieved for some of the more complicated situations, see the MoveSelection class.

Enumeration Type Documentation

◆ CommandId

enum CommandId

All QUndoCommand subclasses to be used with a WorkspaceView and which override the QUndoCommand::id() function must put an entry in this enum and use it as the return value. This ensures that no two subclasses use the same id unintentionally. The recommended name of the entry is the class name with "Id" appended.

Note that these should never become visible to any code except the Workspace module. WorkspaceView commands should all be private.

Enumerator
MoveSelectionId 
ResizeWorkspaceId 
WidgetGeometryId 
RotateAnchorId 
ChangeOperationColorId