QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
src
analysis
processing
qgsalgorithmtruncatetable.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsalgorithmtruncatetable.cpp
3
---------------------
4
begin : December 2019
5
copyright : (C) 2019 by Alexander Bruy
6
email : alexander dot bruy 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
#include "
qgsalgorithmtruncatetable.h
"
19
#include "
qgsvectorlayer.h
"
20
22
23
QString QgsTruncateTableAlgorithm::name()
const
24
{
25
return
QStringLiteral(
"truncatetable"
);
26
}
27
28
QString QgsTruncateTableAlgorithm::displayName()
const
29
{
30
return
QObject::tr(
"Truncate table"
);
31
}
32
33
QStringList QgsTruncateTableAlgorithm::tags()
const
34
{
35
return
QObject::tr(
"empty,delete,layer,clear,features"
).split(
','
);
36
}
37
38
QString QgsTruncateTableAlgorithm::group()
const
39
{
40
return
QObject::tr(
"Vector general"
);
41
}
42
43
QString QgsTruncateTableAlgorithm::groupId()
const
44
{
45
return
QStringLiteral(
"vectorgeneral"
);
46
}
47
48
QString QgsTruncateTableAlgorithm::shortHelpString()
const
49
{
50
return
QObject::tr(
"This algorithm truncates a layer, by deleting all features from within the layer."
)
51
+ QStringLiteral(
"\n\n"
)
52
+ QObject::tr(
"Warning — this algorithm modifies the layer in place, and deleted features cannot be restored!"
);
53
}
54
55
QgsProcessingAlgorithm::Flags QgsTruncateTableAlgorithm::flags()
const
56
{
57
return
QgsProcessingAlgorithm::flags
() |
QgsProcessingAlgorithm::FlagNoThreading
;
58
}
59
60
QgsTruncateTableAlgorithm *QgsTruncateTableAlgorithm::createInstance()
const
61
{
62
return
new
QgsTruncateTableAlgorithm();
63
}
64
65
void
QgsTruncateTableAlgorithm::initAlgorithm(
const
QVariantMap & )
66
{
67
addParameter(
new
QgsProcessingParameterVectorLayer
( QStringLiteral(
"INPUT"
), QObject::tr(
"Input layer"
) ) );
68
addOutput(
new
QgsProcessingOutputVectorLayer
( QStringLiteral(
"OUTPUT"
), QObject::tr(
"Truncated layer"
) ) );
69
}
70
71
QVariantMap QgsTruncateTableAlgorithm::processAlgorithm(
const
QVariantMap ¶meters,
QgsProcessingContext
&context,
QgsProcessingFeedback
* )
72
{
73
QgsVectorLayer
*layer = parameterAsVectorLayer( parameters, QStringLiteral(
"INPUT"
), context );
74
75
if
( !layer )
76
throw
QgsProcessingException
( QObject::tr(
"Invalid input layer"
) );
77
78
if
( !layer->
dataProvider
()->
truncate
() )
79
{
80
throw
QgsProcessingException
( QObject::tr(
"Could not truncate table."
) );
81
}
82
83
QVariantMap outputs;
84
outputs.insert( QStringLiteral(
"OUTPUT"
), layer->
id
() );
85
return
outputs;
86
}
87
QgsVectorLayer::dataProvider
QgsVectorDataProvider * dataProvider() FINAL
Returns the layer's data provider, it may be nullptr.
Definition:
qgsvectorlayer.cpp:676
QgsProcessingFeedback
Base class for providing feedback from a processing algorithm.
Definition:
qgsprocessingfeedback.h:37
QgsProcessingOutputVectorLayer
A vector layer output for processing algorithms.
Definition:
qgsprocessingoutputs.h:179
QgsVectorDataProvider::truncate
virtual bool truncate()
Removes all features from the layer.
Definition:
qgsvectordataprovider.cpp:115
QgsProcessingContext
Contains information about the context in which a processing algorithm is executed.
Definition:
qgsprocessingcontext.h:46
QgsMapLayer::id
QString id() const
Returns the layer's unique ID, which is used to access this layer from QgsProject.
Definition:
qgsmaplayer.cpp:169
QgsProcessingParameterVectorLayer
A vector layer (with or without geometry) parameter for processing algorithms. Consider using the mor...
Definition:
qgsprocessingparameters.h:2827
qgsalgorithmtruncatetable.h
qgsvectorlayer.h
QgsProcessingAlgorithm::FlagNoThreading
@ FlagNoThreading
Algorithm is not thread safe and cannot be run in a background thread, e.g. for algorithms which mani...
Definition:
qgsprocessingalgorithm.h:76
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition:
qgsvectorlayer.h:391
QgsProcessingAlgorithm::flags
virtual Flags flags() const
Returns the flags indicating how and when the algorithm operates and should be exposed to users.
Definition:
qgsprocessingalgorithm.cpp:90
QgsProcessingException
Custom exception class for processing related exceptions.
Definition:
qgsexception.h:82
Generated on Sun Sep 11 2022 00:03:17 for QGIS API Documentation by
1.8.17