QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
project
qgsprojectstoredobjectmanager.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsprojectstoredobjectmanager.h
3
------------------
4
Date : July 2025
5
Copyright : (C) 2025 Nyall Dawson
6
Email : nyall dot dawson at gmail dot com
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
16
#ifndef QGSPROJECTSTOREDOBJECTMANAGER_H
17
#define QGSPROJECTSTOREDOBJECTMANAGER_H
18
19
#include "qgis_core.h"
20
#include "
qgis_sip.h
"
21
22
#include <QObject>
23
24
class
QgsProject
;
25
40
class
CORE_EXPORT
QgsProjectStoredObjectManagerBase
:
public
QObject
41
{
42
Q_OBJECT
43
44
public
:
48
explicit
QgsProjectStoredObjectManagerBase
(
QgsProject
*project
SIP_TRANSFERTHIS
=
nullptr
);
49
50
signals:
51
53
void
objectAboutToBeAdded
(
const
QString &name );
54
56
void
objectAdded
(
const
QString &name );
57
59
void
objectRemoved
(
const
QString &name );
60
62
void
objectAboutToBeRemoved
(
const
QString &name );
63
64
protected
:
66
QgsProject
*
mProject
=
nullptr
;
67
71
void
markProjectDirty
();
72
};
73
88
template
<
class
T>
class
CORE_EXPORT
QgsAbstractProjectStoredObjectManager
:
public
QgsProjectStoredObjectManagerBase
89
{
90
public
:
94
explicit
QgsAbstractProjectStoredObjectManager
(
QgsProject
*project
SIP_TRANSFERTHIS
=
nullptr
);
95
96
~QgsAbstractProjectStoredObjectManager
()
override
;
97
101
QList< T * >
objects
()
const
;
102
107
T *
objectByName
(
const
QString &name )
const
;
108
109
protected
:
111
QList< T * >
mObjects
;
112
117
void
clearObjects
();
118
126
bool
addObject
( T *
object
SIP_TRANSFER
);
127
138
bool
removeObject
( T *
object
);
139
144
virtual
void
setupObjectConnections
( T *
object
);
145
};
146
147
148
#endif
// QGSPROJECTSTOREDOBJECTMANAGER_H
QgsAbstractProjectStoredObjectManager::objectByName
T * objectByName(const QString &name) const
Returns the object with a matching name, or nullptr if no matching objects were found.
Definition
qgsprojectstoredobjectmanager.cpp:55
QgsAbstractProjectStoredObjectManager::objects
QList< T * > objects() const
Returns the list of objects contained within the manager.
Definition
qgsprojectstoredobjectmanager.cpp:50
QgsAbstractProjectStoredObjectManager::mObjects
QList< T * > mObjects
Attached objects, owned by the manager.
Definition
qgsprojectstoredobjectmanager.h:111
QgsAbstractProjectStoredObjectManager::addObject
bool addObject(T *object)
Adds an object to the manager.
Definition
qgsprojectstoredobjectmanager.cpp:74
QgsAbstractProjectStoredObjectManager::removeObject
bool removeObject(T *object)
Removes an object from the manager.
Definition
qgsprojectstoredobjectmanager.cpp:99
QgsAbstractProjectStoredObjectManager::QgsAbstractProjectStoredObjectManager
QgsAbstractProjectStoredObjectManager(QgsProject *project=nullptr)
Constructor for QgsAbstractProjectStoredObjectManager, for objects attached to the specified project.
Definition
qgsprojectstoredobjectmanager.cpp:40
QgsAbstractProjectStoredObjectManager::setupObjectConnections
virtual void setupObjectConnections(T *object)
Sets up additional connections to an object, called when the object is first added to the manager.
Definition
qgsprojectstoredobjectmanager.cpp:116
QgsAbstractProjectStoredObjectManager::clearObjects
void clearObjects()
Removes and deletes all objects from the manager.
Definition
qgsprojectstoredobjectmanager.cpp:65
QgsProjectStoredObjectManagerBase::objectAdded
void objectAdded(const QString &name)
Emitted when an object has been added to the manager.
QgsProjectStoredObjectManagerBase::objectRemoved
void objectRemoved(const QString &name)
Emitted when an object was removed from the manager.
QgsProjectStoredObjectManagerBase::mProject
QgsProject * mProject
Associated project.
Definition
qgsprojectstoredobjectmanager.h:66
QgsProjectStoredObjectManagerBase::objectAboutToBeAdded
void objectAboutToBeAdded(const QString &name)
Emitted when an object is about to be added to the manager.
QgsProjectStoredObjectManagerBase::objectAboutToBeRemoved
void objectAboutToBeRemoved(const QString &name)
Emitted when an object is about to be removed from the manager.
QgsProjectStoredObjectManagerBase::markProjectDirty
void markProjectDirty()
Marks the project as dirty.
Definition
qgsprojectstoredobjectmanager.cpp:31
QgsProjectStoredObjectManagerBase::QgsProjectStoredObjectManagerBase
QgsProjectStoredObjectManagerBase(QgsProject *project=nullptr)
Constructor for QgsProjectStoredObjectManagerBase, for objects attached to the specified project.
Definition
qgsprojectstoredobjectmanager.cpp:26
QgsProject
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition
qgsproject.h:114
qgis_sip.h
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition
qgis_sip.h:52
SIP_TRANSFER
#define SIP_TRANSFER
Definition
qgis_sip.h:35
Generated on
for QGIS API Documentation by
1.17.0