--- /dev/null
+format 66
+"treemultictrl" // bbtk::kernel::src::ThirdParty::wx::treemultictrl
+ revision 1
+ modified_by 2 "davila"
+ // class settings
+ //class diagram settings
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ //use case diagram settings
+ package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default show_stereotype_properties default
+ //sequence diagram settings
+ show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
+ //collaboration diagram settings
+ show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default
+ //object diagram settings
+ write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
+ //component diagram settings
+ package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
+ draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
+ //deployment diagram settings
+ package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
+ draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
+ //state diagram settings
+ package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
+ show_activities default region_horizontally default drawing_language default show_stereotype_properties default
+ //activity diagram settings
+ package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
+ show_infonote default drawing_language default show_stereotype_properties default
+
+ classview 128258 "treemultictrl"
+ //class diagram settings
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ //collaboration diagram settings
+ show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default
+ //object diagram settings
+ write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
+ //sequence diagram settings
+ show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
+ //state diagram settings
+ package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
+ show_activities default region_horizontally default drawing_language default show_stereotype_properties default
+ //class settings
+ //activity diagram settings
+ package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
+ show_infonote default drawing_language default show_stereotype_properties default
+ class 139778 "TreeMultiItemBase"
+ visibility package
+ cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ operation 161026 "TreeMultiItemBase"
+ preserve_cpp_body_indent protected explicit_return_type ""
+ nparams 1
+ param inout name "parent" type class_ref 139906 // TreeMultiItemNode
+ cpp_decl " ${comment}${inline}${name}${(}${t0} * ${p0}${v0}${)}${volatile}${throw};
+"
+ cpp_def "//* TreeMultiItemBase
+
+// * This class is the node of the whole tree. All the other classes in the
+
+// * tree descend from this node. It contains the type of the class without
+// * using RTTI. NOTE: this class cannot be constructed directly
+//
+
+${comment}${inline}${class}::${name}${(}${t0} * ${p0}${)}
+ : _excluded(false)
+
+ , _x(0)
+ , _y(0)
+ , _width(0)
+
+ , _height(0)
+
+ , _parent(parent)
+
+ , m_Selected(false)
+
+#if(CHECKBOXVIEW)
+
+ , _checkbox(false)
+
+ , _checkboxState(0)
+
+#endif
+${throw}{
+${body}}
+"
+
+
+
+
+ end
+
+ attribute 139778 "_name"
+ protected explicit_type "wxString"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 139906 "_excluded"
+ protected explicit_type "bool"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 140034 "_type"
+ protected explicit_type "int"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 140162 "_checkbox"
+ protected explicit_type "bool"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 140290 "_checkboxState"
+ protected explicit_type "int"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ operation 161154 "~TreeMultiItemBase"
+ preserve_cpp_body_indent cpp_virtual public explicit_return_type ""
+ nparams 0
+ cpp_decl " ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
+"
+ cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+
+
+
+
+ end
+
+ operation 161282 "GetType"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return _type; };
+"
+
+
+
+
+ comment " type of tree item"
+ end
+
+ operation 161410 "GetParent"
+ const cpp_inline public return_type class_ref 139906 // TreeMultiItemNode
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} { return _parent; };
+"
+
+
+
+
+ end
+
+ operation 161538 "GetName"
+ const cpp_inline public explicit_return_type "wxString"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _name;
+ };
+"
+
+
+
+
+ comment "* Get name of this node "
+ end
+
+ operation 161666 "SetName"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "NewName" explicit_type "wxString"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ this->_name = NewName;
+ };
+"
+
+
+
+
+ comment "* Set name of the item "
+ end
+
+ operation 161794 "IsTreeMultiItemRoot"
+ const cpp_virtual cpp_inline public return_type class_ref 140034 // TreeMultiItemRoot
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return 0;
+ };
+"
+
+
+
+
+ comment "* returns the instance pointer if the current node is
+ a TreeMultiItemRoot, and NULL when it's not.
+ "
+ end
+
+ operation 161922 "IsTreeMultiItemWindow"
+ const cpp_virtual cpp_inline public return_type class_ref 140162 // TreeMultiItemWindow
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return 0;
+ };
+"
+
+
+
+
+ comment "* returns the instance pointer if the current node is
+ a TreeMultiItemWindow, and NULL when it's not.
+ "
+ end
+
+ operation 162050 "IsTreeMultiItemNode"
+ const cpp_virtual cpp_inline public return_type class_ref 139906 // TreeMultiItemNode
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return 0;
+ };
+"
+
+
+
+
+ comment "* returns the instance pointer if the current node is
+ a TreeMultiItemNode, and NULL when it's not.
+ "
+ end
+
+ operation 162178 "SetExcluded"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "excluded" explicit_type "bool"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _excluded = excluded;
+ };
+"
+
+
+
+
+ comment "* Sets or resets the excluded flag. When excluded node is not visible "
+ end
+
+ operation 162306 "SetX"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "x" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _x = x;
+ };
+"
+
+
+
+
+ comment "* Get / Set routine for X "
+ end
+
+ operation 162434 "GetX"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _x;
+ };
+"
+
+
+
+
+ end
+
+ operation 162562 "SetY"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "y" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _y = y;
+ };
+"
+
+
+
+
+ comment "* Get / Set routine for Y "
+ end
+
+ operation 162690 "GetY"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _y;
+ };
+"
+
+
+
+
+ end
+
+ operation 162818 "SetHeight"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "height" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _height = height;
+ };
+"
+
+
+
+
+ comment "* Get / Set routine for height "
+ end
+
+ operation 162946 "GetHeight"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _height;
+ };
+"
+
+
+
+
+ end
+
+ operation 163074 "SetWidth"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "width" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _width = width;
+ };
+"
+
+
+
+
+ comment "* Get / Set routine for width "
+ end
+
+ operation 163202 "GetWidth"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _width;
+ };
+"
+
+
+
+
+ end
+
+ operation 163330 "IsVisible"
+ preserve_cpp_body_indent public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns true when this item is drawn somewhere in the
+ tree. Whenever a parent of this node is collapsed, it
+ is not visible and it is not necessary to perform i.e.
+ redraw actions.
+
+ It also returns false when this node is excluded from the
+ tree.
+
+ \\sa wxTreeMultiCtrl::Exclude(), wxTreeMultiCtrl::Include())
+ "
+ end
+
+ operation 163458 "IsExcluded"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _excluded;
+ };
+"
+
+
+
+
+ comment " Returns if this node is excluded from the tree. If this item
+ is a Node, then all kids are excluded as well "
+ end
+
+ operation 163586 "IsSelected"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ return this->m_Selected;
+ };
+"
+
+
+
+
+ comment " item selection status handling
+* checks if the item is selected "
+ end
+
+ operation 163714 "Select"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ this->m_Selected = true;
+ };
+"
+
+
+
+
+ comment "* mark the current item as selected "
+ end
+
+ operation 163842 "ToggleSelection"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ this->m_Selected = !(this->m_Selected);
+ };
+"
+
+
+
+
+ comment "* toggle the selection status "
+ end
+
+ operation 163970 "Unselect"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ this->m_Selected = false;
+ };
+"
+
+
+
+
+ comment "* unmark the item "
+ end
+
+ operation 164098 "SetCheckbox"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "value" explicit_type "bool"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _checkbox = value;
+ };
+"
+
+
+
+
+ comment "* Sets checkbox or not. This does not influence the state of the checkbox "
+ end
+
+ operation 164226 "GetCheckbox"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _checkbox;
+ };
+"
+
+
+
+
+ comment "* Returns current state of the checkbox view "
+ end
+
+ operation 164354 "SetCheckboxState"
+ cpp_virtual cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "state" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ wxCHECK2(state < 3 && state >= 0, return);
+ _checkboxState = state;
+ };
+"
+
+
+
+
+ comment "* Sets checkbox state. If 0 it's unchecked, 1 = checked and 2 = tristate "
+ end
+
+ operation 164482 "GetCheckboxState"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _checkboxState;
+ };
+"
+
+
+
+
+ comment "* Returns current state of checkbox "
+ end
+
+ classrelation 135170 // _parent (<unidirectional association>)
+ relation 135170 --->
+ a role_name "_parent" private
+ cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+ classrelation_ref 135170 // _parent (<unidirectional association>)
+ b parent class_ref 139906 // TreeMultiItemNode
+ end
+
+ attribute 140418 "m_Selected"
+ private explicit_type "bool"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+ end
+
+ class 139906 "TreeMultiItemNode"
+ visibility package
+ cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 135298 // <generalisation>
+ relation 135298 ---|>
+ a public
+ cpp default "${type}"
+ classrelation_ref 135298 // <generalisation>
+ b parent class_ref 139778 // TreeMultiItemBase
+ end
+
+ attribute 140546 "_items"
+ private explicit_type "TreeMultiItemBaseArray"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 140674 "_caption"
+ private explicit_type "wxString"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 140802 "_nodeExpanded"
+ private explicit_type "bool"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 140930 "m_Attributes"
+ private explicit_type "wxTreeItemAttr"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ operation 164610 "TreeMultiItemNode"
+ preserve_cpp_body_indent public explicit_return_type ""
+ nparams 3
+ param inout name "parent" type class_ref 139906 // TreeMultiItemNode
+ param in name "caption" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ param in name "name" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ cpp_decl " ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}${)}${volatile}${throw};
+"
+ cpp_def "//* TreeMultiItemNode
+// * This class is a container holder for multiple TreeMultiItemBase classes.
+// * Since both a TreeMultiItemNode and a TreeMultiItemWindow are a descendant
+// * from a TreeMultiItemBase class, it can hold multiple of these.
+// * In the case of a directory tree structure, it can hold multiple
+// * directories, and leafs (files).
+//
+// default constructor for container composite
+
+${comment}${inline}${class}::${name}${(}${t0} * ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}
+ : TreeMultiItemBase(parent)
+ , _caption(caption)
+ , _nodeExpanded(true)
+
+${throw}{
+${body}}
+"
+
+
+
+
+ end
+
+ operation 164738 "~TreeMultiItemNode"
+ preserve_cpp_body_indent cpp_virtual public explicit_return_type ""
+ nparams 0
+ cpp_decl " ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
+"
+ cpp_def "//------------------------------------------------------------
+
+${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+
+
+
+
+ end
+
+ operation 164866 "IsTreeMultiItemNode"
+ const cpp_virtual cpp_inline public return_type class_ref 139906 // TreeMultiItemNode
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return (TreeMultiItemNode *)this;
+ };
+"
+
+
+
+
+ comment " isClass method"
+ end
+
+ operation 164994 "AddNode"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param inout name "node" type class_ref 139778 // TreeMultiItemBase
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "//------------------------------------------------------------
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment " add methods
+"
+ end
+
+ operation 165122 "InsertNode"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 2
+ param inout name "NodePtr" type class_ref 139778 // TreeMultiItemBase
+ param in name "Position" explicit_type "size_t"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 165250 "Clear"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "//------------------------------------------------------------
+
+${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment " delete methods
+"
+ end
+
+ operation 165378 "DeleteNode"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param inout name "node" type class_ref 139778 // TreeMultiItemBase
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "//------------------------------------------------------------
+
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 165506 "DeleteNode"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param in name "index" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "//------------------------------------------------------------
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 165634 "RemoveNode"
+ preserve_cpp_body_indent public return_type class_ref 139778 // TreeMultiItemBase
+ nparams 1
+ param inout name "node" type class_ref 139778 // TreeMultiItemBase
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "//------------------------------------------------------------
+
+${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 165762 "RemoveNode"
+ preserve_cpp_body_indent public return_type class_ref 139778 // TreeMultiItemBase
+ nparams 1
+ param in name "index" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "//------------------------------------------------------------
+
+${comment}${inline}${type} * ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 165890 "GetNodeCount"
+ preserve_cpp_body_indent const public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "//------------------------------------------------------------
+
+${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment " get methods"
+ end
+
+ operation 166018 "GetNode"
+ preserve_cpp_body_indent const public return_type class_ref 139778 // TreeMultiItemBase
+ nparams 1
+ param in name "index" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "//------------------------------------------------------------
+
+${comment}${inline}${type} * ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 166146 "Index"
+ preserve_cpp_body_indent const public explicit_return_type "int"
+ nparams 2
+ param inout name "node" type class_ref 139778 // TreeMultiItemBase
+ param in name "searchFromEnd" explicit_type "bool"
+ defaultvalue "false"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "//------------------------------------------------------------
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 166274 "GetNodeNext"
+ preserve_cpp_body_indent const public return_type class_ref 139778 // TreeMultiItemBase
+ nparams 1
+ param inout name "cookie" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "//------------------------------------------------------------
+
+${comment}${inline}${type} * ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 166402 "First"
+ preserve_cpp_body_indent const public return_type class_ref 139778 // TreeMultiItemBase
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "//------------------------------------------------------------
+
+
+${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 166530 "Last"
+ preserve_cpp_body_indent const public return_type class_ref 139778 // TreeMultiItemBase
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// TreeMultiItemNode::First() const
+
+${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 166658 "Fold"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "expand" explicit_type "bool"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ if(_nodeExpanded != expand)
+ _nodeExpanded = expand;
+ };
+"
+
+
+
+
+ comment "* Fold function sets or clears the expanded flag. Note when excluded from drawing, this
+
+ will have no effect on redraw "
+ end
+
+ operation 166786 "GetCaption"
+ const cpp_inline public explicit_return_type "wxString"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _caption;
+ };
+"
+
+
+
+
+ comment "* Return caption "
+ end
+
+ operation 166914 "IsExpanded"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _nodeExpanded;
+ };
+"
+
+
+
+
+ comment "* Returns true if the node is expanded. Subnodes can still be collapsed though "
+ end
+ end
+
+ class 140034 "TreeMultiItemRoot"
+ visibility package
+ cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ comment "* This class is the root class. It can hold many of the TreeMultiItemWindow and
+
+ * TreeMultiItemNode classes.
+
+ "
+ classrelation 135426 // <generalisation>
+ relation 135426 ---|>
+ a public
+ cpp default "${type}"
+ classrelation_ref 135426 // <generalisation>
+ b parent class_ref 139906 // TreeMultiItemNode
+ end
+
+ operation 167042 "TreeMultiItemRoot"
+ preserve_cpp_body_indent public explicit_return_type ""
+ nparams 0
+ cpp_decl " ${comment}${inline}${name}${(}${)}${volatile}${throw};
+"
+ cpp_def "//* TreeMultiItemRoot
+
+// * This class is the class you use to create a tree. It contains all the
+
+// * public methods from a TreeMultiItemNode, but you can add more to it
+
+// * because it is the root. A typical addition is the load entry for a
+
+// * directory, or other type of enumeration. You could store the base path
+
+// * of a relative tree in this class.
+
+//
+
+${comment}${inline}${class}::${name}${(}${)}
+
+ : TreeMultiItemNode(0, _T(\"\"), _T(\"\"))
+
+${throw}{
+${body}}
+"
+
+
+
+
+ end
+
+ operation 167170 "~TreeMultiItemRoot"
+ preserve_cpp_body_indent cpp_virtual public explicit_return_type ""
+ nparams 0
+ cpp_decl " ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
+"
+ cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+
+
+
+
+ end
+
+ operation 167298 "IsTreeMultiItemRoot"
+ const cpp_virtual cpp_inline public return_type class_ref 140034 // TreeMultiItemRoot
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+
+ return (TreeMultiItemRoot *)this;
+
+ };
+"
+
+
+
+
+ comment " IsClass method
+"
+ end
+ end
+
+ class 140162 "TreeMultiItemWindow"
+ visibility package
+ cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 135554 // <generalisation>
+ relation 135554 ---|>
+ a public
+ cpp default "${type}"
+ classrelation_ref 135554 // <generalisation>
+ b parent class_ref 139778 // TreeMultiItemBase
+ end
+
+ classrelation 135682 // _window (<unidirectional association>)
+ relation 135682 --->
+ a role_name "_window" private
+ cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+ classrelation_ref 135682 // _window (<unidirectional association>)
+ b parent class_ref 136322 // wxWindow
+ end
+
+ attribute 141058 "_span"
+ private explicit_type "bool"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ operation 167426 "TreeMultiItemWindow"
+ preserve_cpp_body_indent public explicit_return_type ""
+ nparams 2
+ param inout name "parent" type class_ref 139906 // TreeMultiItemNode
+ param in name "name" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ cpp_decl " ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${volatile}${throw};
+"
+ cpp_def "//* TreeMultiItemWindow
+
+// * This class is a possible end node for the tree. If you want multiple
+
+// * types of end-nodes you should copy this file and adjust it with a
+
+// * different class name.
+
+//
+
+${comment}${inline}${class}::${name}${(}${t0} * ${p0}, const ${t1} & ${p1}${)}
+
+ : TreeMultiItemBase(parent)
+
+ , _window(0)
+
+ , _topSpacing(0)
+
+ , _frontSpacing(0)
+
+ , _span(false)
+
+${throw}{
+${body}}
+"
+
+
+
+
+ end
+
+ operation 167554 "~TreeMultiItemWindow"
+ preserve_cpp_body_indent cpp_virtual public explicit_return_type ""
+ nparams 0
+ cpp_decl " ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
+"
+ cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+
+
+
+
+ end
+
+ operation 167682 "IsTreeMultiItemWindow"
+ const cpp_virtual cpp_inline public return_type class_ref 140162 // TreeMultiItemWindow
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+
+ return (TreeMultiItemWindow *)this;
+
+ };
+"
+
+
+
+
+ comment " IsClass method
+"
+ end
+
+ operation 167810 "AssignWindow"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param inout name "wnd" type class_ref 136322 // wxWindow
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Assigns the given window to this TreeMultiItemWindow, and also destroys the
+
+ present window. If the assigned window is 0, this item is not drawn
+
+ and removed from the tree visually "
+ end
+
+ operation 167938 "GetWindow"
+ cpp_inline public return_type class_ref 136322 // wxWindow
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+
+ return _window;
+
+ };
+"
+
+
+
+
+ comment "* Get window method "
+ end
+
+ operation 168066 "SetFrontSpacing"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "frontSpacing" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+
+ _frontSpacing = frontSpacing;
+
+ };
+"
+
+
+
+
+ comment " Sets front spacing "
+ end
+
+ operation 168194 "GetFrontSpacing"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+
+ return _frontSpacing;
+
+ };
+"
+
+
+
+
+ comment " Gets front spacing "
+ end
+
+ operation 168322 "SetTopSpacing"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "topSpacing" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+
+ _topSpacing = topSpacing;
+
+ };
+"
+
+
+
+
+ comment " Sets top spacing "
+ end
+
+ operation 168450 "GetTopSpacing"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+
+ return _topSpacing;
+
+ };
+"
+
+
+
+
+ comment " Gets top spacing "
+ end
+
+ operation 168578 "SetHorizontalSpan"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "span" explicit_type "bool"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+
+ _span = span;
+
+ };
+"
+
+
+
+
+ comment " Sets horizontal span, meaning when this is set the window
+
+ attached may be resized horizontally when the window is resized "
+ end
+
+ operation 168706 "GetHorizontalSpan"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+
+ return _span;
+
+ };
+"
+
+
+
+
+ comment " Sets horizontal span, meaning when this is set the window
+
+ attached may be resized horizontally when the window is resized "
+ end
+
+ operation 168834 "SetCheckboxState"
+ preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
+ nparams 1
+ param in name "state" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Inherited from base, to enable or disable window "
+ end
+ end
+
+ class 140290 "anonymous1"
+ visibility package stereotype "enum"
+ cpp_decl "${comment}enum {
+${items}
+};
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ comment "* \\defgroup hitflags wxTreeMultiCtrl HitTest flags
+ @{
+"
+ attribute 141186 "wxTMC_HITTEST_GUTTER"
+ public type class_ref 140290 // anonymous1
+ init_value "= 1"
+ cpp_decl " ${name}${value},${comment}"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 141314 "wxTMC_HITTEST_WINDOW"
+ public type class_ref 140290 // anonymous1
+ cpp_decl " ${name}${value},${comment}"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 141442 "wxTMC_HITTEST_CAPTION"
+ public type class_ref 140290 // anonymous1
+ cpp_decl " ${name}${value},${comment}"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 141570 "wxTMC_HITTEST_CHECKBOX"
+ public type class_ref 140290 // anonymous1
+ cpp_decl " ${name}${value},${comment}"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+ end
+
+ class 140418 "wxTreeMultiItem"
+ visibility package
+ cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ comment "/ wxCoord was found in the gutter of the node (in front of the [+])
+/ wxCoord was found inside a window, or behind it, on a Window node
+/ wxCoord was found on a caption of a Node or Root item
+/ wxCoord was found on a checkbox (only when item really has a checkbox)
+* @}
+
+* @defgroup classes wxTreeMultiCtrl Classes
+ These classes are all the available classes in the wxTreeMultiCtrl you should know about.
+ @{
+
+ @}
+
+* \\class wxTreeMultiItem
+ \\ingroup classes
+ \\brief An intermediate class which is used to return as 'item' value for the wxTreeMultiCtrl. This class
+ is comparable with wxTreeItemId.
+
+ The wxTreeMultiItem is used to pass information to the user about the tree node in question. It can also be used point out where the
+ subnodes should be added.
+
+ For example:
+ \\code
+
+ wxTreeMultiItem item = MyMultiTreeCtrl->AddRoot(\"This is the first root\");
+
+ // now add a node to the root
+ if(item.IsOk())
+ MyMultiTreeCtrl->AppendWindow(item, new wxStaticText(MyMultiTreeCtrl, -1, \"This is a static text\");
+
+
+ \\endcode
+
+ The wxTreeMultiItem comes in three internal types which are used in the wxTreeMultiCtrl. For functions such as
+ wxTreeMultiCtrl::AddRoot, a Root item is returned. For functions such as wxTreeMultiCtrl::AppendWindow, a
+ Window node is returned. For functions such as wxTreeMultiCtrl::AppendNode, a Node item is returned.
+
+ \\li A Root item represents a top level item. Special operations on this item is adding multiple nodes to it from a
+ top level.
+
+ \\li A Node item represents a container item which has multiple sub items which can both be Window items, or Node items.
+ A root item is a special type of Node item, so all operations which are only for Node items, are also for Root items.
+
+ \\li A Window node represents an end node, which points to a wxWindow which represents the visual contents of this node.
+ This type of node can hold any wxWindow derived class.
+
+"
+ classrelation 135810 // _item (<unidirectional association>)
+ relation 135810 --->
+ a role_name "_item" private
+ cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+ classrelation_ref 135810 // _item (<unidirectional association>)
+ b parent class_ref 139778 // TreeMultiItemBase
+ end
+
+ operation 168962 "wxTreeMultiItem"
+ cpp_inline public explicit_return_type ""
+ nparams 0
+ cpp_decl " ${comment}${inline}${name}${(}${)}${volatile}${throw} {
+ _item = 0;
+ };
+"
+
+
+
+
+ comment "* Default declaration constructor, and should be used when declaring an item which gets assigned a new
+ value by e.g. wxTreeMultiCtrl::AppendNode. "
+ end
+
+ operation 169090 "wxTreeMultiItem"
+ cpp_inline public explicit_return_type ""
+ nparams 1
+ param inout name "ptr" type class_ref 139778 // TreeMultiItemBase
+ cpp_decl " ${comment}${inline}${name}${(}${t0} * ${p0}${v0}${)}${volatile}${throw} {
+ _item = ptr;
+ };
+"
+
+
+
+
+ end
+
+ operation 169218 "GetItem"
+ const cpp_inline public return_type class_ref 139778 // TreeMultiItemBase
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+
+ return _item;
+
+ };
+"
+
+
+
+
+ comment " Returns the TreeMultiItemBase class. This shoult *NOT* be
+
+ used if you don't know what you are doing! This means never use it. */
+"
+ end
+
+ operation 169346 "operator ="
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _item = item._item;
+
+ };
+"
+
+
+
+
+ comment "* The copy operator. Used in assigning one wxTreeMultiItem to another, usually in returning wxTreeMultiItem
+ classes from the wxTreeMultiCtrl.
+ "
+ end
+
+ operation 169474 "operator =="
+ const cpp_inline public explicit_return_type "bool"
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {return (this->GetItem() == item.GetItem());};
+"
+
+
+
+
+ comment "* Equality operator. It returns true if the items are identical or if both items are invalid. "
+ end
+
+ operation 169602 "operator !="
+ const cpp_inline public explicit_return_type "bool"
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {return (this->GetItem() != item.GetItem());};
+"
+
+
+
+
+ comment "* Inequality operator. It returns true if the items are different or one of them is invalid. "
+ end
+
+ operation 169730 "GetParent"
+ const cpp_inline public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+
+ wxCHECK(IsOk(), wxTreeMultiItem(0));
+
+ return wxTreeMultiItem(_item->GetParent());
+
+ };
+"
+
+
+
+
+ comment "* Returns the parent of the current wxTreeMultiItem. This means the wxTreeMultiNode is returned. It can
+
+ be useful to check or clear the checkbox at this level. "
+ end
+
+ operation 169858 "IsOk"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _item != 0;
+ };
+"
+
+
+
+
+ comment "* Validates if the wxTreeMultiItem is a valid instance to use in the wxTreeMultiCtrl. Returns TRUE when there
+ is a member value is associated with it, or FALSE when not. This value can also be checked when this class is returned from a wxTreeMultiCtrl operation. For example:
+
+ \\code
+
+ wxTreeMultiItem item = MyTreeMultiCtrl->FindNode(\"NAME\");
+ if(item.IsOk())
+ {
+ // Found the node, now do something with it
+ }
+ else
+ {
+ // Sorry, not found
+ }
+
+ \\endcode
+
+ "
+ end
+
+ operation 169986 "IsWindowItem"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ if(_item && _item->IsTreeMultiItemWindow())
+ return true;
+ return false;
+ };
+"
+
+
+
+
+ comment "* Returns TRUE when the wxTreeMultiItem is a Window item. This means the item is both valid, and points to a
+ window node. This means it can be used in functions that expect a Window node. If the item is invalid or a Window
+ item, FALSE is returned
+ \\sa wxTreeMultiCtrl::AppendWindow
+ "
+ end
+
+ operation 170114 "IsNodeItem"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ if(_item && (_item->IsTreeMultiItemNode() || _item->IsTreeMultiItemRoot()))
+ return true;
+ return false;
+ };
+"
+
+
+
+
+ comment "* Returns TRUE when the wxTreeMultiItem is a Node item. This means the item is both valid, and points to a
+ node element (i.e. setting the caption, counting node children, etc). If the item is invalid or not a Node
+ item, FALSE is returned.
+ When the item is actually a root item (specialised node type), this also returns TRUE.
+ \\sa wxTreeMultiCtrl::AppendNode wxTreeMultiCtrl::AddRoot
+ "
+ end
+
+ operation 170242 "IsRootItem"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ if(_item && _item->IsTreeMultiItemRoot())
+ return true;
+ return false;
+ };
+"
+
+
+
+
+ comment "* Returns True when the wxTreeMultiItem is a Root (top node) item. This means the item is both valid,
+ and points to a root element (this item is always shown as first node in the tree). A root node is
+ always visible, but can contain other collapsed children. If the item is invalid or not a Root node,
+ FALSE is returned.
+ "
+ end
+
+ operation 170370 "IsExpanded"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ wxCHECK(_item, false);
+ TreeMultiItemNode *n = _item->IsTreeMultiItemNode();
+ wxCHECK(n, false);
+
+ return n->IsExpanded();
+ };
+"
+
+
+
+
+ comment "* Returns TRUE if the node is expanded, else FALSE if it is collapsed. If the item is not a Root or Node
+ item, an assertion failure is generated (in debug mode) or FALSE is returned (in release mode).
+
+ \\sa wxTreeMultiCtrl::Expand, wxTreeMultiCtrl::Collapse, wxTreeMultiCtrl::CollapseAndReset
+ "
+ end
+
+ operation 170498 "IsExcluded"
+ cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ wxCHECK(_item, false);
+ return _item->IsExcluded();
+
+ };
+"
+
+
+
+
+ comment "* Returns true if this node is excluded from drawing. Please note that when this node is not visible
+ due to a higher excluded parent node but not literally excluded itself, it will return false (not excluded).
+ Use wxTreeMultiCtrl::GetExcludedParent() to get the node that hides this one. "
+ end
+
+ operation 170626 "IsSelected"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+
+ wxCHECK(this->GetItem(),false);
+
+ return this->GetItem()->IsSelected();
+
+ };
+"
+
+
+
+
+ comment "* Returns true if the item is selected.
+
+ Please note that currently only nodes can be selected.
+
+ "
+ end
+
+ operation 170754 "IsVisible"
+ cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ wxCHECK(_item, false);
+ return _item->IsVisible();
+ };
+"
+
+
+
+
+ comment "* Returns true if this node is visible. Please note that when this node is a child node of a collapsed
+
+ node, it is not visible. Also if this node is a child node of an excluded node, it is also not visible.
+
+ It does <b>NOT</b> return false when it's drawn somewhere outside of the visible area. "
+ end
+ end
+
+ class 140546 "wxTreeMultiWindowInfo"
+ visibility package
+ cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ comment "* \\class wxTreeMultiWindowInfo
+
+ \\ingroup classes
+
+ \\brief This class contains information for every Window node to be added.
+
+
+ This class can be used to modify the behaviour of the Window node to be added, and can be reused to pass along
+ upon every wxTreeMultiCtrl::AppendWindow call. For example:
+
+ \\code
+
+ wxTreeMultiWindowInfo wndinfo;
+
+ MyTreeMultiCtrl->AppendWindow(item, new wxStaticText(MyTreeMultiCtrl,
+ -1, \"Press this button\"), \"\", wndinfo));
+
+ // now adjust the spacing of our next window to add, by indenting
+ // 4 times the indent size
+
+ wndinfo.Indent(4);
+ MyTreeMultiCtrl->AppendWindow(item, new wxButton(MyTreeMultiCtrl,
+ -1, \"Apply\"), \"\", wndinfo);
+
+ \\endcode
+
+ The class is created to prevent long parameter lists in the functions. Other ways to manipulate a newly added
+ Window node are;
+
+ \\li Change top spacing of the Window node to be added
+ \\li Change front spacing (indent) of the Window node
+ \\li Set extra flags for this Window node
+
+-------------------------------------------------------------------------------------------------------------------"
+ attribute 141698 "_flags"
+ private explicit_type "int"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 141826 "_topSpacing"
+ private explicit_type "int"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 141954 "_checkState"
+ private explicit_type "bool"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ operation 170882 "wxTreeMultiWindowInfo"
+ cpp_inline public explicit_return_type ""
+ nparams 4
+ param in name "flags" explicit_type "int"
+ param in name "frontSpacing" explicit_type "int"
+ param in name "topSpacing" explicit_type "int"
+ param in name "checkState" explicit_type "bool"
+ defaultvalue "false"
+ cpp_decl " ${comment}${inline}${name}${(}${t0} ${p0}${v0}, ${t1} ${p1}${v1}, ${t2} ${p2}${v2}, ${t3} ${p3}${v3}${)}${volatile}${throw} : _flags(flags)
+
+ , _frontSpacing(frontSpacing)
+
+ , _frontSpacingOrg(frontSpacing)
+
+ , _topSpacing(topSpacing)
+
+ , _checkState(checkState)
+
+#else
+
+ wxTreeMultiWindowInfo(int flags, int frontSpacing, int topSpacing)
+
+ : _flags(flags)
+
+ , _frontSpacing(frontSpacing)
+
+ , _frontSpacingOrg(frontSpacing)
+
+ , _topSpacing(topSpacing)
+
+#endif
+
+ {
+
+ // constructor
+
+ };
+"
+
+
+
+
+ end
+
+ operation 171010 "Indent"
+ cpp_inline public explicit_return_type "int"
+ nparams 1
+ param in name "num" explicit_type "int"
+ defaultvalue "1"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ if(num > 0)
+ _frontSpacing += (_frontSpacingOrg * num);
+ return _frontSpacing;
+ };
+"
+
+
+
+
+ comment "* Adds indent to original front spacing and increments it with that value (quick extra indent).
+ The original value of FrontSpacing (see SetFrontSpacing() gets indented by multiplying
+ the 'num' factor (default = 1) times the indent value. So if the FrontSpacing was set to 10,
+ and Indent(2) is called, the new indent will be 30. (10 + 2 * 10). The original FrontSpacing
+ value is remembered, so calling Outdent(2) will bring it back to 10 (30 - (2*10). Calling
+ SetFrontSpacing with a new value, deletes the old indent.
+
+ \\sa Outdent, SetFrontSpacing
+ "
+ end
+
+ operation 171138 "Outdent"
+ cpp_inline public explicit_return_type "int"
+ nparams 1
+ param in name "num" explicit_type "int"
+ defaultvalue "1"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _frontSpacing -= (_frontSpacingOrg * num);
+ if(_frontSpacing < 0)
+ _frontSpacing = 0;
+ return _frontSpacing;
+ };
+"
+
+
+
+
+ comment "* Reduces indent a number of times, by subtracting 'num' times the original FrontSpacing value from
+ the current FrontSpacing value (quick extra indent). Thus if the original FrontSpacing was set to
+ 10, and the current indent value is 40, Outdent(2) will do 40 - (2 * 10) = 20
+
+ \\sa Indent, SetFrontSpacing
+ "
+ end
+
+ operation 171266 "SetFrontSpacing"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "frontSpacing" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _frontSpacing = frontSpacing;
+ _frontSpacingOrg = frontSpacing;
+ };
+"
+
+
+
+
+ comment "* Sets FrontSpacing value. This also resets the current indent level. "
+ end
+
+ operation 171394 "GetFrontSpacing"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _frontSpacing;
+ };
+"
+
+
+
+
+ comment "* Gets front spacing. This will return the current indent level set. If Indent or Outdent is used,
+ this level represents the current Indent level."
+ end
+
+ operation 171522 "SetTopSpacing"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "topSpacing" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _topSpacing = topSpacing;
+ if(_topSpacing < 0)
+ _topSpacing = 0;
+ };
+"
+
+
+
+
+ comment "* Sets top spacing. This means the number of pixels spacing between the last node and the next one to
+ be added.
+ "
+ end
+
+ operation 171650 "GetTopSpacing"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _topSpacing;
+ };
+"
+
+
+
+
+ comment " Gets top spacing currently set. "
+ end
+
+ operation 171778 "SetFlags"
+ cpp_inline public explicit_return_type "int"
+ nparams 1
+ param in name "flags" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ int tmp = _flags;
+ _flags = flags;
+ return tmp;
+ };
+"
+
+
+
+
+ comment "* Sets the current flags set, and returns previous flags state.
+ \\sa @link wndflags wxTreeMultiWindowInfo flags@endlink
+ "
+ end
+
+ operation 171906 "GetFlags"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _flags;
+ };
+"
+
+
+
+
+ comment "* Gets the current flags set.
+ \\sa @link wndflags wxTreeMultiWindowInfo flags@endlink
+ "
+ end
+
+ operation 172034 "AddFlag"
+ cpp_inline public explicit_return_type "int"
+ nparams 1
+ param in name "flag_mask" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ int tmp = _flags;
+ _flags |= flag_mask;
+ return tmp;
+ };
+"
+
+
+
+
+ comment "* Or's the given flag with the current flagset, and adds it. The
+ old flag set is returned before the OR is applied.
+ \\sa @link wndflags wxTreeMultiWindowInfo flags@endlink
+ "
+ end
+
+ operation 172162 "RemoveFlag"
+ cpp_inline public explicit_return_type "int"
+ nparams 1
+ param in name "flag_mask" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ int tmp = _flags;
+ _flags &= ~(flag_mask);
+ return tmp;
+ };
+"
+
+
+
+
+ comment "* And's the given flag in a negated manner and removes this flag set from
+ the current flags. The old flag set is returned.
+ \\sa @link wndflags wxTreeMultiWindowInfo flags@endlink
+ "
+ end
+
+ operation 172290 "SetDefaultCheckState"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "checkState" explicit_type "bool"
+ defaultvalue "true"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _checkState = checkState;
+ };
+"
+
+
+
+
+ comment "* Sets the default checkstate if checkboxes if SetCheckboxView is chosen. For all the
+ items to be added (even captions) this checkstate is chosen. The default checkstate
+ is false. <b>This needs USE_CHECKBOXVIEW set to YES, or CHECKBOXVIEW=1 during compile</b> "
+ end
+
+ operation 172418 "GetDefaultCheckState"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _checkState;
+ };
+"
+
+
+
+
+ comment "* Gets the default checkstate of the item. <b>This needs USE_CHECKBOXVIEW set to YES, or CHECKBOXVIEW=1 during compile</b>
+ \\sa SetDefaultCheckState "
+ end
+ end
+
+ class 140674 "wxTreeMultiCtrl"
+ visibility package
+ cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ comment "* \\class wxTreeMultiCtrl
+ \\ingroup classes
+ \\brief This is the visual control, which will contain all the logic for the tree mechanism.
+
+ The wxTreeMultiCtrl is the container class which can be filled in to get the tree shaped structure in
+ which the controls are displayed. The user can add / delete new nodes at runtime, expand or collapse
+ nodes, perform get or set actions on the controls inside, and iterate over the items.
+
+ A typical usage of the wxTreeCtrl is;
+
+ \\code
+ wxTreeMultiCtrl *tmc = new wxTreeMultiCtrl(this, -1);
+
+ // add root
+ wxTreeMultiItem item = tmc->AddRoot(\"This is the first root\");
+
+ // create a wxTreeMultiWindowInfo object for indenting etc
+ wxTreeMultiWindowInfo wndinfo;
+
+ // add subitem to root
+ tmc->AppendWindow(item, new wxButton(tmc, -1, \"Press this\"), \"\", wndinfo);
+
+ // indent a few
+ wndinfo.Indent(4);
+
+ // add a new one
+ tmc->AddWindow(item, new wxCheckBox(tmc, ID_MYCHECK, \"Check this!\"), \"\", wndinfo);
+
+ // now check the value of the checkbox
+ tmc->SetBooleanValue(ID_MYCHECK, true);
+
+ \\endcode
+
+ <b>IMPORTANT:</b> Every control added to the wxTreeMultiCtrl has to be child of the wxTreeMultiCtrl.
+
+"
+ classrelation 135938 // <generalisation>
+ relation 135938 ---|>
+ a public
+ cpp default "${type}"
+ classrelation_ref 135938 // <generalisation>
+ b parent class_ref 140802 // typedef23
+ end
+
+ attribute 142082 "_style"
+ private explicit_type "long"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 142210 "_captionHeight"
+ private explicit_type "int"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 142338 "_gutterWidth"
+ private explicit_type "int"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 142466 "_iconWidth"
+ private explicit_type "int"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 142594 "_iconHeight"
+ private explicit_type "int"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 142722 "_maxHeight"
+ private explicit_type "int"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 142850 "_spacingY"
+ private explicit_type "int"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 142978 "_create_called"
+ private explicit_type "bool"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 143106 "_checkboxView"
+ private explicit_type "bool"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 143234 "m_HilightBrush"
+ private explicit_type "wxBrush"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 143362 "_captionFont"
+ private explicit_type "wxFont"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ attribute 143490 "m_SelectedItems"
+ private explicit_type "wxArrayTreeMultiItem"
+ cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+ java_decl ""
+ php_decl ""
+ python_decl ""
+ idl_decl ""
+ end
+
+ operation 172546 "DoFold"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 3
+ param inout name "item" type class_ref 139778 // TreeMultiItemBase
+ param in name "expand" explicit_type "bool"
+ param in name "recursive" explicit_type "bool"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, ${t2} ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::Unselect(wxTreeMultiItem const&)
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Does the actual collapsing / expanding. So that Expand and Collapse aren't using the same code twice "
+ end
+
+ operation 172674 "RedrawFromNode"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 1
+ param inout name "n" type class_ref 139906 // TreeMultiItemNode
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Redraws and recalculates the nodes from the current node. It will also clear all 'dirty' flags when
+ they are recalculated "
+ end
+
+ operation 172802 "RedrawFromParentNode"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 1
+ param inout name "n" type class_ref 139778 // TreeMultiItemBase
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::InsertWindow(TreeMultiItemNode*, size_t, wxWindow*, wxString const&, wxTreeMultiWindowInfo const&, int)
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Redraws from parent node of this node "
+ end
+
+ operation 172930 "DrawCheckbox"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 3
+ param inout name "b" type class_ref 139778 // TreeMultiItemBase
+ param inout name "dc" explicit_type "wxDC"
+ param in name "convertScrolled" explicit_type "bool"
+ defaultvalue "false"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} & ${p1}${v1}, ${t2} ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} & ${p1}, ${t2} ${p2}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Draws checkbox belonging to this node, in the given state "
+ end
+
+ operation 173058 "RecalculateNodePositions"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Recalculate the space needed based on every node. It goes as follows.
+ - A foldable node (TreeMultiItemNode) is as high as the 'Jg' y-size. This type only has a caption plus a
+ picture which explains the state ([+] or [-]), the width will be the caption length
+ - A window node will be as high as the y size of the window. The X size is the total length of the
+ window.
+ - For every child node an indent will be added to the x size.
+
+ Only visible nodes will be recalculated. Non visible (collapsed) children will be skipped "
+ end
+
+ operation 173186 "CalculateNodeDimensions"
+ preserve_cpp_body_indent private explicit_return_type "int"
+ nparams 3
+ param inout name "b" type class_ref 139778 // TreeMultiItemBase
+ param in name "currentY" explicit_type "int"
+ param in name "level" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, ${t2} ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Recurses into the whole tree and provides every node with the proper x and y values. All non visible items
+ are skipped (so when it encounters a collapsed node, it's children are not calculated). Returns the last Y "
+ end
+
+ operation 173314 "DrawNode"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 2
+ param inout name "b" type class_ref 139778 // TreeMultiItemBase
+ param inout name "dc" explicit_type "wxDC"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 173442 "SetWindowBackgroundColour"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 3
+ param inout name "wnd" type class_ref 136322 // wxWindow
+ param in name "col" explicit_type "wxColour"
+ param in name "flags" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}, ${t2} ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, const ${t1} & ${p1}, ${t2} ${p2}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Sets background colour of all the windows and subwindows in this wxWindow. This is very handy
+ for wxPanel derived classes which need to be made equal to the background colour of the wxTreeMultiCtrl "
+ end
+
+ operation 173570 "ShowTreeMultiWindow"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 2
+ param inout name "window" type class_ref 140162 // TreeMultiItemWindow
+ param in name "show" explicit_type "bool"
+ defaultvalue "true"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Shows or hides the assigned window (if there is any) "
+ end
+
+ operation 173698 "UpdateAllWindowVisibility"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Goes down the tree, and if a window is not visible (thus all it's children aren't too) it will hide
+ the window so it is not shown on the control "
+ end
+
+ operation 173826 "UpdateTreeMultiWindowVisibility"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 2
+ param inout name "b" type class_ref 139778 // TreeMultiItemBase
+ param in name "show" explicit_type "bool"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Hides tree multi window. It this is a TreeMultiItemNode, hide all subwindows as well. "
+ end
+
+ operation 173954 "RecalculateVirtualSize"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Recalculates totally needed virtual size of the wxTreeMultiCtrl. It will scan for
+ the largest window, with the biggest size, and report that back "
+ end
+
+ extra_member 128258 "using"
+
+ cpp " using wxScrolledWindow::AdjustScrollbars;" ""
+ java ""
+ php ""
+ python ""
+ idl ""
+ end
+
+ operation 174082 "AdjustScrollbars"
+ preserve_cpp_body_indent cpp_virtual private explicit_return_type "void"
+ nparams 2
+ param in name "x" explicit_type "int"
+ param in name "y" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 174210 "RecalculateVirtualSizeFromNode"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 3
+ param in name "node" type class_ref 139906 // TreeMultiItemNode
+ param inout name "x" explicit_type "int"
+ param inout name "y" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} * ${p0}${v0}, ${t1} & ${p1}${v1}, ${t2} & ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} * ${p0}, ${t1} & ${p1}, ${t2} & ${p2}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Recalculates and accumulates largest x and y "
+ end
+
+ operation 174338 "FindNodeByPoint"
+ preserve_cpp_body_indent private return_type class_ref 139778 // TreeMultiItemBase
+ nparams 3
+ param inout name "b" type class_ref 139778 // TreeMultiItemBase
+ param in name "pt" explicit_type "wxPoint"
+ param inout name "area" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}, ${t2} & ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} & ${p1}, ${t2} & ${p2}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Scans for TreeMultiItemBase node that contains x,y and in area returns a hittest constant to
+
+ indicate what matched "
+ end
+
+ operation 174466 "FindWindowNode"
+ preserve_cpp_body_indent private return_type class_ref 140418 // wxTreeMultiItem
+ nparams 2
+ param inout name "wnd" type class_ref 136322 // wxWindow
+ param inout name "n" type class_ref 139906 // TreeMultiItemNode
+ defaultvalue "0"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} * ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Scans for TreeMultiItemWindow that holds the wxWindow pointer. Does not scan in panels or does
+
+ a deep search. Reason, this function is used to advance to next TreeMultiItemWindow for focus
+
+ on this wxScrolledWindow. If a sub window is found, it will skip other windows on that same level "
+ end
+
+ operation 174594 "FindNextVisibleWindowItem"
+ preserve_cpp_body_indent private return_type class_ref 140162 // TreeMultiItemWindow
+ nparams 2
+ param inout name "b" type class_ref 139778 // TreeMultiItemBase
+ param in name "index" explicit_type "int"
+ defaultvalue "-1"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Finds next visible window item in chain. If not found use FindFirstVisibleItem to start from the
+ beginning "
+ end
+
+ operation 174722 "AdjustIconsDeltaY"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Adjust the centering of the bitmap icons (collapse / expand) when the caption font changes. They need to
+
+ be centered in the middle of the font, so a bit of deltaY adjustment is needed "
+ end
+
+ operation 174850 "CalculateNodeSpanning"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 1
+ param inout name "b" type class_ref 139778 // TreeMultiItemBase
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Calculate the spanning of the individual nodes "
+ end
+
+ operation 174978 "SetRecursiveCheckState"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 2
+ param inout name "n" type class_ref 139906 // TreeMultiItemNode
+ param in name "check" explicit_type "bool"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Recurse to all the children and set the checkbox state (even when there is no checkbox) "
+ end
+
+ operation 175106 "ScanTristateCheckstates"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 1
+ param inout name "b" type class_ref 139778 // TreeMultiItemBase
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* From current checked node, all children will be scanned and the parent node of this node
+ will get tristate if the checked items are scattered (some are some aren't). If all nodes in this
+ node are checked, the parent node gets checked all the way up to the last one that matches
+ criteria. If all are cleared, parent node gets cleared "
+ end
+
+ operation 175234 "InsertNode"
+ preserve_cpp_body_indent private return_type class_ref 140418 // wxTreeMultiItem
+ nparams 4
+ param inout name "ParentPtr" type class_ref 139906 // TreeMultiItemNode
+ param in name "Position" explicit_type "size_t"
+ param in name "Caption" explicit_type "wxString"
+ param in name "Name" explicit_type "wxString"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* \\name Private add and delete methods
+
+ @{
+
+
+* Inserts a node into the parent's node at the specified position.
+
+ As this is a private method error checking is limited. Therefore, it has to be guaranteed that this method
+
+ is only called with a valid parent node pointer.
+
+ The position is zero based. In case the position is equal or larger than the current number of
+
+ parent's elements the new node is appended.
+
+ The newly inserted node is being returned.
+
+ "
+ end
+
+ operation 175362 "InsertWindow"
+ preserve_cpp_body_indent private return_type class_ref 140418 // wxTreeMultiItem
+ nparams 6
+ param inout name "ParentPtr" type class_ref 139906 // TreeMultiItemNode
+ param in name "Position" explicit_type "size_t"
+ param inout name "WindowPtr" type class_ref 136322 // wxWindow
+ param in name "Name" explicit_type "wxString"
+ param in name "Info" type class_ref 140546 // wxTreeMultiWindowInfo
+ param in name "Flags" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, ${t2} * ${p2}${v2}, const ${t3} & ${p3}${v3}, const ${t4} & ${p4}${v4}, ${t5} ${p5}${v5}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::InsertNode(TreeMultiItemNode*, size_t, wxString const&, wxString const&)
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, ${t2} * ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}, ${t5} ${p5}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Inserts a window into the parent's node at the specified position.
+
+ As this is a private method error checking is limited. Therefore, it has to be guaranteed that this method
+
+ is only called with a valid parent node and window pointer.
+
+ The position is zero based. In case the position is equal or larger than the current number of
+
+ parent's elements the new node is appended.
+
+ The newly inserted window is being returned.
+
+ "
+ end
+
+ operation 175490 "Init"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* @}
+
+ "
+ end
+
+ operation 175618 "OnPaint"
+ private explicit_return_type "void"
+ nparams 1
+ param inout name "event" explicit_type "wxPaintEvent"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment " handlers
+---------
+virtual void OnDraw(wxDC& dc);
+"
+ end
+
+ operation 175746 "OnMouseClick"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 1
+ param inout name "event" explicit_type "wxMouseEvent"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 175874 "OnRightMouseClick"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 1
+ param inout name "Event" explicit_type "wxMouseEvent"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 176002 "OnKey"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 1
+ param inout name "event" explicit_type "wxKeyEvent"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 176130 "OnSize"
+ private explicit_return_type "void"
+ nparams 1
+ param inout name "event" explicit_type "wxSizeEvent"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ end
+
+ operation 176258 "RecalculateSpanSizes"
+ preserve_cpp_body_indent private explicit_return_type "void"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Recalculates the spanning controls "
+ end
+
+ operation 176386 "wxTreeMultiCtrl"
+ cpp_inline public explicit_return_type ""
+ nparams 0
+ cpp_decl " ${comment}${inline}${name}${(}${)}${volatile}${throw} : _create_called(false)
+ {
+
+ Init();
+ };
+"
+
+
+
+
+ comment "* Two step constructor. Call Create when this constructor is called to build up the
+ wxTreeMultiCtrl
+ "
+ end
+
+ operation 176514 "wxTreeMultiCtrl"
+ cpp_inline public explicit_return_type ""
+ nparams 7
+ param inout name "parent" type class_ref 136322 // wxWindow
+ param in name "id" explicit_type "wxWindowID"
+ defaultvalue "-1"
+ param in name "pos" explicit_type "wxPoint"
+ defaultvalue "wxDefaultPosition"
+ param in name "size" explicit_type "wxSize"
+ defaultvalue "wxDefaultSize"
+ param in name "style" explicit_type "long"
+ defaultvalue "wxTMC_DEFAULT_STYLE"
+ param in name "validator" explicit_type "wxValidator"
+ defaultvalue "wxDefaultValidator"
+ param in name "name" explicit_type "wxString"
+ defaultvalue "wxTreeMultiCtrlNameStr"
+ cpp_decl " ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}, ${t4} ${p4}${v4}, const ${t5} & ${p5}${v5}, const ${t6} & ${p6}${v6}${)}${volatile}${throw} : _style(style | wxTAB_TRAVERSAL)
+ , _create_called(false)
+ {
+ Create(parent, id, pos, size, style, validator, name);
+ };
+"
+
+
+
+
+ comment "* The default constructor. The style wxTAB_TRAVERSAL is enforced to make sure that the
+ focus handling is being done correctly. The styles to be used are styles valid for
+ the wxWindow and wxScrolledWindow
+ "
+ end
+
+ operation 176642 "~wxTreeMultiCtrl"
+ preserve_cpp_body_indent cpp_virtual public explicit_return_type ""
+ nparams 0
+ cpp_decl " ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
+"
+ cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+
+
+
+
+ comment "* Destructor "
+ end
+
+ operation 176770 "Create"
+ public explicit_return_type "bool"
+ nparams 7
+ param inout name "parent" type class_ref 136322 // wxWindow
+ param in name "id" explicit_type "wxWindowID"
+ defaultvalue "-1"
+ param in name "pos" explicit_type "wxPoint"
+ defaultvalue "wxDefaultPosition"
+ param in name "size" explicit_type "wxSize"
+ defaultvalue "wxDefaultSize"
+ param in name "style" explicit_type "long"
+ defaultvalue "wxTMC_DEFAULT_STYLE"
+ param in name "validator" explicit_type "wxValidator"
+ defaultvalue "wxDefaultValidator"
+ param in name "name" explicit_type "wxString"
+ defaultvalue "wxTreeMultiCtrlNameStr"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}, ${t4} ${p4}${v4}, const ${t5} & ${p5}${v5}, const ${t6} & ${p6}${v6}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, ${t4} ${p4}, const ${t5} & ${p5}, const ${t6} & ${p6}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Two step creation. Whenever the control is created without any parameters, use Create to actually
+ create it. Don't access the control's public methods before this is called
+
+ \\sa wxTreeMultiCtrl()
+ "
+ end
+
+ operation 176898 "AddRoot"
+ preserve_cpp_body_indent public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 2
+ param in name "caption" explicit_type "wxString"
+ param in name "name" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment " accessors
+----------
+* @name Add and delete methods
+ To add and delete node items like a Root item, Window item or Node item. This allows the user to
+ manipulate the tree, and build it up.
+ @{
+
+* Adds a root node to the wxTreeMultiItem. There can be many root nodes. Use this wxTreeMultiNode pointer to add
+ more subnodes to it. "
+ end
+
+ operation 177026 "AppendWindow"
+ preserve_cpp_body_indent public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 5
+ param in name "ParentItem" type class_ref 140418 // wxTreeMultiItem
+ param inout name "window" type class_ref 136322 // wxWindow
+ defaultvalue "NULL"
+ param in name "name" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ param in name "info" type class_ref 140546 // wxTreeMultiWindowInfo
+ defaultvalue "wxTreeMultiWindowInfoDefault"
+ param in name "flags" explicit_type "int"
+ defaultvalue "0"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} * ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}, ${t4} ${p4}${v4}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} * ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, ${t4} ${p4}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Adds a window to the tree control. Use this wxTreeMultiItem method to add a window class to the
+
+ current wxTreeMultiItem. The wxTreeMultiItem must point to a Node class. If this is not the case
+
+ an empty wxTreeMultiItem is returned. The mask is used to override the mask settings of the
+
+ wxTreeMultiWindowInfo class. This can be handy to set or clear extra flags only needed for certain
+
+ situations "
+ end
+
+ operation 177154 "InsertWindow"
+ preserve_cpp_body_indent public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 6
+ param in name "ParentItem" type class_ref 140418 // wxTreeMultiItem
+ param in name "Position" explicit_type "size_t"
+ param inout name "window" type class_ref 136322 // wxWindow
+ defaultvalue "NULL"
+ param in name "name" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ param in name "info" type class_ref 140546 // wxTreeMultiWindowInfo
+ defaultvalue "wxTreeMultiWindowInfoDefault"
+ param in name "flags" explicit_type "int"
+ defaultvalue "0"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} ${p1}${v1}, ${t2} * ${p2}${v2}, const ${t3} & ${p3}${v3}, const ${t4} & ${p4}${v4}, ${t5} ${p5}${v5}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}, ${t2} * ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}, ${t5} ${p5}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Adds a window to the tree control. Use this method to add a window class at the specified position
+
+ of the parent's wxTreeMultiItem. In case the position is smaller than the current number of children all elements
+
+ are shifted upwards, otherwise the new window is appended to the parent's wxTreeMultiItem.
+
+ The parent wxTreeMultiItem must point to a Node class. If this is not the case an
+
+ empty wxTreeMultiItem is returned.
+
+ "
+ end
+
+ operation 177282 "PrependWindow"
+ preserve_cpp_body_indent public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 5
+ param in name "ParentItem" type class_ref 140418 // wxTreeMultiItem
+ param inout name "window" type class_ref 136322 // wxWindow
+ defaultvalue "NULL"
+ param in name "name" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ param in name "info" type class_ref 140546 // wxTreeMultiWindowInfo
+ defaultvalue "wxTreeMultiWindowInfoDefault"
+ param in name "flags" explicit_type "int"
+ defaultvalue "0"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} * ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}, ${t4} ${p4}${v4}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::InsertWindow(wxTreeMultiItem const&, size_t, wxWindow*, wxString const&, wxTreeMultiWindowInfo const&, int)
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} * ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, ${t4} ${p4}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Adds a window to the tree control. Use this method to add a window class as the first element
+
+ of the parent's wxTreeMultiItem. The parent wxTreeMultiItem must point to a Node class. If this is not the case an
+
+ empty wxTreeMultiItem is returned.
+
+ "
+ end
+
+ operation 177410 "AppendNode"
+ preserve_cpp_body_indent public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 3
+ param in name "ParentItem" type class_ref 140418 // wxTreeMultiItem
+ param in name "caption" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ param in name "name" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::PrependWindow(wxTreeMultiItem const&, wxWindow*, const wxString &, wxTreeMultiWindowInfo const&, int)
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Adds a node to the tree control. Use this wxTreeMultiItem method to add a recursive subnode class as the last element
+
+ of the parent's wxTreeMultiItem. The parent wxTreeMultiItem must point to a Node class. If this is not the case
+
+ an empty wxTreeMultiItem is returned. A node can contain multiple nodes or window classes "
+ end
+
+ operation 177538 "InsertNode"
+ preserve_cpp_body_indent public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 4
+ param in name "ParentItem" type class_ref 140418 // wxTreeMultiItem
+ param in name "Position" explicit_type "size_t"
+ param in name "caption" explicit_type "wxString"
+ param in name "name" explicit_type "wxString"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::AppendNode(wxTreeMultiItem const&, const wxString &, const wxString&)
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Adds a node to the tree control. Use this method to add a recursive subnode class at the specified position
+
+ of the parent's wxTreeMultiItem. In case the position is smaller than the current number of nodes all elements
+
+ are shifted upwards, otherwise the new node is appended to the parent's wxTreeMultiItem.
+
+ The parent wxTreeMultiItem must point to a Node class. If this is not the case an
+
+ empty wxTreeMultiItem is returned. A node can contain multiple nodes or window classes.
+
+ "
+ end
+
+ operation 177666 "PrependNode"
+ preserve_cpp_body_indent public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 3
+ param in name "ParentItem" type class_ref 140418 // wxTreeMultiItem
+ param in name "caption" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ param in name "name" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::InsertNode(wxTreeMultiItem const&, size_t, wxString const&, wxString const&)
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Adds a node to the tree control. Use this method to add a recursive subnode class as the first element
+
+ of the parent's wxTreeMultiItem. The parent wxTreeMultiItem must point to a Node class. If this is not the case an
+
+ empty wxTreeMultiItem is returned. A node can contain multiple nodes or window classes.
+
+ "
+ end
+
+ operation 177794 "Delete"
+ preserve_cpp_body_indent public explicit_return_type "bool"
+ nparams 1
+ param inout name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::PrependNode(wxTreeMultiItem const&, wxString const&, wxString const&)
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Delete item from the tree control. Whenever it is present, delete it. If not, return false. After
+
+ deletion the wxTreeMultiItem is 0, thus IsOk will return false "
+ end
+
+ operation 177922 "DeleteAllItems"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+
+ this->_root.Clear();
+
+ this->m_SelectedItems.Clear();
+
+ Refresh();
+
+ };
+"
+
+
+
+
+ comment "* Deletes all the items from the wxTreeMultiCtrl. "
+ end
+
+ operation 178050 "DeleteChildren"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Deletes all children of the current node. The wxTreeMultiItem needs to be of type Node to
+ do this. Call GetParentNode to get the parent wxTreeMultiItem which is always a node. "
+ end
+
+ operation 178178 "ExpandNodes"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param in name "recursive" explicit_type "bool"
+ defaultvalue "false"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* @}
+
+* @name Expand and collapse methods
+ These methods are all for items of type Node.
+ @{
+
+* Expand all nodes and subnodes. Recursive = true means all subnodes are also expanded. "
+ end
+
+ operation 178306 "CollapseNodes"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param in name "recursive" explicit_type "bool"
+ defaultvalue "false"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Collapses all nodes and subnodes. Recursive = true means all subnodes are also expanded. "
+ end
+
+ operation 178434 "Expand"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 2
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ param in name "recursive" explicit_type "bool"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Expands given node, and with recursive, also the subnodes "
+ end
+
+ operation 178562 "Collapse"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 2
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ param in name "recursive" explicit_type "bool"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Collapses given node, and with recursive, also the subnodes. If this item is not a node, but a window.
+ the parent is resolved and that node is collapsed "
+ end
+
+ operation 178690 "CollapseAndReset"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Collapses this node and removes all children from it. This is only applicable on
+ wxTreeMultiItems which are of type Node / Root. "
+ end
+
+ operation 178818 "Fold"
+ cpp_inline public explicit_return_type "void"
+ nparams 2
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ param in name "expand" explicit_type "bool"
+ defaultvalue "true"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract} {
+ if(expand)
+ Expand(item, false);
+ else
+ Collapse(item, false);
+ };
+"
+
+
+
+
+ comment "* Folds the given node. The same as Expand and Collapse, but the state can be
+ given through a parameter "
+ end
+
+ operation 178946 "GetSelectedItemCount"
+ const cpp_inline public explicit_return_type "size_t"
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {return this->m_SelectedItems.GetCount();};
+"
+
+
+
+
+ comment "* @}
+
+
+* @name Selection manipulation
+
+ These methods allow you to select, unselect or test wxTreeMultiItems on selection.
+
+ Currently only items of type Node can be manipulated.
+
+ @{
+
+
+* Returns the number of selected items. "
+ end
+
+ operation 179074 "GetFirstSelectedItem"
+ preserve_cpp_body_indent const public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// Selection manipulation
+
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the first selected item.
+
+ If there is no selected item an invalid tree multi item is returned.
+
+ "
+ end
+
+ operation 179202 "GetLastSelectedItem"
+ preserve_cpp_body_indent const public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::GetFirstSelectedItem(void) const
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the last selected item.
+
+ If there is no selected item an invalid tree multi item is returned.
+
+ "
+ end
+
+ operation 179330 "GetSelectedItem"
+ preserve_cpp_body_indent const public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "Index" explicit_type "size_t"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::GetLastSelectedItem(void) const
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns a selected item with the specified index.
+
+ If there is no selected item with the passed index an invalide tree multi item is returned.
+
+ "
+ end
+
+ operation 179458 "GetSelectedItemIndex"
+ preserve_cpp_body_indent const public explicit_return_type "size_t"
+ nparams 1
+ param in name "Item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::GetSelectedItem(size_t Index) const
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the index of the selected item.
+
+ In case the item is not selected \"GetSelectedItemCount()\" - which is an invalid index - is returned.
+
+ "
+ end
+
+ operation 179586 "SelectItem"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 3
+ param in name "Item" type class_ref 140418 // wxTreeMultiItem
+ param in name "UnselectOthers" explicit_type "bool"
+ defaultvalue "true"
+ param in name "ExpandSelection" explicit_type "bool"
+ defaultvalue "false"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} ${p1}${v1}, ${t2} ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::GetSelectedItemIndex(wxTreeMultiItem const&) const
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Selects the specified item AND in case
+
+ - UnselectOthers is set all other selected items are going to be unselected;
+
+ - ExpandSelection is set all items between the last selected item and the passed item
+
+ are selected, too (in case there this is the first selection all items between the first root
+
+ and the passed item are selected).
+
+ If the passed item is already selected the other parameters are ignored.
+
+ Please not that currently only nodes can be selected, therefore, if any other item is passed nothing will happen.
+
+ "
+ end
+
+ operation 179714 "UnselectAll"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::SelectItem(wxTreeMultiItem const&, bool, bool)
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Unselect all selected items. "
+ end
+
+ operation 179842 "Unselect"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param in name "Item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::UnselectAll(void)
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Unselect specified item "
+ end
+
+ operation 179970 "Exclude"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* @}
+
+
+* \\name Visibility manipulation
+
+ These methods allow you to manipulate a certain wxTreeMultiItem to temporarily exclude or to include
+
+ the node from drawing. Whenever it is excluded, all operations can still be performed, however
+
+ the node may not be visible.
+ @{
+
+* Excludes this node from drawing. When excluded, the node will dissapear from the control but is still
+ physically present in the tree itself. If this node is a composite node with children, they will all be
+ hidden from the control. "
+ end
+
+ operation 180098 "Include"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Includes an excluded node. If the node was already present on the drawing, nothing happens. If the
+ node is included after exclusion it will become visible. If the parent node is still excluded or
+ collapsed (not visible) this will not show, until the parent node shows "
+ end
+
+ operation 180226 "GetExcludedParent"
+ preserve_cpp_body_indent public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the parent that is responsible for excluding this node. If there is no excluded node as parent,
+ the wxTreeMultiItem is zero. "
+ end
+
+ operation 180354 "HitTest"
+ preserve_cpp_body_indent public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 2
+ param in name "pt" explicit_type "wxPoint"
+ param inout name "flags" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::OnRightMouseClick(wxMouseEvent&)
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* @}
+
+* Checks if the point is under one of the given areas. The returned areas can be
+ \\li wxTMC_HITTEST_GUTTER If the front part of the item is clicked (where the node is)
+ \\li wxTMC_HITTEST_WINDOW If located in the window area
+ \\li wxTMC_HITTEST_CAPTION If located on the caption of the MultiTreeItemNode
+
+
+ Returned is the item which is located under the mouse, or none (IsOk = false) if
+
+ no item under the mouse "
+ end
+
+ operation 180482 "FindItem"
+ preserve_cpp_body_indent public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 4
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ param in name "name" explicit_type "wxString"
+ param in name "ignoreCase" explicit_type "bool"
+ defaultvalue "false"
+ param in name "skipFirst" explicit_type "bool"
+ defaultvalue "false"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, ${t2} ${p2}${v2}, ${t3} ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${const}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* @name Find methods
+
+ These methods are used for finding a node in the wxTreeMultiCtrl.
+
+ @{
+
+* Searches for the given name from the given level and lower. It will return a wxTreeMultiItem which needs
+ to be checked with IsOk() to see if it is a correct item. IsRootItem, IsNodeItem and IsWindowItem can be
+ used to determine the type of item. If the search returned an item which doesn't satisfy the query, you can
+ restart the search from here, with skip = true to skip the passed item. "
+ end
+
+ operation 180610 "FindItem"
+ cpp_inline public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 2
+ param in name "name" explicit_type "wxString"
+ param in name "ignoreCase" explicit_type "bool"
+ defaultvalue "false"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract} {
+ return FindItem(wxTreeMultiItem(&_root), name, ignoreCase, false);
+ };
+"
+
+
+
+
+ comment "* Searches all nodes for the given name and returns the one found. This is a specialised method for FindItem "
+ end
+
+ operation 180738 "GetChildrenCount"
+ cpp_inline public explicit_return_type "int"
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ if(item.IsNodeItem())
+ {
+ TreeMultiItemNode *n = (TreeMultiItemNode *)item.GetItem();
+ return n->GetNodeCount();
+ }
+
+ return -1;
+ };
+"
+
+
+
+
+ comment "* @}
+
+* Returns the number of children in this node. If this node is not of type Node, count returns -1. "
+ end
+
+ operation 180866 "GetFocus"
+ preserve_cpp_body_indent public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* This method finds the current focused window, and returns the wxTreeMultiItem that has this window as pointer.
+ If the wxTreeMultiItem is not ok, the focused window is on a sub-panel, or not on this control. If the focus is
+ on a sub-panel, this panel will handle the focusing. If you are still interested in this window, try
+ wxWindow::FindFocus which will always return with a pointer if a wxWindow has focus "
+ end
+
+ operation 180994 "GetBooleanValue"
+ preserve_cpp_body_indent public explicit_return_type "bool"
+ nparams 1
+ param in name "wndId" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* @name Smart window Get/Set methods
+ These methods are used for quickly getting or setting primitive values, like boolean, string, or selections into
+ primitive wxWindow controls like a wxRadioButton, wxCheckBox, wxTextCtrl, etc.
+ The methods allow you to quickly set e.g. a boolean value by using the wxWindow ID of the control. A type
+ check is performed before the value is actually set with the appropiate method for it. If it fails, an assertion
+ will follow in debug mode. If you want to get values back similar get methods are present to return values.
+ This allows the user to quickly retrieve or set values by ID, without the fuss of remembering the pointer or
+ node ID of the wxTreeMultiCtrl.
+ @{
+
+* This function calls FindWindow on the wxTreeMultiCtrl to find the window with the given ID (which is added with
+ AppendWindow). When it is found, it is type casted towards a <b>wxCheckBox</b> and <b>wxRadioButton</b>. Whenever
+ it finds a proper type it will return true or false. Whenever no proper type is found, it will return with false.
+ In debug mode it will cause an assertion failure as well, to notify the developer something is wrong.
+
+ \\sa SetBooleanValue
+ "
+ end
+
+ operation 181122 "GetTextValue"
+ preserve_cpp_body_indent public explicit_return_type "wxString"
+ nparams 1
+ param in name "wndId" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* This function calls FindWindow on the wxTreeMultiCtrl to find the window with the given ID (which is added with
+ AppendWindow). When it is found, it is type casted towards a <b>wxTextCtrl</b>, <b>wxChoice</b> and <b>wxComboBox</b>.
+ Whenever it finds a proper type it will return the (selected) text in the control. Whenever no proper type is found,
+ it will return with an empty string. In debug mode it will cause an exception error as well if the cast fails, to notify
+ the developer something is wrong.
+
+ \\sa SetTextValue
+ "
+ end
+
+ operation 181250 "SetBooleanValue"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 2
+ param in name "wndId" explicit_type "int"
+ param in name "value" explicit_type "bool"
+ defaultvalue "true"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* This function calls FindWindow on the wxTreeMultiCtrl to find the window with the given ID (which is added with
+ AppendWindow). When it is found, it is type casted towards a <b>wxCheckBox</b> and <b>wxRadioButton</b>. Whenever
+ it finds a proper type it set the control's value to the given boolean parameter. Nothing happens when no proper type
+ is found, however debug mode it will cause an assertion failure.
+
+ \\sa GetBooleanValue
+ "
+ end
+
+ operation 181378 "SetTextValue"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 2
+ param in name "wndId" explicit_type "int"
+ param in name "value" explicit_type "wxString"
+ defaultvalue "wxEmptyString"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* This function calls FindWindow on the wxTreeMultiCtrl to find the window with the given ID (which is added with
+ AppendWindow). When it is found, it is type casted towards a <b>wxTextCtrl</b>. If the control is not found or
+ of the wrong type, an asserion failure (in debug mode) follows. <br><i><b>NOTE: </b></i> this method
+ does not typecast to wxChoice or wxComboBox and the likes. If a selection in one of those needs to be set, use the
+ SetSelectionValue / GetSelectionValue combination.
+ \\sa GetTextValue, GetSelectionValue, SetSelectionValue
+ "
+ end
+
+ operation 181506 "GetWindow"
+ cpp_inline public return_type class_ref 136322 // wxWindow
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ if(item.IsWindowItem())
+ return ((TreeMultiItemWindow *)item.GetItem())->GetWindow();
+ return 0;
+ };
+"
+
+
+
+
+ comment "* Retrieves the wxWindow * associated with the wxTreeMultiItem. This only works for Window typed wxTreeMultiItem
+ classes. If this type does not match or no window is associated, 0 is returned. "
+ end
+
+ operation 181634 "SetSelectionValue"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 2
+ param in name "wndId" explicit_type "int"
+ param in name "sel" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* This function calls FindWindow on the wxTreeMultiCtrl to find the window with the given ID (which is added with
+ AppendWindow). When it is found, it is type casted towards a <b>wxListBox, wxChoice, wxComboBox</b>.
+ If the control is not found or of the wrong type, an asserion failure (in debug mode) follows. If it is found
+ the selection is set in the control.
+ "
+ end
+
+ operation 181762 "GetSelectionValue"
+ preserve_cpp_body_indent public explicit_return_type "int"
+ nparams 1
+ param in name "wndId" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* This function calls FindWindow on the wxTreeMultiCtrl to find the window with the given ID (which is added with
+ AppendWindow). When it is found, it is type casted towards a <b>wxListBox, wxChoice, wxComboBox</b>.
+ If the control is not found or of the wrong type, an asserion failure (in debug mode) follows. In release mode -1 is
+ returned. If it is found the selection index is returned.
+ "
+ end
+
+ operation 181890 "GetSelectionValues"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 2
+ param in name "wndId" explicit_type "int"
+ param inout name "sels" explicit_type "wxArrayInt"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}, ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* This function calls FindWindow on the wxTreeMultiCtrl to find the window with the given ID (which is added with
+ AppendWindow). When it is found, it is type casted towards a <b>wxListBox</b>. If the control is not found or
+ of the wrong type, an asserion failure (in debug mode) follows. In release mode an empty wxArrayInt is returned.
+ If it is found the selections are stored in the wxArrayInt. This is only valid for wxListBox classes with multiple
+ selection flag set.
+ "
+ end
+
+ operation 182018 "GetCheckboxState"
+ public explicit_return_type "int"
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Gets the checkbox state of the wxTreeMultiItem pointed out by \"item\". If the item does not have a checkbox
+ associated (or the item is not ok), it will return -1. If the checkbox is checked it will return 1,
+
+ unchecked is 0, and tri-state (usually only for caption nodes) it will return 2. <b>This needs USE_CHECKBOXVIEW
+
+ set to YES, or CHECKBOXVIEW=1 during compile</b>"
+ end
+
+ operation 182146 "SetCheckboxState"
+ cpp_inline public explicit_return_type "void"
+ nparams 2
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ param in name "state" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract} {
+ wxCHECK2( item.IsOk(), return );
+ TreeMultiItemBase *b = item.GetItem();
+ if( b->GetCheckbox() )
+ b->SetCheckboxState( state );
+ RedrawFromNode( item.GetItem()->GetParent() );
+ };
+"
+
+
+
+
+ comment "* Sets the checkbox state of the wxTreeMultiItem pointed out by \"item\". If the item does not have a checkbox
+ associated (or the item is not ok), it will simply ignore this. <b>This needs USE_CHECKBOXVIEW
+ set to YES, or CHECKBOXVIEW=1 during compile</b>. Contributed by Thomas Enickl."
+ end
+
+ operation 182274 "SetSpacingY"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "spacingY" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ if(spacingY >= 0)
+ {
+ _spacingY = spacingY;
+ RedrawFromNode(0);
+ }
+ };
+"
+
+
+
+
+ comment "* @}
+
+* @name Extended visibility and manipulation methods
+ These methods alter the wxTreeMultiCtrl appearance, or add more functionality like checkboxes before each node.
+ @{
+
+* Sets the Y spacing of the wxTreeMultiCtrl to a new size. This can be used to give the controls some more
+ spacing in between "
+ end
+
+ operation 182402 "GetSpacingY"
+ const cpp_inline public explicit_return_type "int"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _spacingY;
+ };
+"
+
+
+
+
+ comment "* Gets the Y spacing of the wxTreeMultiCtrl. "
+ end
+
+ operation 182530 "SetCheckboxView"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "value" explicit_type "bool"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ _checkboxView = value;
+ };
+"
+
+
+
+
+ comment "* This method toggles the checkbox view mode. Whenever set to true, the next window item, or caption node item
+ will get a checkbox. <b>This needs USE_CHECKBOXVIEW set to YES, or CHECKBOXVIEW=1 during compile</b>
+ \\sa GetCheckboxView, wxTreeMultiWindowInfo::SetDefaultCheckState
+ "
+ end
+
+ operation 182658 "GetCheckboxView"
+ const cpp_inline public explicit_return_type "bool"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _checkboxView;
+ };
+"
+
+
+
+
+ comment "* This method returns the checkbox state currently used. <b>This needs USE_CHECKBOXVIEW set to YES, or
+ CHECKBOXVIEW=1 during compile</b>
+ \\sa SetCheckboxView, wxTreeMultiWindowInfo::SetDefaultCheckState, wxTreeMultiWindowInfo::GetDefaultCheckState
+ "
+ end
+
+ operation 182786 "GetFirstRoot"
+ const cpp_inline public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {return wxTreeMultiItem(this->_root.First());};
+"
+
+
+
+
+ comment "* @}
+
+* @name Iteration methods
+
+ Allows the user to iterate through a wxTreeMultiCtrl node, and get all the children or siblings.
+
+ To start an iteration from the lowest level the functions GetFirstRoot and GetLastRoot are provided.
+
+ @{
+
+
+* Returns the first root. "
+ end
+
+ operation 182914 "GetLastRoot"
+ const cpp_inline public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {return wxTreeMultiItem(this->_root.Last());};
+"
+
+
+
+
+ comment "* Returns the last root. "
+ end
+
+ operation 183042 "GetParent"
+ preserve_cpp_body_indent const public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the items parent. "
+ end
+
+ operation 183170 "GetFirstChild"
+ preserve_cpp_body_indent const public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 2
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ param inout name "cookie" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::GetParent(wxTreeMultiItem const& item) const
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the first child of this node. The type of wxTreeMultiItem needs to be of Node. Whenever not succesful,
+
+ the item returned is not ok (IsOk = false). Upon success, a valid child is returned. The cookie variable doesn't
+
+ need to be initialized "
+ end
+
+ operation 183298 "GetNextChild"
+ preserve_cpp_body_indent const public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 2
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ param inout name "cookie" explicit_type "int"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the next child in the iteration on the level of 'item'. Make sure you called GetFirstChild first
+ before calling this one "
+ end
+
+ operation 183426 "GetLastChild"
+ preserve_cpp_body_indent const public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the last child of this node. The type of 'item' needs to be of Node. Whenever not succesful,
+ the item returned is not ok (IsOk = false). Upon success, a valid last child is returned. "
+ end
+
+ operation 183554 "GetNextSibling"
+ preserve_cpp_body_indent const public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the next sibling of the passed item. "
+ end
+
+ operation 183682 "GetPrevSibling"
+ preserve_cpp_body_indent const public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::GetNextSibling(wxTreeMultiItem const&) const
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the previous sibling of the passed item. "
+ end
+
+ operation 183810 "GetNext"
+ preserve_cpp_body_indent const public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::GetPrevSibling(wxTreeMultiItem const&) const
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the next item. \"Next\" is defined by the following order:
+
+ - in case the current item has a child it is the first child of the current item;
+
+ - in case the current item has a next sibling as the next sibling;
+
+ - as the parent's (or one of its ancestor's) next sibling.
+
+ "
+ end
+
+ operation 183938 "GetPrevious"
+ preserve_cpp_body_indent const public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "item" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::GetNextSibling(wxTreeMultiItem const&) const
+
+${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Returns the previous item. \"Previous\" is defined by the following order:
+
+ - in case the current item has a child it is the last child of the current item;
+
+ - in case the current item has a previous sibling it is the previous sibling;
+
+ - as the parent's (or one of its ancestor's) previous sibling.
+
+ "
+ end
+
+ operation 184066 "GetCaptionFont"
+ const cpp_inline public explicit_return_type "wxFont"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+ return _captionFont;
+ };
+"
+
+
+
+
+ comment "* @}
+
+
+* @name Get and set methods
+ These methods allow you to set or get certain properties of the wxTreeMultiCtrl.
+ @{
+
+* Get the currently used font for the caption headers in the wxTreeMultiCtrl. If you want to alter this
+ font, simply obtain it and copy it to a local font. After that, set this font back using SetCaptionFont()
+ "
+ end
+
+ operation 184194 "SetCaptionFont"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param in name "font" explicit_type "wxFont"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* Sets the font to be used for the text caption headers. This triggers a complete redraw because x,y sizes can
+ differ, and ofcourse all nodes need to be updated. You can call this method at any time not only at the
+ beginning. "
+ end
+
+ operation 184322 "OnDraw"
+ preserve_cpp_body_indent public explicit_return_type "void"
+ nparams 1
+ param inout name "dc" explicit_type "wxDC"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_def "// wxTreeMultiCtrl::GetPrevious(wxTreeMultiItem const&) const
+// WDR: handler implementations for wxTreeMultiCtrl
+
+
+${comment}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+
+
+
+
+ comment "* @}
+
+ "
+ end
+ end
+
+ class 140802 "typedef23"
+ visibility package stereotype "typedef" explicit_base_type "wxScrolledWindow"
+ cpp_decl "${comment}typedef ${type} ${name};
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ end
+
+ class 140930 "wxTreeMultiEvent"
+ visibility package
+ cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ comment "*
+ \\section treemultievent Event handlers for wxTreeMultiCtrl
+
+ Event handlers for wxTreeMultiCtrl are similar to wxTreeEvents. But they are
+ optimized for the wxTreeMultiCtrl class.
+"
+ classrelation 136066 // <generalisation>
+ relation 136066 ---|>
+ a public
+ cpp default "${type}"
+ classrelation_ref 136066 // <generalisation>
+ b parent class_ref 141058 // typedef24
+ end
+
+ operation 184450 "wxTreeMultiEvent"
+ preserve_cpp_body_indent public explicit_return_type ""
+ nparams 2
+ param in name "InitEventType" explicit_type "wxEventType"
+ defaultvalue "wxEVT_NULL"
+ param in name "InitItem" type class_ref 140418 // wxTreeMultiItem
+ defaultvalue "wxTreeMultiItem()"
+ cpp_decl " ${comment}${inline}${name}${(}${t0} ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${volatile}${throw};
+"
+ cpp_def "// constructors / destructor:
+
+${comment}${inline}${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}
+ :wxNotifyEvent(InitEventType), m_Item(InitItem)
+${throw}{
+${body}}
+"
+
+
+
+
+ comment "WXDLLEXPORT
+/
+/ The default constructor
+/"
+ end
+
+ operation 184578 "Clone"
+ const cpp_virtual cpp_inline public explicit_return_type "wxEvent"
+ nparams 0
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} {return new wxTreeMultiEvent(*this);};
+"
+
+
+
+
+ comment " inherited functions:
+ wxEvent:
+ cloning:"
+ end
+
+ operation 184706 "GetItem"
+ const cpp_inline public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ return this->m_Item;
+ };
+"
+
+
+
+
+ comment " item handling:"
+ end
+
+ operation 184834 "SetItem"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "NewItem" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ this->m_Item = NewItem;
+ };
+"
+
+
+
+
+ end
+
+ operation 184962 "GetOldItem"
+ const cpp_inline public return_type class_ref 140418 // wxTreeMultiItem
+ nparams 1
+ param in name "" explicit_type "void"
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ return this->m_OldItem;
+ };
+"
+
+
+
+
+ comment " old item handling:"
+ end
+
+ operation 185090 "SetOldItem"
+ cpp_inline public explicit_return_type "void"
+ nparams 1
+ param in name "NewItem" type class_ref 140418 // wxTreeMultiItem
+ cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+ this->m_OldItem = NewItem;
+ };
+"
+
+
+
+
+ end
+ end
+
+ class 141058 "typedef24"
+ visibility package stereotype "typedef" explicit_base_type "wxNotifyEvent"
+ cpp_decl "${comment}typedef ${type} ${name};
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ end
+ end
+
+ deploymentview 128258 "treemultictrl"
+ //deployment diagram settings
+ package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
+ draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
+ artifact 131458 "TreeMultiItemBase"
+ stereotype "source"
+ cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+ cpp_src "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+ associated_classes
+ class_ref 139778 // TreeMultiItemBase
+ end
+ end
+
+ artifact 131586 "TreeMultiItemNode"
+ stereotype "source"
+ cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+ cpp_src "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+ associated_classes
+ class_ref 139906 // TreeMultiItemNode
+ end
+ end
+
+ artifact 131714 "TreeMultiItemRoot"
+ stereotype "source"
+ cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+ cpp_src "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+ associated_classes
+ class_ref 140034 // TreeMultiItemRoot
+ end
+ end
+
+ artifact 131842 "TreeMultiItemWindow"
+ stereotype "source"
+ cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+ cpp_src "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+ associated_classes
+ class_ref 140162 // TreeMultiItemWindow
+ end
+ end
+
+ artifact 131970 "wxTreeMultiCtrl"
+ stereotype "source"
+ cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+ cpp_src "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+ associated_classes
+ class_ref 140290 // anonymous1
+ class_ref 140418 // wxTreeMultiItem
+ class_ref 140546 // wxTreeMultiWindowInfo
+ class_ref 140802 // typedef23
+ class_ref 140674 // wxTreeMultiCtrl
+ end
+ end
+
+ artifact 132098 "wxTreeMultiEvent"
+ stereotype "source"
+ cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+ cpp_src "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+ associated_classes
+ class_ref 141058 // typedef24
+ class_ref 140930 // wxTreeMultiEvent
+ end
+ end
+ end
+end