ThreadedUIUpdate< CLASSDATA > Class Template Reference
#include <threaded_update_helper.h>
公共成员函数 |
|
virtual | ~ThreadedUIUpdate () |
Result < void > | 开始 ( Delegate < Result < void >(CLASSDATA *self)> &&threadFn, const TimeValue &timerDelay, Bool waitFirstDelay, Delegate < Result < void >(CLASSDATA *self)> &&startWaitFn, const TimeValue &timerInterval, Delegate < void(CLASSDATA *self)> &&timerWaitFn, Delegate < Result < void >(CLASSDATA *self, Error threadError)> &&finalUpdateFunc) |
virtual Bool | 取消 () |
virtual void | Wait () |
virtual Bool | IsRunning () |
![]() |
|
virtual | ~ThreadedUIUpdateBase () |
私有成员函数 |
|
Bool | CancelI () |
Private Attributes |
|
JobRef | _scanThread |
JobRef | _updateJob |
TimerRef | _spinningTimer |
Bool | _isDone |
|
virtual |
Result < void > Start | ( | Delegate < Result < void >(CLASSDATA *self)> && | threadFn , |
const TimeValue & | timerDelay , | ||
Bool | waitFirstDelay , | ||
Delegate < Result < void >(CLASSDATA *self)> && | startWaitFn , | ||
const TimeValue & | timerInterval , | ||
Delegate < void(CLASSDATA *self)> && | timerWaitFn , | ||
Delegate < Result < void >(CLASSDATA *self, Error threadError)> && | finalUpdateFunc | ||
) |
Starts a threaded UI update with a given delay and timer update. The function starts the threaded execution immediately, after timerDelay a timer is started to update the ui with a progress update.
[in] | threadFn | Callback with the code which needs to be executed parallel. This is running in a new thread. |
[in] | timerDelay | The timer delay after which startWaitFn is triggered. |
[in] | waitFirstDelay | True if the function should wait until the first timerDelay is reached. This leads to a wait time in this function. False to do it completely async. A one-shot timer will be used to trigger the first timerDelay. This is the most efficient way. |
[in] | startWaitFn | Callback which will be triggered if the threadFn takes longer than timerDelay. This is running in the UI Queue . |
[in] | timerInterval | The timer interval that triggers an UI timer update while the thread is running. |
[in] | timerWaitFn | Timer callback to update the UI with progress informations. This is running in the UI Queue . |
[in] | finalUpdateFunc | Finalize callback to update the UI after all is done. This is running in the UI Queue . |
|
virtual |
Cancel the job.
Implements ThreadedUIUpdateBase .
void Wait | virtual |
Implements ThreadedUIUpdateBase .
|
virtual |
Implements ThreadedUIUpdateBase .
|
private |
|
private |
|
private |
TimerRef _spinningTimer | private |
|
private |