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

glibmm 2.38.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | List of all members
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 >:
[legend]

## 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. More...
PropertyType | get_value () const
| Get the value of this property. More...
void | reset_value ()
| Set the value of this property back to its default value. More...
PropertyProxy< T >& | operator= (const PropertyType& data)
| operator PropertyType () const
Public Member Functions inherited from Glib::PropertyProxy_Base
| PropertyProxy_Base (ObjectBase* obj, const char* property_name)
| PropertyProxy_Base (const PropertyProxy_Base& other)
SignalProxyProperty | signal_changed ()
| This signal will be emitted when the property changes. More...
ObjectBase* | get_object () const
const char* | get_name () const

## Additional Inherited Members
Protected Member Functions inherited from Glib::PropertyProxy_Base
void | set_property_ (const Glib::ValueBase&value)
void | get_property_ (Glib::ValueBase&value) const
void | reset_property_ ()
Protected Attributes inherited from Glib::PropertyProxy_Base
ObjectBase* | obj_
const char* | property_name_

## 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

  data | The new value for the property.