k3d::data::writable_property< value_t, name_policy_t > Class Template Reference

Property policy that exposes a data container as a writable K-3D property. More...

#include <data.h>

Inheritance diagram for k3d::data::writable_property< value_t, name_policy_t >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

const value_t pipeline_value ()
const std::string property_name ()
 Returns the property name, which will be used as a unique identifier for programmatic access to the property (i.e. through scripting).
const std::string property_label ()
 Returns a human-readable lable for the property, which should be localized for display in UI code.
const std::string property_description ()
 Returns a human-readable "one-liner" description of the property, which should be localized for display in the UI (e.g. as a tooltip).
const std::type_info & property_type ()
 Returns the property type.
const boost::any property_internal_value ()
 Returns the value stored internally by the property. Note that most code that uses properties should retrieve the pipeline value instead.
const boost::any property_pipeline_value ()
 Returns the property value, accounting for any connections in the pipeline. The result may-or-may-not be the same as the internal value.
inodeproperty_node ()
 Returns a reference to the object that owns the property (if any).
name_policy_t::changed_signal_t & property_changed_signal ()
deleted_signal_tproperty_deleted_signal ()
bool property_set_value (const boost::any Value, ihint *const Hint)
 Sets the property value (note - could fail and return false if there's a type-mismatch or other problem with the input data). The optional Hint will be passed to observers and can provide additional information about what changed.
ipropertyproperty_dependency ()
 Returns this property's pipeline dependency, if any. Note: there may be dependency cycles, don't use this to perform lookups directly, use k3d::property_lookup() instead.
void property_set_dependency (iproperty *Dependency)
 Sets this property's pipeline dependency. Note: never call this directly, use a k3d::pipeline object to manage pipeline dependencies.

Protected Member Functions

template<typename init_t >
 writable_property (const init_t &Init)
 ~writable_property ()

Private Attributes

inode *const m_node
const char *const m_label
const char *const m_description
deleted_signal_t m_deleted_signal
ipropertym_dependency

Detailed Description

template<typename value_t, class name_policy_t>
class k3d::data::writable_property< value_t, name_policy_t >

Property policy that exposes a data container as a writable K-3D property.


Constructor & Destructor Documentation

template<typename value_t , class name_policy_t >
template<typename init_t >
k3d::data::writable_property< value_t, name_policy_t >::writable_property ( const init_t &  Init  )  [inline, protected]
template<typename value_t , class name_policy_t >
k3d::data::writable_property< value_t, name_policy_t >::~writable_property (  )  [inline, protected]

Member Function Documentation

template<typename value_t , class name_policy_t >
const value_t k3d::data::writable_property< value_t, name_policy_t >::pipeline_value (  )  [inline]
template<typename value_t , class name_policy_t >
name_policy_t::changed_signal_t& k3d::data::writable_property< value_t, name_policy_t >::property_changed_signal (  )  [inline, virtual]

Implements k3d::iproperty.

template<typename value_t , class name_policy_t >
deleted_signal_t& k3d::data::writable_property< value_t, name_policy_t >::property_deleted_signal (  )  [inline, virtual]
template<typename value_t , class name_policy_t >
iproperty* k3d::data::writable_property< value_t, name_policy_t >::property_dependency (  )  [inline, virtual]

Returns this property's pipeline dependency, if any. Note: there may be dependency cycles, don't use this to perform lookups directly, use k3d::property_lookup() instead.

Implements k3d::iproperty.

References k3d::data::writable_property< value_t, name_policy_t >::m_dependency.

template<typename value_t , class name_policy_t >
const std::string k3d::data::writable_property< value_t, name_policy_t >::property_description (  )  [inline, virtual]

Returns a human-readable "one-liner" description of the property, which should be localized for display in the UI (e.g. as a tooltip).

Implements k3d::iproperty.

References k3d::data::writable_property< value_t, name_policy_t >::m_description.

template<typename value_t , class name_policy_t >
const boost::any k3d::data::writable_property< value_t, name_policy_t >::property_internal_value (  )  [inline, virtual]

Returns the value stored internally by the property. Note that most code that uses properties should retrieve the pipeline value instead.

Implements k3d::iproperty.

References k3d::property::internal_value().

template<typename value_t , class name_policy_t >
const std::string k3d::data::writable_property< value_t, name_policy_t >::property_label (  )  [inline, virtual]

Returns a human-readable lable for the property, which should be localized for display in UI code.

Implements k3d::iproperty.

References k3d::data::writable_property< value_t, name_policy_t >::m_label.

template<typename value_t , class name_policy_t >
const std::string k3d::data::writable_property< value_t, name_policy_t >::property_name (  )  [inline, virtual]

Returns the property name, which will be used as a unique identifier for programmatic access to the property (i.e. through scripting).

Implements k3d::iproperty.

References generate::name.

template<typename value_t , class name_policy_t >
inode* k3d::data::writable_property< value_t, name_policy_t >::property_node (  )  [inline, virtual]

Returns a reference to the object that owns the property (if any).

Implements k3d::iproperty.

References k3d::data::writable_property< value_t, name_policy_t >::m_node.

template<typename value_t , class name_policy_t >
const boost::any k3d::data::writable_property< value_t, name_policy_t >::property_pipeline_value (  )  [inline, virtual]

Returns the property value, accounting for any connections in the pipeline. The result may-or-may-not be the same as the internal value.

Implements k3d::iproperty.

References k3d::data::writable_property< value_t, name_policy_t >::pipeline_value().

template<typename value_t , class name_policy_t >
void k3d::data::writable_property< value_t, name_policy_t >::property_set_dependency ( iproperty  )  [inline, virtual]

Sets this property's pipeline dependency. Note: never call this directly, use a k3d::pipeline object to manage pipeline dependencies.

Implements k3d::iproperty.

References k3d::data::writable_property< value_t, name_policy_t >::m_dependency.

template<typename value_t , class name_policy_t >
bool k3d::data::writable_property< value_t, name_policy_t >::property_set_value ( const boost::any  Value,
ihint *const   Hint 
) [inline, virtual]

Sets the property value (note - could fail and return false if there's a type-mismatch or other problem with the input data). The optional Hint will be passed to observers and can provide additional information about what changed.

Implements k3d::iwritable_property.

References k3d::python::set_value().

template<typename value_t , class name_policy_t >
const std::type_info& k3d::data::writable_property< value_t, name_policy_t >::property_type (  )  [inline, virtual]

Returns the property type.

Implements k3d::iproperty.


Member Data Documentation

template<typename value_t , class name_policy_t >
deleted_signal_t k3d::data::writable_property< value_t, name_policy_t >::m_deleted_signal [private]
template<typename value_t , class name_policy_t >
iproperty* k3d::data::writable_property< value_t, name_policy_t >::m_dependency [private]
template<typename value_t , class name_policy_t >
const char* const k3d::data::writable_property< value_t, name_policy_t >::m_description [private]
template<typename value_t , class name_policy_t >
const char* const k3d::data::writable_property< value_t, name_policy_t >::m_label [private]
template<typename value_t , class name_policy_t >
inode* const k3d::data::writable_property< value_t, name_policy_t >::m_node [private]

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

Generated on Mon Mar 21 07:42:19 2011 for K-3D by doxygen 1.6.3