OpendTect  6.6
uitaskrunner.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: K. Tingdahl
8  Date: December 2007
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uitoolsmod.h"
15 #include "uidialog.h"
16 #include "threadlock.h"
17 #include "task.h"
18 
19 class uiProgressBar;
20 class uiLabel;
21 class Timer;
22 namespace Threads { class Thread; }
23 
24 
25 mExpClass(uiTools) uiTaskRunner : public uiDialog
26  , public TaskRunner
28 public:
29  uiTaskRunner(uiParent*,bool dispmsgonerr=true);
31 
32  virtual bool execute(Task& t);
33  virtual void emitErrorMessage(const uiString&,bool) const;
34 
35  uiString lastMsg() const { return prevmessage_; }
36  uiRetVal errorWithDetails() const { return errdetails_; }
37  int getState() const { return state_; }
38  void displayMsgOnError(bool yn) { dispmsgonerr_ = yn; }
39 
40 protected:
41 
44 
46  int prevtime_ = 0;
48  int symbidx_;
49 
59 
61  int state_; //-1 finished in error
62  // 0 finished without error
63  // 1 running
66  void doWork(CallBacker*);
67 
69  void updateFields();
72  virtual bool acceptOK(CallBacker*);
73 
74  virtual bool rejectOK(CallBacker*);
75 
76  void init();
77 
78 };
uiTaskRunner::uitaskrunnerthreadlock_
Threads::Lock uitaskrunnerthreadlock_
Definition: uitaskrunner.h:65
uiTaskRunner::displayMsgOnError
void displayMsgOnError(bool yn)
Definition: uitaskrunner.h:38
uiTaskRunner::dispinfolock_
Threads::Lock dispinfolock_
Definition: uitaskrunner.h:51
task.h
uiTaskRunner::execute
virtual bool execute(Task &t)
uiProgressBar
Definition: uiprogressbar.h:20
uiTaskRunner::mODTextTranslationClass
mODTextTranslationClass(uiTaskRunner)
uiTaskRunner::prevtotalnr_
int prevtotalnr_
Definition: uitaskrunner.h:52
uiTaskRunner::onFinalise
void onFinalise(CallBacker *)
uiTaskRunner::getState
int getState() const
Definition: uitaskrunner.h:37
uiTaskRunner::errorWithDetails
uiRetVal errorWithDetails() const
Definition: uitaskrunner.h:36
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiTaskRunner::rejectOK
virtual bool rejectOK(CallBacker *)
confirm reject
uiTaskRunner::errdetails_
uiRetVal errdetails_
Definition: uitaskrunner.h:57
uiRetVal
Definition: uistringset.h:105
uiTaskRunner::doWork
void doWork(CallBacker *)
Method with work thread.
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
Timer
Timer class.
Definition: timer.h:25
uiTaskRunner::prevmessage_
uiString prevmessage_
Definition: uitaskrunner.h:55
uiTaskRunner::tim_
Timer & tim_
Definition: uitaskrunner.h:45
uiTaskRunner::prevnrdonetext_
uiString prevnrdonetext_
Definition: uitaskrunner.h:56
uiTaskRunner::state_
int state_
Definition: uitaskrunner.h:61
Task
Generalization of something (e.g. a computation) that needs to be done in multiple steps.
Definition: task.h:28
uiTaskRunner::prevnrdone_
int prevnrdone_
Definition: uitaskrunner.h:53
uiTaskRunner::prevpercentage_
int prevpercentage_
Definition: uitaskrunner.h:54
uiTaskRunner::timerTick
void timerTick(CallBacker *)
TaskRunner
Class that can execute a task.
Definition: task.h:170
uiTaskRunner::statelock_
Threads::Lock statelock_
Definition: uitaskrunner.h:60
uidialog.h
uiTaskRunner::progbar_
uiProgressBar * progbar_
Definition: uitaskrunner.h:42
uiTaskRunner::thread_
Threads::Thread * thread_
Definition: uitaskrunner.h:64
uiTaskRunner::updateFields
void updateFields()
uiTaskRunner::finalizeTask
uiString finalizeTask()
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiTaskRunner::init
void init()
Threads::Thread
Is the base class for all threads. Start it by creating it and give it the function or CallBack to ex...
Definition: thread.h:282
uiTaskRunner::proglbl_
uiLabel * proglbl_
Definition: uitaskrunner.h:43
uiTaskRunner::execnm_
BufferString execnm_
Definition: uitaskrunner.h:47
uiTaskRunner::symbidx_
int symbidx_
Definition: uitaskrunner.h:48
threadlock.h
uiTaskRunner::acceptOK
virtual bool acceptOK(CallBacker *)
confirm accept
uiLabel
Definition: uilabel.h:24
uiTaskRunner
Definition: uitaskrunner.h:27
uiTaskRunner::uiTaskRunner
uiTaskRunner(uiParent *, bool dispmsgonerr=true)
uiTaskRunner::dispmsgonerr_
bool dispmsgonerr_
Definition: uitaskrunner.h:58
uiParent
Definition: uiparent.h:26
uiTaskRunner::~uiTaskRunner
~uiTaskRunner()
uiDialog
Definition: uidialog.h:42
uiTaskRunner::task_
Task * task_
Definition: uitaskrunner.h:50
Threads
interface to threads that should be portable.
Definition: atomic.h:23
Threads::Lock
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class.
Definition: threadlock.h:53
uiTaskRunner::emitErrorMessage
virtual void emitErrorMessage(const uiString &, bool) const
uiTaskRunner::lastMsg
uiString lastMsg() const
Definition: uitaskrunner.h:35

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021