QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Types | Public Member Functions | List of all members
QgsProfileExporterTask Class Reference

Handles exports of elevation profiles in various formats in a background task. More...

#include <qgsprofileexporter.h>

Inheritance diagram for QgsProfileExporterTask:
Inheritance graph
[legend]

Public Types

enum class  ExportResult {
  Success , Empty , DeviceError , DxfExportFailed ,
  LayerExportFailed , Canceled
}
 Results of exporting the profile. 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...
 
typedef QFlags< FlagFlags
 
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...
 

Public Member Functions

 QgsProfileExporterTask (const QList< QgsAbstractProfileSource * > &sources, const QgsProfileRequest &request, Qgis::ProfileExportType type, const QString &destination, const QgsCoordinateTransformContext &transformContext)
 Constructor for QgsProfileExporterTask, saving results to the specified destination file. More...
 
void cancel () override
 Notifies the task that it should terminate. More...
 
QStringList createdFiles () const
 Returns a list of layer files created during the export. More...
 
QString error () const
 Returns a descriptive error message, if available. More...
 
 Q_ENUM (ExportResult)
 
QgsProfileExporterTask::ExportResult result () const
 Returns the result of the export operation. More...
 
bool run () override
 Performs the task's operation. More...
 
QList< QgsVectorLayer * > takeLayers ()
 Returns a list of vector layer containing the exported profile results. 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...
 

Additional Inherited Members

- 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...
 
- Protected Slots inherited from QgsTask
void setProgress (double progress)
 Sets the task's current progress. 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...
 

Detailed Description

Handles exports of elevation profiles in various formats in a background task.

Since
QGIS 3.32

Definition at line 96 of file qgsprofileexporter.h.

Member Enumeration Documentation

◆ ExportResult

Results of exporting the profile.

Enumerator
Success 

Successful export.

Empty 

Results were empty.

DeviceError 

Could not open output file device.

DxfExportFailed 

Generic error when outputting to DXF.

LayerExportFailed 

Generic error when outputting to files.

Canceled 

Export was canceled.

Definition at line 105 of file qgsprofileexporter.h.

Constructor & Destructor Documentation

◆ QgsProfileExporterTask()

QgsProfileExporterTask::QgsProfileExporterTask ( const QList< QgsAbstractProfileSource * > &  sources,
const QgsProfileRequest request,
Qgis::ProfileExportType  type,
const QString &  destination,
const QgsCoordinateTransformContext transformContext 
)

Constructor for QgsProfileExporterTask, saving results to the specified destination file.

If destination is an empty string then the profile results will be generated only and can be retrieved by calling takeLayers().

Definition at line 133 of file qgsprofileexporter.cpp.

Member Function Documentation

◆ cancel()

void QgsProfileExporterTask::cancel ( )
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.

See also
isCanceled()

Reimplemented from QgsTask.

Definition at line 288 of file qgsprofileexporter.cpp.

◆ createdFiles()

QStringList QgsProfileExporterTask::createdFiles ( ) const
inline

Returns a list of layer files created during the export.

Definition at line 151 of file qgsprofileexporter.h.

◆ error()

QString QgsProfileExporterTask::error ( ) const
inline

Returns a descriptive error message, if available.

Definition at line 156 of file qgsprofileexporter.h.

◆ Q_ENUM()

QgsProfileExporterTask::Q_ENUM ( ExportResult  )

◆ result()

QgsProfileExporterTask::ExportResult QgsProfileExporterTask::result ( ) const

Returns the result of the export operation.

See also
error()

Definition at line 309 of file qgsprofileexporter.cpp.

◆ run()

bool QgsProfileExporterTask::run ( )
overridevirtual

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 146 of file qgsprofileexporter.cpp.

◆ takeLayers()

QList< QgsVectorLayer * > QgsProfileExporterTask::takeLayers ( )

Returns a list of vector layer containing the exported profile results.

While this method attempts to condense all results into a single layer, multiple layers may be returned when the geometry types of exported features differs.

Ownership of the returned layers is transferred to the caller.

Definition at line 296 of file qgsprofileexporter.cpp.


The documentation for this class was generated from the following files: