1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
#ifndef COMMITTABLE_H
#define COMMITTABLE_H
#include "coreSQLiteStudio_global.h"
#include <QList>
#include <functional>
class API_EXPORT Committable
{
public:
typedef std::function<bool(const QList<Committable*>& instances)> ConfirmFunction;
Committable();
virtual ~Committable();
virtual bool isUncommitted() const = 0;
virtual QString getQuitUncommittedConfirmMessage() const = 0;
static void init(ConfirmFunction confirmFunc);
static bool canQuit();
private:
static ConfirmFunction confirmFunc;
static QList<Committable*> instances;
};
#endif // COMMITTABLE_H
|