17#ifndef QGSTASKMANAGERWIDGET_H
18#define QGSTASKMANAGERWIDGET_H
25#include <QStyledItemDelegate>
32class QgsTaskManagerModel;
56 void modelRowsInserted(
const QModelIndex &index,
int start,
int end );
57 void clicked(
const QModelIndex &index );
61 QTreeView *mTreeView =
nullptr;
62 QgsTaskManagerModel *mModel =
nullptr;
85 QgsTaskManagerFloatingWidget(
QgsTaskManager *manager, QWidget *parent =
nullptr );
95class GUI_EXPORT QgsTaskManagerStatusBarWidget :
public QToolButton
105 QgsTaskManagerStatusBarWidget( QgsTaskManager *manager, QWidget *parent =
nullptr );
107 QSize sizeHint()
const override;
110 void changeEvent( QEvent *event )
override;
114 void toggleDisplay();
115 void overallProgressChanged(
double progress );
116 void countActiveTasksChanged(
int count );
121 QgsTaskManagerFloatingWidget *mFloatingWidget =
nullptr;
122 QProgressBar *mProgressBar =
nullptr;
123 QgsTaskManager *mManager =
nullptr;
132class GUI_EXPORT QgsTaskManagerModel :
public QAbstractItemModel
164 explicit QgsTaskManagerModel( QgsTaskManager *manager, QObject *parent =
nullptr );
167 QModelIndex index(
int row,
int column,
const QModelIndex &parent = QModelIndex() )
const override;
168 QModelIndex parent(
const QModelIndex &index )
const override;
169 int rowCount(
const QModelIndex &parent = QModelIndex() )
const override;
170 int columnCount(
const QModelIndex &parent = QModelIndex() )
const override;
171 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole )
const override;
172 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
173 bool setData(
const QModelIndex &index,
const QVariant &value,
int role = Qt::EditRole )
override;
179 QgsTask *indexToTask(
const QModelIndex &index )
const;
183 void taskAdded(
long id );
184 void taskDeleted(
long id );
185 void progressChanged(
long id,
double progress );
186 void statusChanged(
long id,
int status );
196 QgsTaskManager *mManager =
nullptr;
198 QList<long> mRowToTaskIdList;
201 int idToRow(
long id )
const;
202 QModelIndex idToIndex(
long id,
int column )
const;
203 static QString createTooltip( QgsTask *task, ToolTipType type );
205 friend class QgsTaskManagerStatusBarWidget;
213class GUI_EXPORT QgsTaskStatusWidget :
public QWidget
225 QSize sizeHint()
const override;
234 void setStatus(
int status );
241 void cancelClicked();
244 void paintEvent( QPaintEvent *e )
override;
245 void mousePressEvent( QMouseEvent *e )
override;
246 void mouseMoveEvent( QMouseEvent *e )
override;
247 void leaveEvent( QEvent *e )
override;
252 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)