17#ifndef QGSTASKMANAGERWIDGET_H
18#define QGSTASKMANAGERWIDGET_H
25#include <QStyledItemDelegate>
32class QgsTaskManagerModel;
57 void modelRowsInserted(
const QModelIndex &index,
int start,
int end );
58 void clicked(
const QModelIndex &index );
62 QTreeView *mTreeView =
nullptr;
63 QgsTaskManagerModel *mModel =
nullptr;
87 QgsTaskManagerFloatingWidget(
QgsTaskManager *manager, QWidget *parent =
nullptr );
97class GUI_EXPORT QgsTaskManagerStatusBarWidget :
public QToolButton
108 QgsTaskManagerStatusBarWidget( QgsTaskManager *manager, QWidget *parent =
nullptr );
110 QSize sizeHint()
const override;
113 void changeEvent( QEvent *event )
override;
117 void toggleDisplay();
118 void overallProgressChanged(
double progress );
119 void countActiveTasksChanged(
int count );
124 QgsTaskManagerFloatingWidget *mFloatingWidget =
nullptr;
125 QProgressBar *mProgressBar =
nullptr;
126 QgsTaskManager *mManager =
nullptr;
135class GUI_EXPORT QgsTaskManagerModel :
public QAbstractItemModel
167 explicit QgsTaskManagerModel( QgsTaskManager *manager, QObject *parent =
nullptr );
170 QModelIndex index(
int row,
int column,
const QModelIndex &parent = QModelIndex() )
const override;
171 QModelIndex parent(
const QModelIndex &index )
const override;
172 int rowCount(
const QModelIndex &parent = QModelIndex() )
const override;
173 int columnCount(
const QModelIndex &parent = QModelIndex() )
const override;
174 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole )
const override;
175 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
176 bool setData(
const QModelIndex &index,
const QVariant &value,
int role = Qt::EditRole )
override;
182 QgsTask *indexToTask(
const QModelIndex &index )
const;
186 void taskAdded(
long id );
187 void taskDeleted(
long id );
188 void progressChanged(
long id,
double progress );
189 void statusChanged(
long id,
int status );
199 QgsTaskManager *mManager =
nullptr;
201 QList<long> mRowToTaskIdList;
204 int idToRow(
long id )
const;
205 QModelIndex idToIndex(
long id,
int column )
const;
206 static QString createTooltip( QgsTask *task, ToolTipType type );
208 friend class QgsTaskManagerStatusBarWidget;
216class GUI_EXPORT QgsTaskStatusWidget :
public QWidget
229 QSize sizeHint()
const override;
238 void setStatus(
int status );
245 void cancelClicked();
248 void paintEvent( QPaintEvent *e )
override;
249 void mousePressEvent( QMouseEvent *e )
override;
250 void mouseMoveEvent( QMouseEvent *e )
override;
251 void leaveEvent( QEvent *e )
override;
256 bool mInside =
false;
Task manager for managing a set of long-running QgsTask tasks.
Abstract base class for long running background tasks.
TaskStatus
Status of tasks.
@ Queued
Task is queued and has not begun.
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)