mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
294 lines
7.6 KiB
Plaintext
294 lines
7.6 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgsprojectproperty.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class QgsProjectProperty
|
|
{
|
|
%Docstring
|
|
An Abstract Base Class for QGIS project property hierarchys.
|
|
|
|
Each sub-class is either a QgsProjectPropertyKey or QgsProjectPropertyValue. QgsProjectPropertyKey can
|
|
contain either QgsProjectPropertyKey or QgsProjectPropertyValues, thus describing an
|
|
hierarchy. QgsProjectPropertyValues are always graph leaves.
|
|
|
|
.. note::
|
|
|
|
This class is used internally by QgsProject. It's generally recommended that the methods in
|
|
QgsProject are used to modify project properties rather than using these low-level classes.
|
|
|
|
.. versionadded:: 3.0
|
|
%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 QgsProjectPropertyKey.
|
|
|
|
.. seealso:: :py:func:`isValue`
|
|
|
|
.. seealso:: :py:func:`isLeaf`
|
|
%End
|
|
|
|
virtual bool isValue() const = 0;
|
|
%Docstring
|
|
Returns true if the property is a 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 entryList() and 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 QgsProjectPropertyValue nodes, this is straightforward -- just return the
|
|
embedded QVariant, _value. For QgsProjectPropertyKey, this means returning
|
|
the QgsProjectPropertyValue _value that is keyed by its name, if it exists;
|
|
i.e., QgsProjectPropertyKey "foo" will return the property value mapped to its
|
|
name, "foo", in its QHash of QProperties.
|
|
%End
|
|
|
|
};
|
|
|
|
|
|
class QgsProjectPropertyValue : QgsProjectProperty
|
|
{
|
|
%Docstring
|
|
Project property value node, contains a QgsProjectPropertyKey's value.
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsprojectproperty.h"
|
|
%End
|
|
public:
|
|
|
|
QgsProjectPropertyValue();
|
|
%Docstring
|
|
Constructor for QgsProjectPropertyValue.
|
|
%End
|
|
|
|
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
|
|
|
|
Project property key node.
|
|
|
|
Can, itself, contain QgsProjectPropertyKey and QgsProjectPropertyValues.
|
|
|
|
The internal QHash, mProperties, maps key names to their respective
|
|
QgsProjectPropertyValue or next QgsProjectPropertyKey in the key name sequence. The key with
|
|
the current name should contain its QgsProjectPropertyValue.
|
|
|
|
E.g., given the key sequence "/foo/bar", "foo" will have a corresponding
|
|
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"
|
|
QgsProjectPropertyKey will, in turn, have an element that maps to itself, i.e. "bar",
|
|
that will contain a QgsProjectPropertyValue.
|
|
|
|
.. versionadded:: 3.0
|
|
%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`
|
|
|
|
.. versionadded:: 3.0
|
|
%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/qgsprojectproperty.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|