QGIS/python/core/auto_generated/project/qgsprojectproperty.sip.in
Nyall Dawson 3f6b490218 Sipify
2025-04-02 11:11:10 +10:00

295 lines
7.9 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/project/qgsprojectproperty.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsProjectProperty
{
%Docstring(signature="appended")
An abstract base class for QGIS project property hierarchys.
Each sub-class is either a :py:class:`QgsProjectPropertyKey` or
:py:class:`QgsProjectPropertyValue`. :py:class:`QgsProjectPropertyKey`
can contain either :py:class:`QgsProjectPropertyKey` or
:py:class:`QgsProjectPropertyValues`, thus describing an hierarchy.
:py:class:`QgsProjectPropertyValues` are always graph leaves.
.. note::
This class is used internally by :py:class:`QgsProject`. It's generally recommended that the methods in
:py:class:`QgsProject` are used to modify project properties rather than using these low-level classes.
%End
%TypeHeaderCode
#include "qgsprojectproperty.h"
%End
public:
QgsProjectProperty();
virtual ~QgsProjectProperty();
virtual void dump( int tabs = 0 ) const = 0;
%Docstring
Dumps out the keys and values
:param tabs: is number of tabs to print; used for pretty-printing
hierarchy
%End
virtual bool isKey() const = 0;
%Docstring
Returns ``True`` if the property is a :py:class:`QgsProjectPropertyKey`.
.. seealso:: :py:func:`isValue`
.. seealso:: :py:func:`isLeaf`
%End
virtual bool isValue() const = 0;
%Docstring
Returns ``True`` if the property is a
:py:class:`QgsProjectPropertyValue`.
.. seealso:: :py:func:`isKey`
.. seealso:: :py:func:`isLeaf`
%End
virtual bool isLeaf() const = 0;
%Docstring
Returns ``True`` if property is a leaf node.
A leaf node is a key node that has either no value or only a single
value. A non-leaf node would be a key node with key sub-nodes.
This is used for :py:func:`~QgsProjectProperty.entryList` and
:py:func:`~QgsProjectProperty.subkeyList` implementation.
%End
virtual bool readXml( const QDomNode &keyNode ) = 0;
%Docstring
Restores the property hierarchy from a specified DOM node.
Used for restoring properties from project file
%End
virtual bool writeXml( const QString &nodeName,
QDomElement &element,
QDomDocument &document ) = 0;
%Docstring
Writes the property hierarchy to a specified DOM element.
Used for saving properties to project file.
:param nodeName: the tag name associated with this element
:param element: the parent (or encompassing) property element
:param document: the overall project file Dom document
%End
virtual QVariant value() const = 0;
%Docstring
Returns the node's value.
For :py:class:`QgsProjectPropertyValue` nodes, this is straightforward
-- just return the embedded QVariant, _value. For
:py:class:`QgsProjectPropertyKey`, this means returning the
:py:class:`QgsProjectPropertyValue` _value that is keyed by its name, if
it exists; i.e., :py:class:`QgsProjectPropertyKey` "foo" will return the
property value mapped to its name, "foo", in its QHash of QProperties.
%End
};
class QgsProjectPropertyValue : QgsProjectProperty
{
%Docstring(signature="appended")
Project property value node, contains a
:py:class:`QgsProjectPropertyKey`'s value.
%End
%TypeHeaderCode
#include "qgsprojectproperty.h"
%End
public:
QgsProjectPropertyValue();
QgsProjectPropertyValue( const QVariant &value );
%Docstring
Constructor for QgsProjectPropertyValue, initialized to a specified
value.
%End
virtual bool isKey() const;
virtual bool isValue() const;
virtual QVariant value() const;
virtual bool isLeaf() const;
virtual void dump( int tabs = 0 ) const;
virtual bool readXml( const QDomNode &keyNode );
virtual bool writeXml( const QString &nodeName,
QDomElement &element,
QDomDocument &document );
};
class QgsProjectPropertyKey : QgsProjectProperty
{
%Docstring(signature="appended")
Project property key node.
Can, itself, contain :py:class:`QgsProjectPropertyKey` and
:py:class:`QgsProjectPropertyValues`.
The internal QHash, mProperties, maps key names to their respective
:py:class:`QgsProjectPropertyValue` or next
:py:class:`QgsProjectPropertyKey` in the key name sequence. The key with
the current name should contain its :py:class:`QgsProjectPropertyValue`.
E.g., given the key sequence "/foo/bar", "foo" will have a corresponding
:py:class:`QgsProjectPropertyKey` with a name "foo". It will contain an
element in its mProperties that maps to "bar", which is another
:py:class:`QgsProjectPropertyKey`. The "bar"
:py:class:`QgsProjectPropertyKey` will, in turn, have an element that
maps to itself, i.e. "bar", that will contain a
:py:class:`QgsProjectPropertyValue`.
%End
%TypeHeaderCode
#include "qgsprojectproperty.h"
%End
public:
QgsProjectPropertyKey( const QString &name = QString() );
%Docstring
Create a new QgsProjectPropertyKey with the specified identifier.
%End
~QgsProjectPropertyKey();
QString name() const;
%Docstring
The name of the property is used as identifier.
.. seealso:: :py:func:`setName`
%End
void setName( const QString &name );
%Docstring
The name of the property is used as identifier.
.. seealso:: :py:func:`name`
%End
virtual QVariant value() const;
%Docstring
If this key has a value, it will be stored by its name in its properties
%End
QgsProjectPropertyKey *addKey( const QString &keyName );
%Docstring
Adds the specified property key as a sub-key.
%End
void removeKey( const QString &keyName );
%Docstring
Removes the specified key.
%End
QgsProjectPropertyValue *setValue( const QString &name, const QVariant &value );
%Docstring
Sets the value associated with this key.
:param name: is the key name
:param value: is the value to set
:return: pointer to property value
%End
QgsProjectPropertyValue *setValue( const QVariant &value );
%Docstring
Set the value associated with this key
.. note::
that the single value node associated with each key is always
stored keyed by the current key name
%End
virtual void dump( int tabs = 0 ) const;
virtual bool readXml( const QDomNode &keyNode );
virtual bool writeXml( const QString &nodeName, QDomElement &element, QDomDocument &document );
int count() const;
%Docstring
Returns the number of sub-keys contained by this property.
%End
bool isEmpty() const;
%Docstring
Returns ``True`` if this property contains no sub-keys.
%End
virtual bool isKey() const;
virtual bool isValue() const;
virtual bool isLeaf() const;
void entryList( QStringList &entries ) const;
%Docstring
Returns any sub-keys contained by this property that do not contain
other keys.
.. seealso:: :py:func:`subkeyList`
%End
void subkeyList( QStringList &entries ) const;
%Docstring
Returns any sub-keys contained by this property which themselves contain
other keys.
.. seealso:: :py:func:`entryList`
%End
virtual void clear();
%Docstring
Resets the property to a default, empty state.
%End
virtual void clearKeys();
%Docstring
Deletes any sub-nodes from the property.
%End
QgsProjectProperty *find( const QString &propertyName ) const;
%Docstring
Attempts to find a property with a matching sub-key name.
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/project/qgsprojectproperty.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/