QGIS API Documentation  2.0.1-Dufour
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | List of all members
QgsProperty Class Reference

An Abstract Base Class for QGIS project property hierarchies. More...

#include <qgsprojectproperty.h>

Inheritance diagram for QgsProperty:
Inheritance graph
[legend]

Public Member Functions

 QgsProperty ()
virtual ~QgsProperty ()
virtual void dump (size_t tabs=0) const =0
 dumps out the keys and values
virtual bool isKey () const =0
 returns true if is a QgsPropertyKey
virtual bool isValue () const =0
 returns true if is a QgsPropertyValue
virtual bool isLeaf () const =0
 returns true if a leaf node
virtual bool readXML (QDomNode &keyNode)=0
 restores property hierarchy to given Dom node
virtual bool writeXML (const QString &nodeName, QDomElement &element, QDomDocument &document)=0
 adds property hierarchy to given Dom element
virtual QVariant value () const =0
 return the node's value

Detailed Description

An Abstract Base Class for QGIS project property hierarchies.

Each sub-class is either a QgsPropertyKey or QgsPropertyValue. QgsPropertyKeys can contain either QgsPropertyKeys or QgsPropertyValues, thus describing an hierarchy. QgsPropertyValues are always graph leaves.

Note

This is really a hidden QgsProject implementation class. It was getting too large and unwieldy, so it's broken out here into separate files.

Definition at line 47 of file qgsprojectproperty.h.

Constructor & Destructor Documentation

QgsProperty::QgsProperty ( )
inline

Definition at line 51 of file qgsprojectproperty.h.

virtual QgsProperty::~QgsProperty ( )
inlinevirtual

Definition at line 54 of file qgsprojectproperty.h.

Member Function Documentation

virtual void QgsProperty::dump ( size_t  tabs = 0) const
pure virtual

dumps out the keys and values

Parameters
tabsis number of tabs to print; used for pretty-printing hierarchy

Implemented in QgsPropertyKey, and QgsPropertyValue.

virtual bool QgsProperty::isKey ( ) const
pure virtual

returns true if is a QgsPropertyKey

Implemented in QgsPropertyKey, and QgsPropertyValue.

Referenced by findKey_().

virtual bool QgsProperty::isLeaf ( ) const
pure virtual

returns true if a leaf node

A leaf node is a key node that has either no value or a single value. A non-leaf node would be a key node with key sub-nodes.

This is used for entryList() and subkeyList() implementation.

Implemented in QgsPropertyKey, and QgsPropertyValue.

virtual bool QgsProperty::isValue ( ) const
pure virtual

returns true if is a QgsPropertyValue

Implemented in QgsPropertyKey, and QgsPropertyValue.

Referenced by findKey_().

virtual bool QgsProperty::readXML ( QDomNode &  keyNode)
pure virtual

restores property hierarchy to given Dom node

Used for restoring properties from project file

Implemented in QgsPropertyKey, and QgsPropertyValue.

virtual QVariant QgsProperty::value ( ) const
pure virtual

return the node's value

For QgsPropertyValue nodes, this is straightforward – just return the embedded QVariant, _value. For QgsPropertyKey, this means returning the QgsPropertyValue _value that is keyed by its name, if it exists; i.e., QgsPropertyKey "foo" will return the property value mapped to its name, "foo", in its QHash of QProperties.

Implemented in QgsPropertyKey, and QgsPropertyValue.

Referenced by QgsPropertyKey::find(), and QgsPropertyKey::value().

virtual bool QgsProperty::writeXML ( const QString &  nodeName,
QDomElement &  element,
QDomDocument &  document 
)
pure virtual

adds property hierarchy to given Dom element

Used for saving properties to project file.

Parameters
nodeNamethe tag name associated with this element
elementthe parent (or encompassing) property element
documentthe overall project file Dom document

Implemented in QgsPropertyKey, and QgsPropertyValue.


The documentation for this class was generated from the following file: