|
cgv
|
The group class is a node with children. More...
#include <group.h>
Public Member Functions | |
| group (const std::string &name="") | |
| construct from name | |
| unsigned int | get_nr_children () const |
| return the number of children | |
| base_ptr | get_child (unsigned int i) const |
| return the i-th child | |
| template<typename T > | |
| data::ref_ptr< T > | create_and_append_child (const std::string &name="", unsigned int *index=nullptr) |
| create and append an instance of a child node and return pointer to appended child; optionally set name and get index | |
| virtual unsigned int | append_child (base_ptr child) |
| append child and return index of appended child | |
| virtual unsigned int | remove_child (base_ptr child) |
| remove all elements of the vector that point to child, return the number of removed children | |
| virtual void | remove_all_children () |
| remove all children | |
| virtual void | insert_child (unsigned int i, base_ptr child) |
| insert a child at the given position | |
| group_ptr | get_group () |
| cast upward to group | |
| const_group_ptr | get_group_const () |
| cast upward to const group | |
| std::string | get_type_name () const |
| overload to return the type name of this object | |
Public Member Functions inherited from cgv::base::node | |
| node (const std::string &name="") | |
| construct from name | |
| node_ptr | get_parent () const |
| return the parent node | |
| base_ptr | get_root () const |
| return the root node by traversing parents until no more parent is available | |
| void | set_parent (node_ptr _parent) |
| set a new parent node | |
| node_ptr | get_node () |
| cast upward to node | |
| const_node_ptr | get_node_const () |
| cast upward to const node | |
| std::string | get_type_name () const |
| overload to return the type name of this object | |
Public Member Functions inherited from cgv::base::named | |
| named (const std::string &name="") | |
| construct from name | |
| const std::string & | get_name () const |
| return the parent node | |
| void | set_name (const std::string &_name) |
| set a new parent node | |
| named_ptr | get_named () |
| cast upward to named | |
| const_named_ptr | get_named_const () |
| cast upward to const named | |
Public Member Functions inherited from cgv::base::base | |
| virtual std::string | get_default_options () const |
| overload to provide default options for registration | |
| std::string | get_name_or_type_name () const |
| determine name of instance by checking cgv::base::named interface and in failure fallback to get_type_name() | |
| virtual void | on_register () |
| overload to handle register events that is sent after the instance has been registered | |
| virtual void | unregister () |
| overload to handle unregistration of instances | |
| virtual bool | on_exit_request () |
| overload to handle the appication exit request, return true if exiting is allowed and false otherwise | |
| virtual void | stream_stats (std::ostream &) |
| overload to show the content of this object | |
| virtual data::ref_ptr< const named, true > | get_named_const () const |
| perform downcast to const named | |
| virtual data::ref_ptr< const node, true > | get_node_const () const |
| perform downcast to const node | |
| virtual data::ref_ptr< const group, true > | get_group_const () const |
| perform downcast to const group | |
| template<class T > | |
| data::ref_ptr< T, true > | cast () |
| cast to arbitrary class, but use the casts to named, node and group from the interface | |
| template<class T > | |
| data::ref_ptr< const T, true > | cast_const () |
| const cast to arbitrary class, but use the casts to named, node and group from the interface | |
| template<class T > | |
| T * | get_interface () |
| use dynamic type cast to check for the given interface | |
| template<class T > | |
| const T * | get_const_interface () const |
| use dynamic type cast to check for the given interface | |
| virtual void | update () |
| this virtual update allows for example to ask a view to update the viewed value. The default implementation is empty. | |
| virtual void * | get_user_data () const |
| this virtual method allows to pass application specific data for internal purposes | |
| virtual bool | self_reflect (cgv::reflect::reflection_handler &) |
| used for simple self reflection | |
| virtual std::string | get_property_declarations () |
| return a semicolon separated list of property declarations | |
| virtual bool | set_void (const std::string &property, const std::string &value_type, const void *value_ptr) |
| abstract interface for the setter of a dynamic property. | |
| virtual void | on_set (void *member_ptr) |
| this callback is called when the set_void method has changed a member and can be overloaded in derived class | |
| virtual bool | get_void (const std::string &property, const std::string &value_type, void *value_ptr) |
| abstract interface for the getter of a dynamic property. | |
| virtual bool | call_void (const std::string &method, const std::vector< std::string > ¶m_value_types, const std::vector< const void * > ¶m_value_ptrs, const std::string &result_type="", void *result_value_ptr=0) |
| abstract interface to call an action | |
| void | set (const std::string &property, const char *value) |
| specialization of set method to support const char* as strings | |
| template<typename T > | |
| void | set (const std::string &property, const T &value) |
| set a property of the element to the given value and perform standard conversions if necessary. | |
| template<typename T > | |
| T | get (const std::string &property) |
| query a property of the element and perform standard conversions if necessary. | |
| void | multi_set (const std::string &property_assignments, bool report_error=true) |
| set several properties | |
| bool | is_property (const std::string &property_name, std::string *type_name=0) |
| check if the given name specifies a property. | |
| void * | find_member_ptr (const std::string &property_name, std::string *type_name=0) |
| find a member pointer by name. | |
Public Member Functions inherited from cgv::data::ref_counted | |
| int | get_ref_count () const |
| read access to current count | |
Protected Member Functions | |
| void | link (base_ptr b) |
| check if the base class is a node and set the parent of the node | |
| void | unlink (base_ptr b) |
| check if the base class is a node and clear the parent of the node | |
Protected Member Functions inherited from cgv::base::base | |
| virtual | ~base () |
| make destructor virtual and not accessible from outside | |
Protected Member Functions inherited from cgv::data::ref_counted | |
| ref_counted () | |
| constructor initializes the count to 0 | |
| void | set_ref_count (int c) const |
| write access is also const to allow ref counted pointers to const instances | |
Protected Attributes | |
| std::vector< base_ptr > | children |
| store a list of children | |
Protected Attributes inherited from cgv::base::node | |
| node_ptr | parent |
| store a pointer to the parent node | |
Protected Attributes inherited from cgv::base::named | |
| std::string | name |
| store the name as a string | |
Friends | |
| class | data::ref_ptr< group, true > |
| declare group_ptr to be a friend class | |
Additional Inherited Members | |
Static Protected Member Functions inherited from cgv::base::base | |
| template<class T > | |
| static data::ref_ptr< T, true > | cast_dynamic (base *b) |
| use dynamic cast for upcast to given class | |
| cgv::base::group::group | ( | const std::string & | name = "" | ) |
append child and return index of appended child
Definition at line 41 of file group.cxx.
References children, get_nr_children(), and link().
Referenced by cgv::gui::event_handler::add_key_control().
return the i-th child
Definition at line 33 of file group.cxx.
References children, cgv::base::named::get_name(), and get_type_name().
Referenced by cgv::gui::gui_group::find_element(), cgv::gui::gui_group::get_selected_child(), cgv::base::grab_focus(), cgv::gui::gui_group::is_open_child_group(), cgv::gui::gui_group::is_selected(), cgv::gui::gui_group::select_child(), and cgv::gui::gui_group::unselect_child().
|
virtual |
| const_group_ptr cgv::base::group::get_group_const | ( | ) |
return the number of children
Definition at line 29 of file group.cxx.
References children.
Referenced by append_child(), cgv::gui::gui_group::find_element(), and cgv::base::grab_focus().
|
virtual |
overload to return the type name of this object
Reimplemented from cgv::base::base.
Reimplemented in cgv::gui::gui_group, and cgv::gui::window.
Definition at line 86 of file group.cxx.
Referenced by get_child().
check if the base class is a node and set the parent of the node
Definition at line 10 of file group.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty().
Referenced by append_child(), and insert_child().
|
virtual |
check if the base class is a node and clear the parent of the node
Definition at line 17 of file group.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty().
Referenced by remove_all_children(), and remove_child().
|
friend |
|
protected |
store a list of children
Definition at line 25 of file group.h.
Referenced by append_child(), get_child(), get_nr_children(), insert_child(), remove_all_children(), and remove_child().