glibmm: Glib::PropertyProxy< T > Class Template Reference

A PropertyProxy can be used to get and set the value of an object's property. More...

#include <glibmm/propertyproxy.h>

Inheritance diagram for Glib::PropertyProxy< T >:

List of all members.

Public Types

typedef T PropertyType

Public Member Functions

 PropertyProxy (ObjectBase* obj, const char* name)
void set_value (const PropertyType& data)
 Set the value of this property.

PropertyType get_value () const
 Get the value of this property.

void reset_value ()
 Set the value of this property back to its default value.

PropertyProxy< T >& operator= (const PropertyType& data)
 operator PropertyType () const

Detailed Description

template<class T>

class Glib::PropertyProxy< T >

A PropertyProxy can be used to get and set the value of an object's property.

There are usually also get and set methods on the class itself, which you might find more convenient. With the PropertyProxy, you may use either get_value() and set_value(), or operator=() and operator PropertyType(), like so:

 int height = cellrenderer.property_height();
 cellrenderer.property_editable() = true;

You may also receive notification when a property's value changes, by connecting to signal_changed().

You may register new properties for your class (actually for the underlying GType) simply by adding a PropertyProxy instance as a class member. However, your constructor must call the Glib::ObjectBase constructor with a new GType name, in order to register a new GType.


Member Typedef Documentation

template <class T >
typedef T Glib::PropertyProxy< T >::PropertyType

Constructor & Destructor Documentation

template <class T >
Glib::PropertyProxy< T >::PropertyProxy ( ObjectBase obj,
const char *  name 
) [inline]

Member Function Documentation

template <class T >
PropertyType Glib::PropertyProxy< T >::get_value ( ) const

Get the value of this property.

Returns:
The current value of the property.
template <class T >
Glib::PropertyProxy< T >::operator PropertyType ( ) const [inline]
template <class T >
PropertyProxy<T>& Glib::PropertyProxy< T >::operator= ( const PropertyType data) [inline]
template <class T >
void Glib::PropertyProxy< T >::reset_value ( ) [inline]

Set the value of this property back to its default value.

template <class T >
void Glib::PropertyProxy< T >::set_value ( const PropertyType data)

Set the value of this property.

Parameters:
dataThe new value for the property.