mirror of
https://github.com/AxioDL/amuse.git
synced 2025-12-10 22:17:56 +00:00
Integrate undo infrastructure with SoundMacroEditor
This commit is contained in:
@@ -2,15 +2,33 @@
|
||||
#define AMUSE_EDITOR_WIDGET_HPP
|
||||
|
||||
#include <QWidget>
|
||||
#include <QUndoCommand>
|
||||
#include <QApplication>
|
||||
#include "ProjectModel.hpp"
|
||||
|
||||
class EditorWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit EditorWidget(QWidget* parent = Q_NULLPTR);
|
||||
virtual bool valid() const { return true; }
|
||||
virtual void unloadData() {}
|
||||
};
|
||||
|
||||
class EditorUndoCommand : public QUndoCommand
|
||||
{
|
||||
protected:
|
||||
std::shared_ptr<ProjectModel::INode> m_node;
|
||||
enum class Id
|
||||
{
|
||||
SMChangeVal,
|
||||
};
|
||||
public:
|
||||
EditorUndoCommand(std::shared_ptr<ProjectModel::INode> node,
|
||||
const QString& text, QUndoCommand* parent = nullptr)
|
||||
: QUndoCommand(text, parent), m_node(node) {}
|
||||
void undo();
|
||||
void redo();
|
||||
};
|
||||
|
||||
#endif //AMUSE_EDITOR_WIDGET_HPP
|
||||
|
||||
Reference in New Issue
Block a user