QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
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 
37 class 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 
QgsProcessingFeedback::setProgressText
virtual void setProgressText(const QString &text)
Sets a progress report text string.
Definition: qgsprocessingfeedback.cpp:35
QgsProcessingFeedback::pushCommandInfo
virtual void pushCommandInfo(const QString &info)
Pushes an informational message containing a command from the algorithm.
Definition: qgsprocessingfeedback.cpp:86
QgsProcessingFeedback
Base class for providing feedback from a processing algorithm.
Definition: qgsprocessingfeedback.h:37
QgsProcessingFeedback::pushInfo
virtual void pushInfo(const QString &info)
Pushes a general informational message from the algorithm.
Definition: qgsprocessingfeedback.cpp:77
QgsProcessingFeedback::reportError
virtual void reportError(const QString &error, bool fatalError=false)
Reports that the algorithm encountered an error while executing.
Definition: qgsprocessingfeedback.cpp:59
QgsProcessingProvider
Abstract base class for processing providers.
Definition: qgsprocessingprovider.h:35
QgsProcessingFeedback::textLog
virtual QString textLog() const
Returns the plain text contents of the log, which contains all messages pushed to the feedback object...
Definition: qgsprocessingfeedback.cpp:147
QgsProcessingFeedback::pushConsoleInfo
virtual void pushConsoleInfo(const QString &info)
Pushes a console feedback message from the algorithm.
Definition: qgsprocessingfeedback.cpp:104
QgsProcessingMultiStepFeedback
Processing feedback object for multi-step operations.
Definition: qgsprocessingfeedback.h:166
QgsFeedback
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition: qgsfeedback.h:44
QgsProcessingFeedback::pushDebugInfo
virtual void pushDebugInfo(const QString &info)
Pushes an informational message containing debugging helpers from the algorithm.
Definition: qgsprocessingfeedback.cpp:95
QgsProcessingFeedback::htmlLog
virtual QString htmlLog() const
Returns the HTML formatted contents of the log, which contains all messages pushed to the feedback ob...
Definition: qgsprocessingfeedback.cpp:142
qgsfeedback.h
QgsProcessingFeedback::pushWarning
virtual void pushWarning(const QString &warning)
Pushes a warning informational message from the algorithm.
Definition: qgsprocessingfeedback.cpp:68
qgsmessagelog.h