An undoable action for replacing a set of nodes with a provided set of replacements.
Definition at line 24 of file VuoCommandChangeNode.hh.
Public Member Functions | |
VuoCommandChangeNode (VuoRendererNode *oldNode, VuoRendererNode *newNode, VuoEditorWindow *window) | |
Creates a command for swapping a node with a new node of a different class (e.g., via "Change Node" context menu), making best guesses as to how best to preserve inputs and connections across the swap. More... | |
int | id () const |
Returns the ID of this command. More... | |
void | undo () |
Restores the original node and its connected cables. More... | |
void | redo () |
Replaces oldNode with its newNode equivalent, rewiring any connected cables to connect to similar ports belonging to the new node. More... | |
Public Member Functions inherited from VuoCommandCommon | |
VuoCommandCommon (VuoEditorWindow *window) | |
Creates a new undoable command. More... | |
~VuoCommandCommon () | |
Destructor. More... | |
void | setDescription (const char *formatString,...) __attribute__((format(printf |
Formats and stores a description, to be shown by VuoCommandCommon_redo and VuoCommandCommon_undo. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from VuoCommandCommon | |
static void | addCable (VuoRendererCable *rc, VuoPort *fromPortAfterAdding, VuoPort *toPortAfterAdding, VuoEditorComposition *composition) |
Helper function for VuoCommandAdd::redo() and VuoCommandRemove::undo(). More... | |
static void | removeCable (VuoRendererCable *rc, VuoEditorComposition *composition) |
Helper function for VuoCommandRemove::redo() and VuoCommandAdd::undo(). More... | |
static void | updateCable (VuoRendererCable *rc, VuoPort *updatedFromPort, VuoPort *updatedToPort, VuoEditorComposition *composition, bool preserveDanglingCables=false) |
Helper function for VuoCommandConnect::redo(), VuoCommandConnect::undo(), VuoCommandRemove::redo(), and VuoCommandRemove::undo(). More... | |
static VuoPublishedPort * | publishInternalPort (VuoPort *internalPort, bool forceEventOnlyPublication, string publishedPortName, VuoEditorComposition *composition, bool attemptMerge) |
Publishes the internalPort under externally visible name publishedPortName , or under a derived name if an externally visible published port with that name already exists and attemptMerge is set to false. More... | |
static VuoPublishedPort * | publishInternalExternalPortCombination (VuoPort *internalPort, VuoPublishedPort *externalPort, bool forceEventOnlyPublication, VuoEditorComposition *composition) |
Publishes the internalPort in association with pre-existing externally visible published port externalPort , if possible. More... | |
static void | unpublishInternalExternalPortCombination (VuoPort *internalPort, VuoPublishedPort *externalPort, VuoEditorComposition *composition, bool unpublishIsolatedExternalPorts) |
Unpublishes the given internalPort in association with externally visible published port externalPort . More... | |
static VuoCompilerCompositionDiff * | addNodeReplacementToDiff (VuoCompilerCompositionDiff *diffInfo, VuoRendererNode *oldNode, VuoRendererNode *newNode, map< VuoPort *, VuoPort * > updatedPortForOriginalPort, VuoEditorComposition *composition) |
Adds information about a single node replacement and associated port mappings to a VuoCompositionDiff. More... | |
Static Public Attributes inherited from VuoCommandCommon | |
static const int | moveCommandID = 1 |
ID for VuoCommandMove. More... | |
static const int | addCommandID = 2 |
ID for VuoCommandAdd. More... | |
static const int | removeCommandID = 3 |
ID for VuoCommandRemove. More... | |
static const int | connectCommandID = 4 |
ID for VuoCommandConnect. More... | |
static const int | setPortConstantCommandID = 5 |
ID for VuoCommandSetPortConstant. More... | |
static const int | setNodeTitleCommandID = 6 |
ID for VuoCommandSetNodeTitle. More... | |
static const int | setPublishedPortNameCommandID = 7 |
ID for VuoCommandSetPublishedPortName. More... | |
static const int | publishPortCommandID = 8 |
ID for VuoCommandPublishPort. More... | |
static const int | unpublishPortCommandID = 9 |
ID for VuoCommandUnpublishPort. More... | |
static const int | setItemTintCommandID = 10 |
ID for VuoCommandSetItemTint. More... | |
static const int | replaceNodeCommandID = 11 |
ID for VuoCommandReplaceNode. More... | |
static const int | setTriggerThrottlingCommandID = 12 |
ID for VuoCommandSetTriggerThrottling. More... | |
static const int | setPublishedPortDetailsCommandID = 13 |
ID for VuoCommandSetPublishedPortDetails. More... | |
static const int | setCableHiddenCommandID = 14 |
ID for VuoCommandSetCableHidden. More... | |
static const int | addPublishedPortCommandID = 15 |
ID for VuoCommandAddPublishedPort. More... | |
static const int | removeProtocolPortCommandID = 16 |
ID for VuoCommandRemoveProtocolPort. More... | |
static const int | reorderPublishedPortsCommandID = 17 |
ID for VuoCommandReorderPublishedPorts. More... | |
static const int | setMetadataCommandID = 18 |
ID for VuoCommandSetMetadata. More... | |
static const int | setCommentTextCommandID = 19 |
ID for VuoCommandSetCommentText. More... | |
static const int | resizeCommentCommandID = 20 |
ID for VuoCommandResizeComment. More... | |
static const int | changeNodeCommandID = 21 |
ID for VuoCommandChangeNode. More... | |
Protected Attributes inherited from VuoCommandCommon | |
VuoEditorWindow * | window |
The window this command occurred in. More... | |
char * | description |
See setDescription. More... | |
VuoCommandChangeNode::VuoCommandChangeNode | ( | VuoRendererNode * | oldNode, |
VuoRendererNode * | newNode, | ||
VuoEditorWindow * | window | ||
) |
Creates a command for swapping a node with a new node of a different class (e.g., via "Change Node" context menu), making best guesses as to how best to preserve inputs and connections across the swap.
Definition at line 34 of file VuoCommandChangeNode.cc.
int VuoCommandChangeNode::id | ( | ) | const |
Returns the ID of this command.
Definition at line 69 of file VuoCommandChangeNode.cc.
void VuoCommandChangeNode::redo | ( | ) |
Replaces oldNode
with its newNode
equivalent, rewiring any connected cables to connect to similar ports belonging to the new node.
Definition at line 78 of file VuoCommandChangeNode.cc.
void VuoCommandChangeNode::undo | ( | ) |
Restores the original node and its connected cables.
Definition at line 94 of file VuoCommandChangeNode.cc.