Skip to content

Commit

Permalink
extend API of TimerFunction class
Browse files Browse the repository at this point in the history
  • Loading branch information
wwmayer committed Apr 1, 2017
1 parent c80f6f0 commit b01a51d
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/Gui/ActionFunction.cpp
Expand Up @@ -120,8 +120,10 @@ class TimerFunctionPrivate
public:
boost::function<void()> timeoutFunc;
boost::function<void(QObject*)> timeoutFuncQObject;
boost::function<void(QVariant)> timeoutFuncQVariant;
bool autoDelete;
QPointer<QObject> argQObject;
QVariant argQVariant;
};
}

Expand All @@ -148,6 +150,13 @@ void TimerFunction::setFunction(boost::function<void(QObject*)> func, QObject* a
d->argQObject = args;
}

void TimerFunction::setFunction(boost::function<void(QVariant)> func, QVariant args)
{
Q_D(TimerFunction);
d->timeoutFuncQVariant = func;
d->argQVariant = args;
}

void TimerFunction::setAutoDelete(bool on)
{
Q_D(TimerFunction);
Expand All @@ -161,6 +170,8 @@ void TimerFunction::timeout()
d->timeoutFunc();
else if (d->timeoutFuncQObject)
d->timeoutFuncQObject(d->argQObject);
else if (d->timeoutFuncQVariant)
d->timeoutFuncQVariant(d->argQVariant);
if (d->autoDelete)
deleteLater();
}
Expand Down
2 changes: 2 additions & 0 deletions src/Gui/ActionFunction.h
Expand Up @@ -26,6 +26,7 @@

#include <QObject>
#include <QPointer>
#include <QVariant>
#include <boost/function.hpp>

class QAction;
Expand Down Expand Up @@ -100,6 +101,7 @@ class GuiExport TimerFunction : public QObject

void setFunction(boost::function<void()> func);
void setFunction(boost::function<void(QObject*)> func, QObject* args);
void setFunction(boost::function<void(QVariant)> func, QVariant args);
void setAutoDelete(bool);

private Q_SLOTS:
Expand Down

0 comments on commit b01a51d

Please sign in to comment.