implemented deleting nodes in the nodeview (undoable)

This commit is contained in:
itsmattkc
2019-12-13 04:12:00 +11:00
parent 186973ff20
commit 18bf126574
9 changed files with 140 additions and 2 deletions
+30
View File
@@ -3,6 +3,7 @@
#include <QUndoCommand>
#include "node/graph.h"
#include "node/node.h"
/**
@@ -45,4 +46,33 @@ private:
bool done_;
};
class NodeAddCommand : public QUndoCommand {
public:
NodeAddCommand(NodeGraph* graph, Node* node, QUndoCommand* parent = nullptr);
virtual void redo() override;
virtual void undo() override;
private:
QObject memory_manager_;
NodeGraph* graph_;
Node* node_;
};
class NodeRemoveCommand : public QUndoCommand {
public:
NodeRemoveCommand(NodeGraph* graph, const QList<Node*>& nodes, QUndoCommand* parent = nullptr);
virtual void redo() override;
virtual void undo() override;
private:
QObject memory_manager_;
NodeGraph* graph_;
QList<Node*> nodes_;
QList<NodeEdgePtr> edges_;
};
#endif // NODEVIEWUNDO_H