RioEngine  0.1
My first attempt to create a 3D WYSIWYG Game Engine
QPropertyEditorWidget Class Reference

The QPropertyEditorWidget offers an easy to use mechanism to visualize properties of a class inherited from QObject. More...

#include <qpropertyeditorwidget.h>

Inheritance diagram for QPropertyEditorWidget:

Public Types

typedef Property *(* UserTypeCB) (const QString &name, QObject *propertyObject, Property *parent)
 

Public Member Functions

 QPropertyEditorWidget (QWidget *parent=0)
 Constructor. More...
 
virtual ~QPropertyEditorWidget ()
 Destructor. More...
 
void addObject (QObject *propertyObject)
 
void setObject (QObject *propertyObject)
 
void updateObject (QObject *propertyObject)
 
void updateObject ()
 
void registerCustomPropertyCB (UserTypeCB callback)
 
void unregisterCustomPropertyCB (UserTypeCB callback)
 

Detailed Description

The QPropertyEditorWidget offers an easy to use mechanism to visualize properties of a class inherited from QObject.

Qt provides a nice way to define class properties by using the Q_PROPERTY macro. The purpose of the QPropertyEditor is to visualize these properties in an easy way.

To use the property editor, all you have to do is to create a class that defines it's properties by using Q_PROPERTY and to add this class by using the addObject() method of this QPropertyEditorWidget class. The QPropertyEditorWidget is inherited from QTreeView and will display the properties in a tree with two columns: Name and Value

For basic data types the build in editor widgets of Qt will be used. The QPropertyEditor itself only defines an additional editor for QColor (based on the Color Editor Factory Example from Trolltech). But it can easily be extended by yourself either within the library or for special datatypes also outside of the library in your application.

Definition at line 55 of file qpropertyeditorwidget.h.

Member Typedef Documentation

typedef Property*(* QPropertyEditorWidget::UserTypeCB) (const QString &name, QObject *propertyObject, Property *parent)

A typedef for a callback used to create user defined properties for custom datatypes

Definition at line 63 of file qpropertyeditorwidget.h.

Constructor & Destructor Documentation

QPropertyEditorWidget::QPropertyEditorWidget ( QWidget *  parent = 0)

Constructor.

Creates a new editor widget based on QTreeView

Parameters
parentoptional parent widget

Definition at line 29 of file qpropertyeditorwidget.cpp.

QPropertyEditorWidget::~QPropertyEditorWidget ( )
virtual

Destructor.

Definition at line 39 of file qpropertyeditorwidget.cpp.

Member Function Documentation

void QPropertyEditorWidget::addObject ( QObject *  propertyObject)

Adds the user properties of the given class to the QPropertyModel associated with this view

Parameters
propertyObjectthe class inherited from QObject that contains user properties that should be managed by the QPropertyModel associated with this view

Definition at line 43 of file qpropertyeditorwidget.cpp.

void QPropertyEditorWidget::registerCustomPropertyCB ( UserTypeCB  callback)

If you define custom datatypes outside of this library the QPropertyModel will check if you also defined a callback that is responsible to create custom property classes inherited from Property to handle these datatypes. With this method you can register such a callback that will create custom properties for custom datatypes.

Definition at line 68 of file qpropertyeditorwidget.cpp.

void QPropertyEditorWidget::setObject ( QObject *  propertyObject)

Similar to the addObject() method this method adds the properties of the given class to the QPropertyModel associated with this view. But in contrast to addObject() it will clear the model before, removing all previously added objects.

Parameters
propertyObjectthe class inherited from QObject that contains user properties that should be managed by the QPropertyModel associated with this view

Definition at line 50 of file qpropertyeditorwidget.cpp.

void QPropertyEditorWidget::unregisterCustomPropertyCB ( UserTypeCB  callback)

You can register more than one callback. If one of those callbacks are not used any longer, you can unregister it with this method

Definition at line 73 of file qpropertyeditorwidget.cpp.

void QPropertyEditorWidget::updateObject ( QObject *  propertyObject)

Updates the view for the given object. This can be usefull if a property was changed programmatically instead of using the view. In this case the view normally will display the new property values only after the user clicked on it. To overcome this problem you can call updateObject with the object whose property was changed.

Definition at line 57 of file qpropertyeditorwidget.cpp.

void QPropertyEditorWidget::updateObject ( )

Definition at line 63 of file qpropertyeditorwidget.cpp.


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