QGIS API Documentation 3.27.0-Master (f261cc1f8b)
qgsprocessingfeedback.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsprocessingfeedback.h
3 -----------------------
4 begin : December 2016
5 copyright : (C) 2016 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSPROCESSINGFEEDBACK_H
19#define QGSPROCESSINGFEEDBACK_H
20
21#include "qgis_core.h"
22#include "qgsfeedback.h"
23#include "qgsmessagelog.h"
24
26
37class CORE_EXPORT QgsProcessingFeedback : public QgsFeedback
38{
39 Q_OBJECT
40
41 public:
42
49 QgsProcessingFeedback( bool logFeedback = true );
50
57 virtual void setProgressText( const QString &text );
58
64 virtual void reportError( const QString &error, bool fatalError = false );
65
76 virtual void pushWarning( const QString &warning );
77
87 virtual void pushInfo( const QString &info );
88
98 virtual void pushCommandInfo( const QString &info );
99
108 virtual void pushDebugInfo( const QString &info );
109
118 virtual void pushConsoleInfo( const QString &info );
119
124 void pushVersionInfo( const QgsProcessingProvider *provider = nullptr );
125
132 virtual QString htmlLog() const;
133
140 virtual QString textLog() const;
141
142 private:
143
144 void log( const QString &htmlMessage, const QString &textMessage );
145
146 bool mLogFeedback = true;
147 QString mHtmlLog;
148 QString mTextLog;
149 int mMessageLoggedCount = 0;
150
151};
152
153
167{
168 Q_OBJECT
169
170 public:
171
178
183 void setCurrentStep( int step );
184
185 void setProgressText( const QString &text ) override;
186 void reportError( const QString &error, bool fatalError = false ) override;
187 void pushWarning( const QString &warning ) override;
188 void pushInfo( const QString &info ) override;
189 void pushCommandInfo( const QString &info ) override;
190 void pushDebugInfo( const QString &info ) override;
191 void pushConsoleInfo( const QString &info ) override;
192 QString htmlLog() const override;
193 QString textLog() const override;
194 private slots:
195
196 void updateOverallProgress( double progress );
197
198 private:
199
200 int mChildSteps = 0;
201 int mCurrentStep = 0;
202 QgsProcessingFeedback *mFeedback = nullptr;
203
204};
205
206#endif // QGSPROCESSINGFEEDBACK_H
207
208
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition: qgsfeedback.h:45
Base class for providing feedback from a processing algorithm.
Processing feedback object for multi-step operations.
Abstract base class for processing providers.