38 #ifndef DELAYJOBRUNNER_H
39 #define DELAYJOBRUNNER_H
44 #include <qtextobject.h>
46 #define DELAY_JOB_RUNNER(base,T1,T2) ((DelayJobRunner<T1,T2>*)(base))
47 #define DELAY_JOB_RUNNER_ARGTEXTBLOCK(base,T1,T2) ((DelayJobRunnerArgTextBlock<T1,T2>*)(base))
48 #define DELAY_JOB_RUNNER_ARGTEXTCURSOR(base,T1,T2) ((DelayJobRunnerArgTextCursor<T1,T2>*)(base))
49 #define DELAY_JOB_RUNNER_NOARGS(base,T1,T2) ((DelayJobRunnerNoArgs<T1,T2>*)(base))
50 #define DELAY_JOB_RUNNER_GENERICARG(base,T1,T2,T3) ((DelayJobRunnerGenericArg<T1,T2,T3>*)(base))
58 DelayJobRunnerBase(
int delay = 500, QObject *parent = NULL) : QObject(parent), m_delay(delay)
60 connect(&m_timer, SIGNAL(timeout()),
this, SLOT(execRequestedJob()));
64 virtual void cancelRequests() = 0;
66 int delay()
const {
return m_delay; }
68 void setDelay(
int delay) { m_delay = delay; }
76 virtual void execRequestedJob() = 0;
87 template <
typename OBJECT,
typename FUNC>
108 void requestJob(OBJECT* obj, FUNC f,
const QList<QVariant> &args)
114 m_timer.start(m_delay);
117 virtual void cancelRequests()
128 QList<QVariant> m_args;
134 virtual void execRequestedJob()
139 (m_obj->*m_func)(m_args);
152 template <
typename OBJECT,
typename FUNC>
173 void requestJob(OBJECT* obj, FUNC f,
const QTextBlock &block)
179 m_timer.start(m_delay);
182 virtual void cancelRequests()
187 m_block = QTextBlock();
199 virtual void execRequestedJob()
204 (m_obj->*m_func)(m_block);
219 template <
typename OBJECT,
typename FUNC>
239 void requestJob(OBJECT* obj, FUNC f,
const QTextCursor &cursor)
245 m_timer.start(m_delay);
248 virtual void cancelRequests()
253 m_cursor = QTextCursor();
259 QTextCursor m_cursor;
265 virtual void execRequestedJob()
270 (m_obj->*m_func)(m_cursor);
285 template <
typename OBJECT,
typename FUNC,
typename ARGTYPE>
306 void requestJob(OBJECT* obj, FUNC f,
const ARGTYPE &
arg)
312 m_timer.start(m_delay);
315 virtual void cancelRequests()
332 virtual void execRequestedJob()
337 (m_obj->*m_func)(m_arg);
344 template <
typename OBJECT,
typename FUNC>
365 void requestJob(OBJECT* obj, FUNC f)
370 m_timer.start(m_delay);
373 virtual void cancelRequests()
388 virtual void execRequestedJob()
DataObject arg(const DataObject &dObj)
high-level value which calculates the argument value of each element of the input source data object ...
Definition: dataobj.cpp:10131
Definition: delayJobRunner.h:88
Definition: delayJobRunner.h:286
Definition: apiFunctionsGraph.cpp:39
Definition: delayJobRunner.h:54
Definition: delayJobRunner.h:345
Definition: delayJobRunner.h:220
Definition: delayJobRunner.h:153