glibmm: Glib::Property< T > Class Template Reference
A Glib::Object property. More...
#include <glibmm/property.h>

Public Types |
|
using | PropertyType = T |
using | ValueType = Glib::Value < T > |
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...
|
|
![]() |
|
PropertyBase (const PropertyBase &)=delete | |
PropertyBase & | operator= (const PropertyBase &)=delete |
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 |
|
![]() |
|
PropertyBase ( Glib::Object & object, GType value_type) | |
This constructs a property of type
value_type
for the
object
.
More...
|
|
~PropertyBase () noexcept | |
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...
|
|
![]() |
|
Glib::Object * | object_ |
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:
- Its unique name, used to identify the property.
- A human-readable nick name.
- A short description.
- The default value and the minimum and maximum bounds (depending on the type of the property).
- Flags, defining, among other things, whether the property can be read or written.
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.
Each property belongs to an object, inheriting from Glib::Object . A reference to the object must be passed to the constructor of the property.
Each instance of a Glib::Object -derived type must construct the same properties (same type, same name) in the same order. One way to achieve this is to declare all properties as direct data members of the type.
You may register new properties for your class (actually for the underlying GType) simply by adding a Property 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.
Example:
Member Typedef Documentation
using Glib::Property < T >:: PropertyType = T |
using Glib::Property < T >:: ValueType = Glib::Value <T> |
Constructor & Destructor Documentation
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.
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
|
inline |
Returns a proxy object that can be used to manipulate this property.
|
inline |
Returns the value of the property.
|
inline |
Returns the value of the property.
|
inline |
Sets the value of the property to data .
The object containing the property will be notified about the change.
|
inline |
Sets the value of the property to data .
The object containing the property will be notified about the change.