Envision
A visual programming IDE for object-oriented languages
List of all members | Public Member Functions | Private Attributes
Model::ListInsert Class Reference

This command is used to insert a list element at a specific position in a list. More...

Inheritance diagram for Model::ListInsert:
Model::NodeOwningCommand Model::UndoCommand

Public Member Functions

 ListInsert (Node *target, QVector< Node * > &nodes, Node *newNode, int position)
 
virtual void redo ()
 
virtual void undo ()
 
- Public Member Functions inherited from Model::NodeOwningCommand
 NodeOwningCommand (Node *target, const QString &text, Node *ownedIfDone, Node *ownedIfUndone)
 
virtual ~NodeOwningCommand ()
 
virtual Node * insertedNode () const override
 Returns the node that this command inserted into the tree, or nullptr if no node was inserted. More...
 
virtual Node * owned () const override
 Returns the node owned by this command or nullptr if no node is owned. More...
 
virtual Node * removedNode () const override
 Returns the node that this command removed from the tree, or nullptr if no node was removed. More...
 
- Public Member Functions inherited from Model::UndoCommand
 UndoCommand (Node *target, const QString &text)
 
virtual ~UndoCommand ()
 
bool isUndone () const
 Returns whether the command has been undone since it was applied. More...
 
Node * target () const
 

Private Attributes

int insertPosition
 
Node * newNode
 
QVector< Node * > & nodes
 

Detailed Description

This command is used to insert a list element at a specific position in a list.

All elements which are currently at or after the specified position will be shifted once to the right.

Constructor & Destructor Documentation

◆ ListInsert()

Model::ListInsert::ListInsert ( Node *  target,
QVector< Node * > &  nodes,
Node *  newNode,
int  position 
)

Member Function Documentation

◆ redo()

void Model::ListInsert::redo ( )
virtual

Reimplemented from Model::NodeOwningCommand.

◆ undo()

void Model::ListInsert::undo ( )
virtual

Reimplemented from Model::NodeOwningCommand.

Member Data Documentation

◆ insertPosition

int Model::ListInsert::insertPosition
private

◆ newNode

Node* Model::ListInsert::newNode
private

◆ nodes

QVector<Node*>& Model::ListInsert::nodes
private