k3d::iproperty Class Reference

Abstract interface for a name-value pair with fixed type (note - if you want to write to a property, query for iwritable_property and be prepared for it to fail for read-only properties). More...

#include <iproperty.h>

Inheritance diagram for k3d::iproperty:
Inheritance graph
[legend]

List of all members.

Public Types

typedef sigc::signal< void,
ihint * > 
changed_signal_t
 Defines a signal that will be emitted if the property value changes. The signal includes a pointer to an optional "hint" object that may provide additional information about what changed.
typedef sigc::signal< void > deleted_signal_t
 Defines a signal that will be emitted when the property is destroyed.

Public Member Functions

virtual ~iproperty ()
virtual const string_t property_name ()=0
 Returns the property name, which will be used as a unique identifier for programmatic access to the property (i.e. through scripting).
virtual const string_t property_label ()=0
 Returns a human-readable lable for the property, which should be localized for display in UI code.
virtual const string_t property_description ()=0
 Returns a human-readable "one-liner" description of the property, which should be localized for display in the UI (e.g. as a tooltip).
virtual const std::type_info & property_type ()=0
 Returns the property type.
virtual const boost::any property_internal_value ()=0
 Returns the value stored internally by the property. Note that most code that uses properties should retrieve the pipeline value instead.
virtual const boost::any property_pipeline_value ()=0
 Returns the property value, accounting for any connections in the pipeline. The result may-or-may-not be the same as the internal value.
virtual inodeproperty_node ()=0
 Returns a reference to the object that owns the property (if any).
virtual changed_signal_tproperty_changed_signal ()=0
virtual deleted_signal_tproperty_deleted_signal ()=0
virtual ipropertyproperty_dependency ()=0
 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.
virtual void property_set_dependency (iproperty *)=0
 Sets this property's pipeline dependency. Note: never call this directly, use a k3d::pipeline object to manage pipeline dependencies.

Protected Member Functions

 iproperty ()
 iproperty (const iproperty &Other)
ipropertyoperator= (const iproperty &)

Detailed Description

Abstract interface for a name-value pair with fixed type (note - if you want to write to a property, query for iwritable_property and be prepared for it to fail for read-only properties).


Member Typedef Documentation

typedef sigc::signal<void, ihint*> k3d::iproperty::changed_signal_t

Defines a signal that will be emitted if the property value changes. The signal includes a pointer to an optional "hint" object that may provide additional information about what changed.

typedef sigc::signal<void> k3d::iproperty::deleted_signal_t

Defines a signal that will be emitted when the property is destroyed.


Constructor & Destructor Documentation

virtual k3d::iproperty::~iproperty (  )  [inline, virtual]
k3d::iproperty::iproperty (  )  [inline, protected]
k3d::iproperty::iproperty ( const iproperty Other  )  [inline, protected]

Member Function Documentation

iproperty& k3d::iproperty::operator= ( const iproperty  )  [inline, protected]
virtual changed_signal_t& k3d::iproperty::property_changed_signal (  )  [pure virtual]

Implemented in k3d::data::read_only_property< value_t, name_policy_t >, k3d::data::writable_property< value_t, name_policy_t >, k3d::data::string_property< value_t, name_policy_t >, k3d::data::path_property< value_t, name_policy_t >, k3d::data::script_property< value_t, name_policy_t >, k3d::data::enumeration_property< value_t, name_policy_t >, k3d::data::list_property< value_t, name_policy_t >, k3d::data::node_property< value_t, name_policy_t >, k3d::data::measurement_property< value_t, name_policy_t >, k3d::property::detail::renderman_attribute_property< value_t, name_policy_t >, and k3d::property::detail::renderman_option_property< value_t, name_policy_t >.

Referenced by k3d::ngui::script_button::property_model::changed_signal(), k3d::ngui::point::detail::data_proxy::changed_signal(), k3d::ngui::bounding_box::detail::data_proxy::changed_signal(), k3d::ngui::bitmap_preview::property_proxy::changed_signal(), k3d::ngui::angle_axis::detail::data_proxy::changed_signal(), k3d::ngui::enumeration_chooser::property_model::connect_changed(), k3d::ngui::text::property_model::connect_changed_signal(), k3d::ngui::spin_button::property_model::connect_changed_signal(), k3d::ngui::entry::property_model::connect_changed_signal(), module::ngui::rectangle::spin_button_model::connect_changed_signal(), module::ngui::knot_vector::control::knot_vector_model::connect_changed_signal(), k3d::ngui::main_document_window::main_document_window(), k3d::ngui::transform_tool::mesh_target::mesh_target(), k3d::ngui::node_collection_chooser::property_model::property_model(), module::ngui::timeline::detail::implementation::reset_time_properties(), module::ngui::animation_timeline::detail::implementation::reset_time_properties(), k3d::pipeline::implementation::set_dependencies(), and module::ngui::animation_timeline::detail::implementation::update_keys().

virtual deleted_signal_t& k3d::iproperty::property_deleted_signal (  )  [pure virtual]
virtual iproperty* k3d::iproperty::property_dependency (  )  [pure virtual]
virtual const string_t k3d::iproperty::property_description (  )  [pure virtual]
virtual const boost::any k3d::iproperty::property_internal_value (  )  [pure virtual]

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

Implemented in k3d::data::read_only_property< value_t, name_policy_t >, k3d::data::writable_property< value_t, name_policy_t >, k3d::data::string_property< value_t, name_policy_t >, k3d::data::path_property< value_t, name_policy_t >, k3d::data::script_property< value_t, name_policy_t >, k3d::data::enumeration_property< value_t, name_policy_t >, k3d::data::list_property< value_t, name_policy_t >, k3d::data::node_property< value_t, name_policy_t >, k3d::data::measurement_property< value_t, name_policy_t >, k3d::property::detail::renderman_attribute_property< value_t, name_policy_t >, and k3d::property::detail::renderman_option_property< value_t, name_policy_t >.

Referenced by k3d::ngui::main_document_window::file_revert(), module::qtui::string::widget::get_factory(), module::qtui::boolean::widget::get_factory(), k3d::ngui::viewport::control::get_target(), k3d::qtui::selection::detail::merge_interactive_selection(), k3d::ngui::selection::detail::merge_interactive_selection(), k3d::ngui::main_document_window::on_document_title_changed(), module::ngui::timeline::detail::implementation::on_fast_forward(), module::ngui::animation_timeline::detail::implementation::on_fast_forward(), k3d::ngui::main_document_window::on_file_revert(), k3d::ngui::main_document_window::on_file_save(), module::ngui::timeline::detail::implementation::on_next_frame(), module::ngui::animation_timeline::detail::implementation::on_next_frame(), module::ngui::timeline::detail::implementation::on_rewind(), module::ngui::animation_timeline::detail::implementation::on_rewind(), k3d::ngui::main_document_window::on_select_child(), k3d::ngui::main_document_window::on_select_sibling(), k3d::qtui::selection::state::implementation::on_selection_mode_changed(), k3d::ngui::selection::state::implementation::on_selection_mode_changed(), module::ngui::timeline::detail::implementation::on_time_changed(), module::ngui::animation_timeline::detail::implementation::on_time_changed(), module::ngui::timeline::detail::implementation::on_update(), module::ngui::animation_timeline::detail::implementation::on_update(), k3d::ngui::main_document_window::on_view_set_view(), k3d::property::detail::renderman_option_property< value_t, name_policy_t >::pipeline_value(), k3d::property::detail::renderman_attribute_property< value_t, name_policy_t >::pipeline_value(), k3d::data::measurement_property< value_t, name_policy_t >::pipeline_value(), k3d::data::node_property< value_t, name_policy_t >::pipeline_value(), k3d::data::list_property< value_t, name_policy_t >::pipeline_value(), k3d::data::enumeration_property< value_t, name_policy_t >::pipeline_value(), k3d::data::script_property< value_t, name_policy_t >::pipeline_value(), k3d::data::path_property< value_t, name_policy_t >::pipeline_value(), k3d::data::string_property< value_t, name_policy_t >::pipeline_value(), k3d::data::writable_property< value_t, name_policy_t >::pipeline_value(), k3d::data::read_only_property< value_t, name_policy_t >::pipeline_value(), k3d::qtui::selection::detail::replace_selection(), k3d::ngui::selection::detail::replace_selection(), module::ngui::snap::snap_tool_detail::mesh_target::reset_selection(), module::ngui::rectangle::spin_button_model::set_value(), k3d::ngui::main_document_window::unsaved_document_title(), k3d::detail::upstream_matrix(), k3d::ngui::text::property_model::value(), k3d::ngui::spin_button::property_model::value(), k3d::ngui::script_button::property_model::value(), k3d::ngui::point::detail::data_proxy::value(), k3d::ngui::enumeration_chooser::property_model::value(), k3d::ngui::entry::property_model::value(), module::ngui::rectangle::spin_button_model::value(), module::ngui::knot_vector::control::knot_vector_model::value(), k3d::ngui::bounding_box::detail::data_proxy::value(), k3d::ngui::bitmap_preview::property_proxy::value(), k3d::ngui::angle_axis::detail::data_proxy::value(), and module::collada::io::document_exporter::write_file().

virtual const string_t k3d::iproperty::property_label (  )  [pure virtual]
virtual const string_t k3d::iproperty::property_name (  )  [pure virtual]
virtual inode* k3d::iproperty::property_node (  )  [pure virtual]

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

Implemented in k3d::data::read_only_property< value_t, name_policy_t >, k3d::data::writable_property< value_t, name_policy_t >, k3d::data::string_property< value_t, name_policy_t >, k3d::data::path_property< value_t, name_policy_t >, k3d::data::script_property< value_t, name_policy_t >, k3d::data::enumeration_property< value_t, name_policy_t >, k3d::data::list_property< value_t, name_policy_t >, k3d::data::node_property< value_t, name_policy_t >, k3d::data::measurement_property< value_t, name_policy_t >, k3d::property::detail::renderman_attribute_property< value_t, name_policy_t >, and k3d::property::detail::renderman_option_property< value_t, name_policy_t >.

Referenced by k3d::ngui::node_collection_chooser::property_model::available_nodes(), k3d::ngui::transform_tool::transform_target::create_transform_modifier(), k3d::ngui::pipeline::detail::duplicate_mesh(), k3d::ngui::text::property_model::label(), k3d::ngui::spin_button::property_model::label(), k3d::ngui::node_collection_chooser::property_model::label(), k3d::ngui::enumeration_chooser::property_model::label(), k3d::ngui::entry::property_model::label(), module::ngui::rectangle::spin_button_model::label(), module::ngui::knot_vector::control::knot_vector_model::label(), k3d::ngui::detail::node_context_menu::on_animate_transformation(), k3d::ngui::node_collection_chooser::property_model::property_model(), k3d::detail::skip_node(), module::ngui::text_editor::dialog::update_title(), and k3d::detail::upstream_frozen_transformation().

virtual const boost::any k3d::iproperty::property_pipeline_value (  )  [pure virtual]
virtual void k3d::iproperty::property_set_dependency ( iproperty  )  [pure virtual]
virtual const std::type_info& k3d::iproperty::property_type (  )  [pure virtual]

Returns the property type.

Implemented in k3d::data::read_only_property< value_t, name_policy_t >, k3d::data::writable_property< value_t, name_policy_t >, k3d::data::string_property< value_t, name_policy_t >, k3d::data::path_property< value_t, name_policy_t >, k3d::data::script_property< value_t, name_policy_t >, k3d::data::enumeration_property< value_t, name_policy_t >, k3d::data::list_property< value_t, name_policy_t >, k3d::data::node_property< value_t, name_policy_t >, k3d::data::measurement_property< value_t, name_policy_t >, k3d::property::detail::renderman_attribute_property< value_t, name_policy_t >, and k3d::property::detail::renderman_option_property< value_t, name_policy_t >.

Referenced by k3d::qtui::property_widget_factory::create(), k3d::ngui::bounding_box::detail::data_proxy::data_proxy(), k3d::ngui::angle_axis::detail::data_proxy::data_proxy(), module::qtui::boolean::widget::on_clicked(), module::carve::boolean::boolean_functor::operator()(), module::ngui::text_editor::dialog::set_property(), k3d::ngui::text::property_model::set_value(), k3d::ngui::spin_button::property_model::set_value(), k3d::ngui::point::detail::data_proxy::set_value(), k3d::ngui::entry::property_model::set_value(), module::ngui::knot_vector::control::knot_vector_model::set_value(), k3d::detail::skip_node(), k3d::ngui::text::property_model::value(), k3d::ngui::spin_button::property_model::value(), k3d::ngui::point::detail::data_proxy::value(), k3d::ngui::entry::property_model::value(), and module::ngui::knot_vector::control::knot_vector_model::value().


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

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