/** * Creates a new cut command that represents the cut the node located with \a index from the \a model. * The node is stored at the \a clipborad. * * If \a parent is not null, this command is appended to parent's child list and then owns this command. */ CmdCut::CmdCut( const QModelIndex& selectedIndex, SoNode*& clipboard, SceneModel* model, QUndoCommand* parent ) : QUndoCommand("Cut", parent), m_pClipboard ( clipboard ), m_previousNode ( 0 ), m_coinNode( 0 ), m_coinParent( 0 ), m_pModel( model ), m_row ( -1 ) { InstanceNode* instanceNode = m_pModel->NodeFromIndex( selectedIndex ); m_coinNode = instanceNode->GetNode(); m_coinNode->ref(); m_coinParent = static_cast< SoBaseKit* > (instanceNode->GetParent()->GetNode() ); m_previousNode = clipboard ; m_row = instanceNode->GetParent()->children.indexOf( instanceNode ); }