106 Q_PROPERTY( QStringList nonIdentifiableLayers READ nonIdentifiableLayers WRITE setNonIdentifiableLayers NOTIFY nonIdentifiableLayersChanged )
107 Q_PROPERTY( QString fileName READ fileName WRITE setFileName NOTIFY fileNameChanged )
108 Q_PROPERTY( QString homePath READ homePath WRITE setPresetHomePath NOTIFY homePathChanged )
111 Q_PROPERTY( QString ellipsoid READ ellipsoid WRITE setEllipsoid NOTIFY ellipsoidChanged )
113 Q_PROPERTY(
QgsSnappingConfig snappingConfig READ snappingConfig WRITE setSnappingConfig NOTIFY snappingConfigChanged )
115 Q_PROPERTY(
Qgis::AvoidIntersectionsMode avoidIntersectionsMode READ avoidIntersectionsMode WRITE setAvoidIntersectionsMode NOTIFY avoidIntersectionsModeChanged )
116 Q_PROPERTY( QList<
QgsVectorLayer *> avoidIntersectionsLayers READ avoidIntersectionsLayers WRITE setAvoidIntersectionsLayers NOTIFY avoidIntersectionsLayersChanged )
118 Q_PROPERTY( QColor backgroundColor READ backgroundColor WRITE setBackgroundColor NOTIFY backgroundColorChanged )
119 Q_PROPERTY( QColor selectionColor READ selectionColor WRITE setSelectionColor NOTIFY selectionColorChanged )
120 Q_PROPERTY(
bool topologicalEditing READ topologicalEditing WRITE setTopologicalEditing NOTIFY topologicalEditingChanged )
121 Q_PROPERTY(
QgsUnitTypes::DistanceUnit distanceUnits READ distanceUnits WRITE setDistanceUnits NOTIFY distanceUnitsChanged )
122 Q_PROPERTY(
QgsUnitTypes::AreaUnit areaUnits READ areaUnits WRITE setAreaUnits NOTIFY areaUnitsChanged )
139 WMSOnlineResource = 2,
153 static void setInstance(
QgsProject *project ) ;
176 void setTitle(
const QString &title );
184 QString title()
const;
192 Qgis::ProjectCapabilities
capabilities()
const {
return mCapabilities; }
202 Qgis::ProjectFlags
flags()
const {
return mFlags; }
212 void setFlags( Qgis::ProjectFlags flags );
231 QString saveUser()
const;
240 QString saveUserFullName()
const;
247 QDateTime lastSaveDateTime()
const;
259 bool isDirty()
const;
267 void setFileName(
const QString &name );
275 QString fileName()
const;
288 void setOriginalPath(
const QString &path );
301 QString originalPath()
const;
327 QDateTime lastModified() const;
334 QString absoluteFilePath() const;
341 QString absolutePath() const;
347 QString baseName() const;
355 Qgis::FilePathType filePathStorage() const;
363 void setFilePathStorage(
Qgis::FilePathType type );
390 QString ellipsoid() const;
398 void setEllipsoid( const QString &ellipsoid );
436 bool read( const QString &filename,
Qgis::ProjectReadFlags flags =
Qgis::ProjectReadFlags() );
446 bool read(
Qgis::ProjectReadFlags flags =
Qgis::ProjectReadFlags() );
457 bool readLayer( const QDomNode &layerNode );
467 bool write( const QString &filename );
487 bool writeEntry( const QString &scope, const QString &key,
bool value )
SIP_PYNAME( writeEntryBool );
500 bool writeEntry( const QString &scope, const QString &key,
double value )
SIP_PYNAME( writeEntryDouble );
512 bool writeEntry( const QString &scope, const QString &key,
int value );
524 bool writeEntry( const QString &scope, const QString &key, const QString &value );
536 bool writeEntry( const QString &scope, const QString &key, const QStringList &value );
548 QStringList readListEntry( const QString &scope, const QString &key, const QStringList &def = QStringList(),
bool *ok
SIP_OUT =
nullptr ) const;
560 QString readEntry( const QString &scope, const QString &key, const QString &def = QString(),
bool *ok
SIP_OUT =
nullptr ) const;
572 int readNumEntry( const QString &scope, const QString &key,
int def = 0,
bool *ok
SIP_OUT =
nullptr ) const;
584 double readDoubleEntry( const QString &scope, const QString &key,
double def = 0,
bool *ok
SIP_OUT =
nullptr ) const;
596 bool readBoolEntry( const QString &scope, const QString &key,
bool def = false,
bool *ok
SIP_OUT =
nullptr ) const;
601 bool removeEntry( const QString &scope, const QString &key );
611 QStringList entryList( const QString &scope, const QString &key ) const;
621 QStringList subkeyList( const QString &scope, const QString &key ) const;
629 void dumpProperties() const;
643 QString writePath( const QString &filename ) const;
648 QString readPath( const QString &filename ) const;
651 QString error() const;
664 QString layerIsEmbedded( const QString &
id ) const;
674 bool createEmbeddedLayer( const QString &layerId, const QString &projectFilePath, QList<QDomNode> &brokenNodes,
675 bool saveFlag = true,
Qgis::ProjectReadFlags flags =
Qgis::ProjectReadFlags() )
SIP_SKIP;
684 QgsLayerTreeGroup *createEmbeddedGroup( const QString &groupName, const QString &projectFilePath, const QStringList &invisibleLayers,
Qgis::ProjectReadFlags flags =
Qgis::ProjectReadFlags() );
687 void setTopologicalEditing(
bool enabled );
690 bool topologicalEditing() const;
698 QgsUnitTypes::DistanceUnit distanceUnits()
const {
return mDistanceUnits; }
735 QString homePath()
const;
749 QString presetHomePath()
const;
914 Q_DECL_DEPRECATED
void setNonIdentifiableLayers( const QList<
QgsMapLayer *> &layers );
920 Q_DECL_DEPRECATED
void setNonIdentifiableLayers( const QStringList &layerIds );
926 Q_DECL_DEPRECATED QStringList nonIdentifiableLayers() const;
948 Q_DECL_DEPRECATED
void setAutoTransaction(
bool autoTransaction )
SIP_DEPRECATED;
956 Qgis::TransactionMode transactionMode() const;
967 bool setTransactionMode(
Qgis::TransactionMode transactionMode );
986 QgsTransactionGroup *transactionGroup( const QString &providerKey, const QString &connString );
1000 Q_DECL_DEPRECATED
bool evaluateDefaultValues() const
SIP_DEPRECATED;
1007 Q_DECL_DEPRECATED
void setEvaluateDefaultValues(
bool evaluateDefaultValues )
SIP_DEPRECATED;
1032 void setAvoidIntersectionsLayers( const QList<
QgsVectorLayer *> &layers );
1039 void setAvoidIntersectionsMode( const
Qgis::AvoidIntersectionsMode mode );
1046 Qgis::AvoidIntersectionsMode avoidIntersectionsMode()
const {
return mAvoidIntersectionsMode; }
1053 QVariantMap customVariables()
const;
1059 void setCustomVariables(
const QVariantMap &customVariables );
1093 int validCount()
const;
1102 Q_INVOKABLE
QgsMapLayer *mapLayer(
const QString &layerId )
const;
1124 return qobject_cast<T>( mapLayer( layerId ) );
1135 QList<QgsMapLayer *> mapLayersByName(
const QString &layerName )
const;
1146 QList<QgsMapLayer *> mapLayersByShortName(
const QString &shortName )
const;
1157 QMap<QString, QgsMapLayer *> mapLayers(
const bool validOnly =
false )
const;
1162 bool isZipped()
const;
1177 template <
typename T>
1180 return mLayerStore->layers<T>();
1194 template <
typename T>
1198 const auto constMapLayers { mLayerStore->layers<T>() };
1199 for (
const auto l : constMapLayers )
1201 if ( ! l->shortName().isEmpty() )
1203 if ( l->shortName() == shortName )
1206 else if ( l->name() == shortName )
1241 QList<QgsMapLayer *> addMapLayers(
const QList<QgsMapLayer *> &mapLayers
SIP_TRANSFER,
1242 bool addToLegend =
true,
1273 bool addToLegend =
true,
1290 void removeMapLayers(
const QStringList &layerIds );
1307 void removeMapLayers(
const QList<QgsMapLayer *> &layers );
1322 void removeMapLayer(
const QString &layerId );
1371 void removeAllMapLayers();
1378 void reloadAllLayers();
1397 Q_DECL_DEPRECATED
void setTrustLayerMetadata(
bool trust )
SIP_DEPRECATED;
1409 Q_DECL_DEPRECATED
bool trustLayerMetadata() const
SIP_DEPRECATED;
1433 QString createAttachedFile( const QString &nameTemplate );
1441 QStringList attachedFiles() const;
1450 bool removeAttachedFile( const QString &path );
1460 QString attachmentIdentifier( const QString &attachedFile ) const;
1468 QString resolveAttachmentIdentifier( const QString &identifier ) const;
1494 Q_DECL_DEPRECATED QSet<
QgsMapLayer *> requiredLayers() const;
1504 Q_DECL_DEPRECATED
void setRequiredLayers( const QSet<
QgsMapLayer *> &layers );
1520 void setBackgroundColor( const QColor &color );
1528 QColor backgroundColor() const;
1536 void setSelectionColor( const QColor &color );
1544 QColor selectionColor() const;
1557 Q_DECL_DEPRECATED
void setMapScales( const QVector<
double> &scales )
SIP_DEPRECATED;
1570 Q_DECL_DEPRECATED QVector<
double> mapScales() const
SIP_DEPRECATED;
1580 Q_DECL_DEPRECATED
void setUseProjectScales(
bool enabled )
SIP_DEPRECATED;
1596 void generateTsFile( const QString &locale );
1608 QString translate( const QString &context, const QString &sourceText, const
char *disambiguation =
nullptr,
int n = -1 ) const override;
1622 SIP_PYOBJECT __repr__();
1624 QString
str = QStringLiteral(
"<QgsProject: '%1'%2>" ).arg( sipCpp->fileName(),
1626 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
2020 void setDirty(
bool b = true );
2030 void setPresetHomePath( const QString &path );
2114 bool commitChanges( QStringList &commitErrors
SIP_OUT,
bool stopEditing = true,
QgsVectorLayer *vectorLayer =
nullptr );
2132 bool rollBack( QStringList &rollbackErrors
SIP_OUT,
bool stopEditing = true,
QgsVectorLayer *vectorLayer =
nullptr );
2135 void onMapLayersAdded( const QList<
QgsMapLayer *> &layers );
2136 void onMapLayersRemoved( const QList<
QgsMapLayer *> &layers );
2137 void cleanTransactionGroups(
bool force = false );
2138 void updateTransactionGroups();
2153 bool _getMapLayers( const QDomDocument &doc, QList<QDomNode> &brokenNodes,
Qgis::ProjectReadFlags flags =
Qgis::ProjectReadFlags() );
2159 void setError( const QString &errorMessage )
SIP_SKIP;
2174 bool addLayer( const QDomElement &layerElem, QList<QDomNode> &brokenNodes,
QgsReadWriteContext &context,
Qgis::ProjectReadFlags flags =
Qgis::ProjectReadFlags() )
SIP_SKIP;
2179 void removeAuxiliaryLayer( const
QgsMapLayer *ml );
2195 bool readProjectFile( const QString &filename,
Qgis::ProjectReadFlags flags =
Qgis::ProjectReadFlags() );
2198 bool writeProjectFile( const QString &filename );
2201 bool unzip( const QString &filename,
Qgis::ProjectReadFlags flags =
Qgis::ProjectReadFlags() );
2204 bool zip( const QString &filename );
2207 bool saveAuxiliaryStorage( const QString &filename = QString() );
2210 void loadProjectFlags( const QDomDocument *doc );
2215 Qgis::ProjectCapabilities mCapabilities;
2219 QString mErrorMessage;
2228 QHash< QString, QPair< QString,
bool> > mEmbeddedLayers;
2231 Qgis::AvoidIntersectionsMode mAvoidIntersectionsMode =
Qgis::AvoidIntersectionsMode::AllowIntersections;
2266 QVariantMap mCustomVariables;
2274 QString mOriginalPath;
2277 QString mSaveUserFull;
2278 QDateTime mSaveDateTime;
2286 mutable QString mCachedHomePath;
2288 QColor mBackgroundColor;
2289 QColor mSelectionColor;
2295 Qgis::TransactionMode mTransactionMode =
Qgis::TransactionMode::Disabled;
2297 Qgis::ProjectFlags mFlags;
2299 bool mDirty = false;
2300 int mDirtyBlockCount = 0;
2308 std::unique_ptr< QTranslator > mTranslator;
2310 bool mIsBeingDeleted = false;
2316 int mBlockSnappingUpdates = 0;
2328 friend class TestQgsProject;