mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-30 00:07:09 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			294 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			294 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /************************************************************************
 | |
|  * This file has been generated automatically from                      *
 | |
|  *                                                                      *
 | |
|  * src/core/project/qgsprojectproperty.h                                *
 | |
|  *                                                                      *
 | |
|  * Do not edit manually ! Edit header and run scripts/sipify.pl 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.
 | |
| 
 | |
| .. 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 :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.
 | |
| 
 | |
| .. 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(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
 | |
| 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
 | |
| :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 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/project/qgsprojectproperty.h                                *
 | |
|  *                                                                      *
 | |
|  * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | |
|  ************************************************************************/
 |