QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
|
QgsTask task which draws a map to an image file or a painter as a background task. More...
#include <qgsmaprenderertask.h>
Public Types | |
enum | ErrorType { ImageAllocationFail = 1 , ImageSaveFail , ImageUnsupportedFormat } |
Error type. More... | |
Public Types inherited from QgsTask | |
enum | Flag { CanCancel = 1 << 1 , CancelWithoutPrompt = 1 << 2 , Hidden = 1 << 3 , Silent = 1 << 4 , AllFlags = CanCancel } |
Task flags. More... | |
enum | SubTaskDependency { SubTaskIndependent = 0 , ParentDependsOnSubTask } |
Controls how subtasks relate to their parent task. More... | |
enum | TaskStatus { Queued , OnHold , Running , Complete , Terminated } |
Status of tasks. More... | |
Signals | |
void | errorOccurred (int error) |
Emitted when map rendering failed. More... | |
void | renderingComplete () |
Emitted when the map rendering is successfully completed. More... | |
Signals inherited from QgsTask | |
void | begun () |
Will be emitted by task to indicate its commencement. More... | |
void | progressChanged (double progress) |
Will be emitted by task when its progress changes. More... | |
void | statusChanged (int status) |
Will be emitted by task when its status changes. More... | |
void | taskCompleted () |
Will be emitted by task to indicate its successful completion. More... | |
void | taskTerminated () |
Will be emitted by task if it has terminated for any reason other then completion (e.g., when a task has been canceled or encountered an internal error). More... | |
Public Member Functions | |
QgsMapRendererTask (const QgsMapSettings &ms, const QString &fileName, const QString &fileFormat=QString("PNG"), bool forceRaster=false, QgsTask::Flags flags=QgsTask::CanCancel, bool geoPdf=false, const QgsAbstractGeoPdfExporter::ExportDetails &geoPdfExportDetails=QgsAbstractGeoPdfExporter::ExportDetails()) | |
Constructor for QgsMapRendererTask to render a map to an image file. More... | |
QgsMapRendererTask (const QgsMapSettings &ms, QPainter *p) | |
Constructor for QgsMapRendererTask to render a map to a QPainter object. More... | |
~QgsMapRendererTask () override | |
void | addAnnotations (const QList< QgsAnnotation * > &annotations) |
Adds annotations to be rendered on the map. More... | |
void | addDecorations (const QList< QgsMapDecoration * > &decorations) |
Adds decorations to be rendered on the map. More... | |
void | cancel () override |
Notifies the task that it should terminate. More... | |
void | setExportMetadata (bool exportMetadata) |
Sets whether metadata such as title and subject will be exported whenever possible. More... | |
void | setSaveWorldFile (bool save) |
Sets whether the image file will be georeferenced (embedded or via a world file). More... | |
Public Member Functions inherited from QgsTask | |
QgsTask (const QString &description=QString(), QgsTask::Flags flags=AllFlags) | |
Constructor for QgsTask. More... | |
~QgsTask () override | |
void | addSubTask (QgsTask *subTask, const QgsTaskList &dependencies=QgsTaskList(), SubTaskDependency subTaskDependency=SubTaskIndependent) |
Adds a subtask to this task. More... | |
bool | canCancel () const |
Returns true if the task can be canceled. More... | |
virtual void | cancel () |
Notifies the task that it should terminate. More... | |
QList< QgsMapLayer * > | dependentLayers () const |
Returns the list of layers on which the task depends. More... | |
QString | description () const |
Returns the task's description. More... | |
qint64 | elapsedTime () const |
Returns the elapsed time since the task commenced, in milliseconds. More... | |
Flags | flags () const |
Returns the flags associated with the task. More... | |
void | hold () |
Places the task on hold. More... | |
bool | isActive () const |
Returns true if the task is active, ie it is not complete and has not been canceled. More... | |
double | progress () const |
Returns the task's progress (between 0.0 and 100.0) More... | |
void | setDependentLayers (const QList< QgsMapLayer * > &dependentLayers) |
Sets a list of layers on which the task depends. More... | |
void | setDescription (const QString &description) |
Sets the task's description. More... | |
TaskStatus | status () const |
Returns the current task status. More... | |
void | unhold () |
Releases the task from being held. More... | |
bool | waitForFinished (int timeout=30000) |
Blocks the current thread until the task finishes or a maximum of timeout milliseconds. More... | |
Protected Member Functions | |
void | finished (bool result) override |
If the task is managed by a QgsTaskManager, this will be called after the task has finished (whether through successful completion or via early termination). More... | |
bool | run () override |
Performs the task's operation. More... | |
Protected Member Functions inherited from QgsTask | |
virtual void | finished (bool result) |
If the task is managed by a QgsTaskManager, this will be called after the task has finished (whether through successful completion or via early termination). More... | |
bool | isCanceled () const |
Will return true if task should terminate ASAP. More... | |
virtual bool | run ()=0 |
Performs the task's operation. More... | |
Additional Inherited Members | |
Protected Slots inherited from QgsTask | |
void | setProgress (double progress) |
Sets the task's current progress. More... | |
QgsTask task which draws a map to an image file or a painter as a background task.
This can be used to draw maps without blocking the QGIS interface.
Definition at line 46 of file qgsmaprenderertask.h.
Error type.
Enumerator | |
---|---|
ImageAllocationFail | Image allocation failure. |
ImageSaveFail | Image save failure. |
ImageUnsupportedFormat | Format is unsupported on the platform.
|
Definition at line 53 of file qgsmaprenderertask.h.
QgsMapRendererTask::QgsMapRendererTask | ( | const QgsMapSettings & | ms, |
const QString & | fileName, | ||
const QString & | fileFormat = QString( "PNG" ) , |
||
bool | forceRaster = false , |
||
QgsTask::Flags | flags = QgsTask::CanCancel , |
||
bool | geoPdf = false , |
||
const QgsAbstractGeoPdfExporter::ExportDetails & | geoPdfExportDetails = QgsAbstractGeoPdfExporter::ExportDetails() |
||
) |
Constructor for QgsMapRendererTask to render a map to an image file.
If the output fileFormat is set to PDF, the geoPdf argument controls whether a GeoPDF file is created. See QgsAbstractGeoPdfExporter::geoPDFCreationAvailable() for conditions on GeoPDF creation availability.
Since QGIS 3.26 the optional flags argument can be used to control the task flags.
Definition at line 121 of file qgsmaprenderertask.cpp.
QgsMapRendererTask::QgsMapRendererTask | ( | const QgsMapSettings & | ms, |
QPainter * | p | ||
) |
Constructor for QgsMapRendererTask to render a map to a QPainter object.
Definition at line 134 of file qgsmaprenderertask.cpp.
|
overridedefault |
void QgsMapRendererTask::addAnnotations | ( | const QList< QgsAnnotation * > & | annotations | ) |
Adds annotations to be rendered on the map.
Definition at line 144 of file qgsmaprenderertask.cpp.
void QgsMapRendererTask::addDecorations | ( | const QList< QgsMapDecoration * > & | decorations | ) |
Adds decorations to be rendered on the map.
Definition at line 156 of file qgsmaprenderertask.cpp.
|
overridevirtual |
Notifies the task that it should terminate.
Calling this is not guaranteed to immediately end the task, rather it sets the isCanceled() flag which task subclasses can check and terminate their operations at an appropriate time. Any subtasks owned by this task will also be canceled. Derived classes must ensure that the base class implementation is called from any overridden version.
Reimplemented from QgsTask.
Definition at line 162 of file qgsmaprenderertask.cpp.
|
signal |
Emitted when map rendering failed.
|
overrideprotectedvirtual |
If the task is managed by a QgsTaskManager, this will be called after the task has finished (whether through successful completion or via early termination).
The result argument reflects whether the task was successfully completed or not. This method is always called from the main thread, so it is safe to create widgets and perform other operations which require the main thread. However, the GUI will be blocked for the duration of this method so tasks should avoid performing any lengthy operations here.
Reimplemented from QgsTask.
Definition at line 449 of file qgsmaprenderertask.cpp.
|
signal |
Emitted when the map rendering is successfully completed.
|
overrideprotectedvirtual |
Performs the task's operation.
This method will be called when the task commences (ie via calling start() ), and subclasses should implement the operation they wish to perform in the background within this method.
A task must return a boolean value to indicate whether the task was completed successfully or terminated before completion.
Implements QgsTask.
Definition at line 172 of file qgsmaprenderertask.cpp.
|
inline |
Sets whether metadata such as title and subject will be exported whenever possible.
Definition at line 116 of file qgsmaprenderertask.h.
|
inline |
Sets whether the image file will be georeferenced (embedded or via a world file).
Definition at line 111 of file qgsmaprenderertask.h.