glibmm  2.42.0
Public Types | Public Member Functions | List of all members
Glib::Property< T > Class Template Reference

A Glib::Object property. More...

#include <glibmm/property.h>

Inheritance diagram for Glib::Property< T >:
Inheritance graph
[legend]

Public Types

typedef T PropertyType
 
typedef Glib::Value< T > ValueType
 

Public Member Functions

 Property (Glib::Object& object, const Glib::ustring& name)
 Constructs a property of the object with the specified name. More...
 
 Property (Glib::Object& object, const Glib::ustring& name, const PropertyType& default_value)
 Constructs a property of the object with the specified name and default_value. More...
 
void set_value (const PropertyType& data)
 Sets the value of the property to data. More...
 
PropertyType get_value () const
 Returns the value of the property. More...
 
Property< T >& operator= (const PropertyType& data)
 Sets the value of the property to data. More...
 
 operator PropertyType () const
 Returns the value of the property. More...
 
Glib::PropertyProxy< T > get_proxy ()
 Returns a proxy object that can be used to manipulate this property. More...
 
- Public Member Functions inherited from Glib::PropertyBase
Glib::ustring get_name () const
 Returns the name of the property. More...
 
void notify ()
 Notifies the object containing the property that the property has changed. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Glib::PropertyBase
 PropertyBase (Glib::Object& object, GType value_type)
 This constructs a property of type value_type for the object. More...
 
 ~PropertyBase ()
 
bool lookup_property (const Glib::ustring& name)
 Checks if the property has already been installed. More...
 
void install_property (GParamSpec* param_spec)
 Installs the property specified by the given param_spec. More...
 
const char* get_name_internal () const
 Returns the name of the property. More...
 
- Protected Attributes inherited from Glib::PropertyBase
Glib::Objectobject_
 
Glib::ValueBase value_
 
GParamSpec* param_spec_
 

Detailed Description

template<class T>
class Glib::Property< T >

A Glib::Object property.

This class wraps a GObject property, providing a C++ API to the GObject property system, for use with classes derived from Glib::Object or Glib::Interface.

A property is a value associated with each instance of a type and some class data for each property:

This Property class currently supports only the name and default value. The minimum and maximum bounds are set to the full range of the value. The nick and the explanation are set to empty. The flags are set to indicate that the property can be both read from and written to.

The class information must be installed into the GObject system once per property, but this is handled automatically.

A property can be used only as direct data member of a type, inheriting from Glib::Object. A reference to the object must be passed to the constructor of the property.

Member Typedef Documentation

template <class T >
typedef T Glib::Property< T >::PropertyType
template <class T >
typedef Glib::Value<T> Glib::Property< T >::ValueType

Constructor & Destructor Documentation

template <class T >
Glib::Property< T >::Property ( Glib::Object object,
const Glib::ustring name 
)

Constructs a property of the object with the specified name.

For each instance of the object, the same property must be constructed with the same name

template <class T >
Glib::Property< T >::Property ( Glib::Object object,
const Glib::ustring name,
const PropertyType default_value 
)

Constructs a property of the object with the specified name and default_value.

For each instance of the object, the same property must be constructed with the same name.

Member Function Documentation

template <class T >
Glib::PropertyProxy<T> Glib::Property< T >::get_proxy ( )
inline

Returns a proxy object that can be used to manipulate this property.

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

Returns the value of the property.

template <class T >
Glib::Property< T >::operator PropertyType ( ) const
inline

Returns the value of the property.

template <class T >
Property<T>& Glib::Property< T >::operator= ( const PropertyType data)
inline

Sets the value of the property to data.

The object containing the property will be notified about the change.

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

Sets the value of the property to data.

The object containing the property will be notified about the change.