ThreadManager.h
Go to the documentation of this file.
1
/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3
This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5
TerraLib is free software: you can redistribute it and/or modify
6
it under the terms of the GNU Lesser General Public License as published by
7
the Free Software Foundation, either version 3 of the License,
8
or (at your option) any later version.
9
10
TerraLib is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU Lesser General Public License for more details.
14
15
You should have received a copy of the GNU Lesser General Public License
16
along with TerraLib. See COPYING. If not, write to
17
TerraLib Team at <terralib-team@terralib.org>.
18
*/
19
20
/*!
21
\file terralib/qt/widgets/canvas/ThreadManager.h
22
23
\brief Manager for threads of rendering.
24
*/
25
26
#ifndef __TERRALIB_QT_WIDGETS_INTERNAL_THREADMANAGER_H
27
#define __TERRALIB_QT_WIDGETS_INTERNAL_THREADMANAGER_H
28
29
//Terralib
30
#include "../Config.h"
31
32
//Qt
33
#include <QObject>
34
35
//STL
36
#include <vector>
37
38
class
QRunnable;
39
class
QThreadPool;
40
class
QTimer;
41
42
namespace
te
43
{
44
namespace
qt
45
{
46
namespace
widgets
47
{
48
class
TEQTWIDGETSEXPORT
ThreadManager
:
public
QObject
49
{
50
Q_OBJECT
51
52
public
:
53
54
ThreadManager
(
const
std::vector<QRunnable*>& threads,
int
interval=-1);
55
56
~ThreadManager
();
57
58
void
run
();
59
60
void
stopProccess
();
61
62
Q_SIGNALS:
63
64
void
showFeedback
();
65
66
void
finished
();
67
68
protected
slots
:
69
70
void
onThreadFinished
();
71
72
protected
:
73
74
std::vector<QRunnable*>
m_threads
;
75
76
QThreadPool*
m_pool
;
77
78
QTimer*
m_timer
;
79
80
int
m_interval
;
81
};
82
}
83
}
84
}
85
86
#endif
//__TERRALIB_QT_WIDGETS_INTERNAL_THREADMANAGER_H
te::qt::widgets::ThreadManager
Definition:
ThreadManager.h:49
te::qt::widgets::ThreadManager::stopProccess
void stopProccess()
te::qt::widgets::ThreadManager::m_pool
QThreadPool * m_pool
Definition:
ThreadManager.h:76
te::qt::widgets::ThreadManager::onThreadFinished
void onThreadFinished()
te::qt::widgets::ThreadManager::showFeedback
void showFeedback()
te::qt::widgets::ThreadManager::finished
void finished()
te::qt::widgets::ThreadManager::m_threads
std::vector< QRunnable * > m_threads
Definition:
ThreadManager.h:74
te::qt::widgets::ThreadManager::~ThreadManager
~ThreadManager()
te::qt::widgets::ThreadManager::ThreadManager
ThreadManager(const std::vector< QRunnable * > &threads, int interval=-1)
te::qt::widgets::ThreadManager::m_interval
int m_interval
Definition:
ThreadManager.h:80
te::qt::widgets::ThreadManager::m_timer
QTimer * m_timer
Definition:
ThreadManager.h:78
te::qt::widgets::ThreadManager::run
void run()
te
TerraLib.
Definition:
AddressGeocodingOp.h:52
slots
#define slots
Definition:
VirtualMachine.h:48
TEQTWIDGETSEXPORT
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition:
Config.h:63
git_release
src
terralib
qt
widgets
canvas
ThreadManager.h
Generated on Mon Jun 5 2023 10:44:31 for TerraLib by
1.9.1