void CreateControlCommand::PrepareRedoInformation() { // Clone the current control node, remember the pointer to the previous node in the list // to restore the position of the node removed in case of Redo. HierarchyTreeNode* createdNode = HierarchyTreeController::Instance()->GetTree().GetNode(this->createdControlID); if (!createdNode || !createdNode->GetParent()) { this->redoNode = NULL; return; } createdNode->PrepareRemoveFromSceneInformation(); this->redoNode = createdNode; }
void DeleteSelectedNodeCommand::PrepareRedoInformation() { // Remember the nodes which will be removed from the scene. for (HierarchyTreeNode::HIERARCHYTREENODESLIST::iterator iter = this->nodes.begin(); iter != this->nodes.end(); iter ++) { HierarchyTreeNode* nodeToRedo = (*iter); if (!nodeToRedo || !nodeToRedo->GetParent()) { continue; } nodeToRedo->PrepareRemoveFromSceneInformation(); this->redoNodes.push_back(nodeToRedo); } }