class EE::UI::UndoCommand

#include <undostack.hpp>

class UndoCommand: public EE::NonCopyable {
public:
    // construction

    UndoCommand(UndoCommand* parent = nullptr);
    UndoCommand(const std::string& text, UndoCommand* parent = nullptr);
    virtual ~UndoCommand();

    // methods

    virtual void undo();
    virtual void redo();
    virtual int id() const;
    virtual bool mergeWith(const UndoCommand* other);
    std::string text() const;
    std::string actionText() const;
    void setText(const std::string& text);
    bool isObsolete() const;
    void setObsolete(bool obsolete);
    int childCount() const;
    const UndoCommand* child(int index) const;
};