mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			294 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			294 lines
		
	
	
		
			7.7 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   *
 | 
						|
 ************************************************************************/
 |