QGIS API Documentation
3.8.0-Zanzibar (11aff65)
|
Class providing some utility methods to manage auxiliary storage. More...
#include <qgsauxiliarystorage.h>
Public Member Functions | |
QgsAuxiliaryStorage (const QgsProject &project, bool copy=true) | |
Constructor. More... | |
QgsAuxiliaryStorage (const QString &filename=QString(), bool copy=true) | |
Constructor. More... | |
virtual | ~QgsAuxiliaryStorage () |
Destructor. More... | |
QgsAuxiliaryLayer * | createAuxiliaryLayer (const QgsField &field, QgsVectorLayer *layer) const |
Creates an auxiliary layer for a vector layer. More... | |
QString | currentFileName () const |
Returns the path of the current database used. More... | |
QString | errorString () const |
Returns the underlying error string describing potential errors happening in saveAs(). More... | |
QString | fileName () const |
Returns the target filename of the database. More... | |
bool | isValid () const |
Returns the status of the auxiliary storage currently defined. More... | |
bool | save () const |
Saves the current database. More... | |
bool | saveAs (const QString &filename) |
Saves the current database to a new path. More... | |
bool | saveAs (const QgsProject &project) |
Saves the current database to a new path for a specific project. More... | |
Static Public Member Functions | |
static bool | deleteTable (const QgsDataSourceUri &uri) |
Removes a table from the auxiliary storage. More... | |
static bool | duplicateTable (const QgsDataSourceUri &uri, const QString &newTable) |
Duplicates a table and its content. More... | |
static bool | exists (const QgsProject &project) |
Returns true if the auxiliary database yet exists for a project, false otherwise. More... | |
static QString | extension () |
Returns the extension used for auxiliary databases. More... | |
Class providing some utility methods to manage auxiliary storage.
Definition at line 259 of file qgsauxiliarystorage.h.
QgsAuxiliaryStorage::QgsAuxiliaryStorage | ( | const QgsProject & | project, |
bool | copy = true |
||
) |
Constructor.
The project filename is used to build a database path at the same location, but with a different extension. Then, it's the same logic as described for
project | The project for which the auxiliary storage has to be used |
copy | Parameter indicating if a copy of the database has to be used |
Definition at line 502 of file qgsauxiliarystorage.cpp.
QgsAuxiliaryStorage::QgsAuxiliaryStorage | ( | const QString & | filename = QString() , |
bool | copy = true |
||
) |
Constructor.
If a valid database path is given in parameter and copy mode is deactivated, then every changes is directly committed on the original database. But if the copy mode is activated, then changes are committed on a copy of the database (a temporary file) and a save action is therefore necessary to keep modifications in the original file.
If an empty string for the database path is given in parameter, then a database is created in a temporary file whatever the copy mode.
If the database path given in parameter is not empty but does not exist, then a database is created at this location when copy mode is deactivated. When copy mode is activated, a temporary database is used instead and a save action will be necessary to create the database at the original location given in parameter.
filename | The path of the database |
copy | Parameter indicating if a copy of the database has to be used |
Definition at line 515 of file qgsauxiliarystorage.cpp.
|
virtual |
Destructor.
Definition at line 524 of file qgsauxiliarystorage.cpp.
QgsAuxiliaryLayer * QgsAuxiliaryStorage::createAuxiliaryLayer | ( | const QgsField & | field, |
QgsVectorLayer * | layer | ||
) | const |
Creates an auxiliary layer for a vector layer.
A new table is created if necessary. The primary key to use to construct the auxiliary layer is given in parameter.
field | The primary key to join |
layer | The vector layer for which the auxiliary layer has to be created |
nullptr
if an error happened. Definition at line 562 of file qgsauxiliarystorage.cpp.
QString QgsAuxiliaryStorage::currentFileName | ( | ) | const |
Returns the path of the current database used.
It may be different from the target filename if the auxiliary storage is opened in copy mode.
Definition at line 808 of file qgsauxiliarystorage.cpp.
|
static |
Removes a table from the auxiliary storage.
uri | The uri of the table to remove |
true
if the table is well deleted, false
otherwise Definition at line 587 of file qgsauxiliarystorage.cpp.
|
static |
Duplicates a table and its content.
uri | The uri of the table to duplicate |
newTable | The name of the new table |
true
if the table is well duplicated, false
otherwise Definition at line 610 of file qgsauxiliarystorage.cpp.
QString QgsAuxiliaryStorage::errorString | ( | ) | const |
Returns the underlying error string describing potential errors happening in saveAs().
Empty by default.
Definition at line 630 of file qgsauxiliarystorage.cpp.
|
static |
Returns true
if the auxiliary database yet exists for a project, false
otherwise.
project | The project for which the database is checked |
Definition at line 666 of file qgsauxiliarystorage.cpp.
|
static |
Returns the extension used for auxiliary databases.
Definition at line 661 of file qgsauxiliarystorage.cpp.
QString QgsAuxiliaryStorage::fileName | ( | ) | const |
Returns the target filename of the database.
Definition at line 534 of file qgsauxiliarystorage.cpp.
bool QgsAuxiliaryStorage::isValid | ( | ) | const |
Returns the status of the auxiliary storage currently defined.
true
if the auxiliary storage is valid, false
otherwise Definition at line 529 of file qgsauxiliarystorage.cpp.
bool QgsAuxiliaryStorage::save | ( | ) | const |
Saves the current database.
true
if everything is saved, false
otherwise Definition at line 539 of file qgsauxiliarystorage.cpp.
bool QgsAuxiliaryStorage::saveAs | ( | const QString & | filename | ) |
Saves the current database to a new path.
true
if everything is saved, false
otherwise Definition at line 635 of file qgsauxiliarystorage.cpp.
bool QgsAuxiliaryStorage::saveAs | ( | const QgsProject & | project | ) |
Saves the current database to a new path for a specific project.
Actually, the current filename of the project is used to deduce the path of the database to save.
true
if everything is saved, false
otherwise Definition at line 656 of file qgsauxiliarystorage.cpp.