implemented deleting nodes in the nodeview (undoable)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user