]> Creatis software - bbtk.git/commitdiff
.
authorEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Thu, 28 May 2009 12:20:52 +0000 (12:20 +0000)
committerEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Thu, 28 May 2009 12:20:52 +0000 (12:20 +0000)
52 files changed:
doc/bouml/bbtkk/128002 [new file with mode: 0644]
doc/bouml/bbtkk/128002.diagram [new file with mode: 0644]
doc/bouml/bbtkk/128130 [new file with mode: 0644]
doc/bouml/bbtkk/128258 [new file with mode: 0644]
doc/bouml/bbtkk/128386 [new file with mode: 0644]
doc/bouml/bbtkk/128514 [new file with mode: 0644]
doc/bouml/bbtkk/128642 [new file with mode: 0644]
doc/bouml/bbtkk/128770 [new file with mode: 0644]
doc/bouml/bbtkk/128898 [new file with mode: 0644]
doc/bouml/bbtkk/129026 [new file with mode: 0644]
doc/bouml/bbtkk/129154 [new file with mode: 0644]
doc/bouml/bbtkk/129282 [new file with mode: 0644]
doc/bouml/bbtkk/129410 [new file with mode: 0644]
doc/bouml/bbtkk/129538 [new file with mode: 0644]
doc/bouml/bbtkk/129666 [new file with mode: 0644]
doc/bouml/bbtkk/129794 [new file with mode: 0644]
doc/bouml/bbtkk/129922 [new file with mode: 0644]
doc/bouml/bbtkk/130050 [new file with mode: 0644]
doc/bouml/bbtkk/130178 [new file with mode: 0644]
doc/bouml/bbtkk/130306 [new file with mode: 0644]
doc/bouml/bbtkk/130434 [new file with mode: 0644]
doc/bouml/bbtkk/130562 [new file with mode: 0644]
doc/bouml/bbtkk/130690 [new file with mode: 0644]
doc/bouml/bbtkk/130818 [new file with mode: 0644]
doc/bouml/bbtkk/130946 [new file with mode: 0644]
doc/bouml/bbtkk/131074 [new file with mode: 0644]
doc/bouml/bbtkk/131202 [new file with mode: 0644]
doc/bouml/bbtkk/131330 [new file with mode: 0644]
doc/bouml/bbtkk/131458 [new file with mode: 0644]
doc/bouml/bbtkk/131586 [new file with mode: 0644]
doc/bouml/bbtkk/131714 [new file with mode: 0644]
doc/bouml/bbtkk/131842 [new file with mode: 0644]
doc/bouml/bbtkk/139778.bodies [new file with mode: 0644]
doc/bouml/bbtkk/139906.bodies [new file with mode: 0644]
doc/bouml/bbtkk/140034.bodies [new file with mode: 0644]
doc/bouml/bbtkk/140162.bodies [new file with mode: 0644]
doc/bouml/bbtkk/140674.bodies [new file with mode: 0644]
doc/bouml/bbtkk/141186.bodies [new file with mode: 0644]
doc/bouml/bbtkk/141442.bodies [new file with mode: 0644]
doc/bouml/bbtkk/141954.bodies [new file with mode: 0644]
doc/bouml/bbtkk/142466.bodies [new file with mode: 0644]
doc/bouml/bbtkk/148098.bodies [new file with mode: 0644]
doc/bouml/bbtkk/152962.bodies [new file with mode: 0644]
doc/bouml/bbtkk/2.session [new file with mode: 0644]
doc/bouml/bbtkk/bbtkk.prj [new file with mode: 0644]
doc/bouml/bbtkk/cpp_includes [new file with mode: 0644]
doc/bouml/bbtkk/generation_settings [new file with mode: 0644]
doc/bouml/bbtkk/idl_includes [new file with mode: 0644]
doc/bouml/bbtkk/java_imports [new file with mode: 0644]
doc/bouml/bbtkk/python_imports [new file with mode: 0644]
doc/bouml/bbtkk/stereotypes [new file with mode: 0644]
doc/bouml/bbtkk/tools [new file with mode: 0644]

diff --git a/doc/bouml/bbtkk/128002 b/doc/bouml/bbtkk/128002
new file mode 100644 (file)
index 0000000..ba05d7a
--- /dev/null
@@ -0,0 +1,32 @@
+format 66
+"bbtk" // bbtk
+  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
+  
+  package_ref 128130 // kernel
+
+  package_ref 128898 // packages
+end
diff --git a/doc/bouml/bbtkk/128002.diagram b/doc/bouml/bbtkk/128002.diagram
new file mode 100644 (file)
index 0000000..37758c8
--- /dev/null
@@ -0,0 +1,298 @@
+format 66
+
+classcanvas 128002 class_ref 131074 // Executer
+  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
+  hidden_attributes
+    attribute_ref 128898 // mFactory
+    attribute_ref 129026 // mRootPackage
+    attribute_ref 129154 // mRootCBB
+    attribute_ref 129538 // mOpenPackage
+    attribute_ref 129666 // mInputs
+    attribute_ref 129794 // mNoExecMode
+    attribute_ref 129922 // mDialogMode
+    attribute_ref 130050 // mNoErrorMode
+  hidden_operations
+    operation_ref 137730 // New
+    operation_ref 137858 // GetFactory
+    operation_ref 137986 // SetInputs
+    operation_ref 138114 // SetNoExecMode
+    operation_ref 138242 // GetNoExecMode
+    operation_ref 138370 // SetDialogMode
+    operation_ref 138498 // SetNoErrorMode
+    operation_ref 138626 // GetNoErrorMode
+    operation_ref 138754 // LoadPackage
+    operation_ref 138882 // UnLoadPackage
+    operation_ref 139010 // BeginPackage
+    operation_ref 139138 // EndPackage
+    operation_ref 139266 // Define
+    operation_ref 139394 // SetCurrentFileName
+    operation_ref 139522 // EndDefine
+    operation_ref 139650 // Kind
+    operation_ref 139778 // Create
+    operation_ref 139906 // Destroy
+    operation_ref 140034 // Clear
+    operation_ref 140162 // Connect
+    operation_ref 140290 // Execute
+    operation_ref 140418 // DefineInput
+    operation_ref 140546 // DefineOutput
+    operation_ref 140674 // Set
+    operation_ref 140802 // Get
+    operation_ref 140930 // SetWorkspaceName
+    operation_ref 141058 // Author
+    operation_ref 141186 // Category
+    operation_ref 141314 // Description
+    operation_ref 141442 // PrintBoxes
+    operation_ref 141570 // ShowGraph
+    operation_ref 141698 // ShowGraphInstances
+    operation_ref 141826 // ShowRelations
+    operation_ref 141954 // Reset
+    operation_ref 142082 // SetMessageLevel
+    operation_ref 142210 // HelpMessages
+    operation_ref 142338 // Print
+    operation_ref 142466 // GetWorkspace
+    operation_ref 142594 // GetUserPackage
+    operation_ref 142722 // GetCurrentDescriptor
+  xyz 241 230 2000
+end
+classcanvas 128130 class_ref 154242 // VirtualExec
+  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
+  xyz 224 149 2000
+end
+classcanvas 128386 class_ref 154370 // Factory
+  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
+  xyz 488 382 2000
+end
+classcanvas 128770 class_ref 154498 // Interpreter
+  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
+  xyz 4 243 2000
+end
+classcanvas 129154 class_ref 154626 // InterpreterUser
+  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
+  xyz 124 413 2000
+end
+classcanvas 129410 class_ref 154754 // ComplexBlackBoxDescriptor
+  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
+  xyz 577 544 2000
+end
+classcanvas 129666 class_ref 154882 // Package
+  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
+  xyz 517 278 2000
+end
+classcanvas 130690 class_ref 155010 // ComplexBlackBox
+  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
+  xyz 676 945 2000
+end
+classcanvas 132226 class_ref 155138 // BlackBox
+  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
+  xyz 405 857 2000
+end
+classcanvas 132738 class_ref 155266 // Connection
+  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
+  xyz 185 802 2000
+end
+classcanvas 134402 class_ref 156418 // AtomicBlackBox
+  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
+  xyz 382 1046 2000
+end
+classcanvas 135042 class_ref 156546 // BlackBoxDescriptor
+  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
+  xyz 537 158 2000
+end
+classcanvas 135298 class_ref 156674 // BlackBoxInputDescriptor
+  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
+  xyz 610 29 2005
+end
+classcanvas 135554 class_ref 156802 // BlackBoxOutputDescriptor
+  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
+  xyz 333 29 2000
+end
+classcanvas 135810 class_ref 156930 // ComplexBlackBoxInputDescriptor
+  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
+  xyz 607 96 3005
+end
+classcanvas 136066 class_ref 157058 // ComplexBlackBoxOutputDescriptor
+  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
+  xyz 226 95 3005
+end
+classcanvas 136706 class_ref 157186 // WxBlackBox
+  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
+  xyz 309 1199 2000
+end
+classcanvas 136834 class_ref 157314 // QtBlackBox
+  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
+  xyz 485 1200 2000
+end
+classcanvas 136962 class_ref 135554 // WidgetBlackBox
+  draw_all_relations default hide_attributes default hide_operations yes 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
+  xyz 382 1104 2005
+end
+relationcanvas 128258 relation_ref 141954 // <generalisation>
+  from ref 128002 z 2001 to ref 128130
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 128514 relation_ref 142082 // (::Pointer)mFactory
+  from ref 128002 z 2001 to point 344 371
+  line 138498 z 2001 label "(::Pointer)mFactory" italic xyz 349 357 2001 to ref 128386
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 128898 relation_ref 142210 // (::WeakPointer)mRealExecuter
+  decenter_begin 230
+  from ref 128770 z 2001 label "(::WeakPointer)mRealExecuter" italic xyz 73 235 2001 to ref 128002
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129026 relation_ref 142338 // (::Pointer)mVirtualExecuter
+  from ref 128770 z 2001 to point 40 190
+  line 130178 z 2001 label "(::Pointer)mVirtualExecuter" italic xyz 20 185 2001 to ref 128130
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129282 relation_ref 142466 // mUser
+  from ref 128770 z 2001 to point 39 429
+  line 130306 z 2001 label "mUser" italic xyz 56 415 2001 to ref 129154
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129538 relation_ref 142594 // (::WeakPointer)mRootCBB
+  decenter_begin 492
+  from ref 128002 z 2001 to point 310 442
+  line 130050 z 2001 label "(::WeakPointer)mRootCBB" italic xyz 385 475 2001 to ref 129410
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129794 relation_ref 142722 // mOpenPackage
+  from ref 128002 z 2001 label "mOpenPackage" italic xyz 365 258 2001 to ref 129666
+  no_role_a no_role_b
+  multiplicity_a_pos 500 302 3000 no_multiplicity_b
+end
+relationcanvas 130434 relation_ref 142850 // (::WeakPointer)mFactory
+  from ref 129410 z 2001 label "(::WeakPointer)mFactory" italic xyz 526 467 2001 to ref 128386
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130818 relation_ref 142978 // (::Pointer)mPrototype
+  decenter_begin 589
+  from ref 129410 z 2001 to point 509 567
+  line 139650 z 2001 to point 517 731
+  line 130946 z 2001 label "(::Pointer)mPrototype" italic xyz 492 697 2001 to ref 130690
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 131074 relation_ref 143106 // (:Pointer)PackageMapType
+  decenter_begin 152
+  from ref 128386 z 2001 label "(:Pointer)PackageMapType" italic xyz 413 381 2001 to point 496 336
+  line 138754 z 2001 to ref 129666
+  no_role_a no_role_b
+  multiplicity_a_pos 507 315 3000 no_multiplicity_b
+end
+relationcanvas 131202 relation_ref 143234 // (::Pointer)mLockedDescriptor
+  from ref 130690 z 2001 label "(::Pointer)mLockedDescriptor" italic xyz 692 648 2001 to point 740 651
+  line 139778 z 2001 to ref 129410
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 131330 relation_ref 143362 // (::WeakPointer)mDescriptor
+  from ref 130690 z 2001 label "(::WeakPointer)mDescriptor" italic xyz 563 723 2001 to point 646 708
+  line 134914 z 2001 to ref 129410
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 132482 relation_ref 143618 // (::Pointer)mBlackBoxMap
+  from ref 130690 z 2001 label "(::Pointer)mBlackBoxMap" italic xyz 511 974 2001 to point 536 958
+  line 132610 z 2001 to ref 132226
+  no_role_a no_role_b
+  multiplicity_a_pos 472 910 3000 no_multiplicity_b
+end
+relationcanvas 132866 relation_ref 143746 // (::Pointer)mConnectionList
+  from ref 130690 z 2001 to point 399 819
+  line 132994 z 2001 label "(::Pointer)mConnectionList" italic xyz 282 808 2001 to ref 132738
+  no_role_a no_role_b
+  multiplicity_a_pos 277 828 3000 no_multiplicity_b
+end
+relationcanvas 133378 relation_ref 143874 // mInputConnectorMap
+  from ref 132226 z 2001 label "mInputConnectorMap" italic xyz 270 862 2001 to point 251 874
+  line 134274 z 2001 to ref 132738
+  no_role_a no_role_b
+  multiplicity_a_pos 221 847 3000 no_multiplicity_b
+end
+relationcanvas 133634 relation_ref 144002 // mOutputConnectorMap
+  from ref 132226 z 2001 to point 397 917
+  line 134146 z 2001 label "mOutputConnectorMap" italic xyz 230 904 2001 to point 173 917
+  line 134018 z 2001 to ref 132738
+  no_role_a no_role_b
+  multiplicity_a_pos 195 847 3000 no_multiplicity_b
+end
+relationcanvas 134530 relation_ref 145154 // <generalisation>
+  from ref 134402 z 2001 to ref 132226
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 134658 relation_ref 145282 // <generalisation>
+  from ref 130690 z 2001 to ref 132226
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 135170 relation_ref 145410 // <generalisation>
+  from ref 129410 z 2001 to point 788 214
+  line 136322 z 2001 to ref 135042
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 135426 relation_ref 145538 // mInput
+  from ref 135042 z 2006 to point 577 52
+  line 139522 z 2006 label "mInput" italic xyz 566 33 2006 to ref 135298
+  no_role_a no_role_b
+  multiplicity_a_pos 593 57 3000 no_multiplicity_b
+end
+relationcanvas 135682 relation_ref 145666 // mOutput
+  from ref 135042 z 2001 label "mOutput" italic xyz 497 85 2001 to ref 135554
+  no_role_a no_role_b
+  multiplicity_a_pos 459 81 3000 no_multiplicity_b
+end
+relationcanvas 135938 relation_ref 145794 // <generalisation>
+  from ref 135810 z 3006 to ref 135298
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 136194 relation_ref 145922 // <generalisation>
+  from ref 136066 z 3006 to ref 135554
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 137090 relation_ref 146050 // <generalisation>
+  from ref 136834 z 2006 stereotype "<<qt>>" xyz 468 1177 3000 to ref 136962
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 137218 relation_ref 146178 // <generalisation>
+  from ref 136706 z 2006 stereotype "<<wxWindow>>" xyz 344 1176 3000 to ref 136962
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 137346 relation_ref 146306 // <generalisation>
+  from ref 136962 z 2006 to ref 134402
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 138242 relation_ref 147586 // mBlackBoxMap
+  decenter_begin 861
+  from ref 129666 z 2001 label "mBlackBoxMap" italic xyz 563 240 3000 stereotype "<<map>>" xyz 581 252 3000 to point 641 227
+  line 140034 z 2001 to ref 135042
+  no_role_a no_role_b
+  multiplicity_a_pos 607 203 3000 no_multiplicity_b
+end
+relationcanvas 138626 relation_ref 147714 // (::WeakPointer)mFactorySet
+  from ref 129666 z 2001 label "(::WeakPointer)mFactorySet" italic xyz 575 362 3000 stereotype "<<set>>" xyz 584 334 3000 to point 612 345
+  line 139010 z 2001 to ref 128386
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 139266 relation_ref 147842 // (::WeakPointer)mAdaptorMapType
+  from ref 129666 z 2001 label "(::WeakPointer)mAdaptorMapType" italic xyz 336 203 3000 stereotype "<<map>>" xyz 446 234 3000 to point 419 191
+  line 139394 z 2001 to ref 135042
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+end
diff --git a/doc/bouml/bbtkk/128130 b/doc/bouml/bbtkk/128130
new file mode 100644 (file)
index 0000000..806fe45
--- /dev/null
@@ -0,0 +1,32 @@
+format 66
+"kernel" // bbtk::kernel
+  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
+  
+  package_ref 128258 // src
+
+  package_ref 131202 // appli
+end
diff --git a/doc/bouml/bbtkk/128258 b/doc/bouml/bbtkk/128258
new file mode 100644 (file)
index 0000000..6215b34
--- /dev/null
@@ -0,0 +1,7113 @@
+format 66
+"src" // bbtk::kernel::src
+  revision 4
+  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
+  
+  cpp_namespace "bbtk"
+  classview 128002 "src"
+    //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
+    classdiagram 128002 "bbtk-Class-Diagram"
+      draw_all_relations no 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
+      size A4
+    end
+
+    class 128002 "anyplaceholder"
+      abstract 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 "=========================================================
+/ Abstract class used by the any class to store values"
+      operation 128002 "~anyplaceholder"
+       cpp_virtual cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw} {};
+"
+       
+       
+       
+       
+       comment " structors"
+      end
+
+      operation 128130 "type"
+       abstract const cpp_virtual public explicit_return_type "std::type_info"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+       comment " queries
+/ returns the type of the held value"
+      end
+
+      operation 128258 "pointed_type"
+       abstract const cpp_virtual public explicit_return_type "std::type_info"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+       comment "/ returns the type of the pointed held value"
+      end
+
+      operation 128386 "is_pointer"
+       abstract const cpp_virtual public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+       comment "/ returns true iff the stored value is a pointer"
+      end
+
+      operation 128514 "get_pointer"
+       abstract const cpp_virtual public explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+       comment "/ If the held value is a pointer then 
+/ returns its value"
+      end
+
+      operation 128642 "get_pointer_to"
+       abstract const cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param in name "" explicit_type "std::type_info"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+       comment "/ "
+      end
+
+      operation 128770 "clone"
+       abstract const cpp_virtual public return_type class_ref 128002 // anyplaceholder
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 128130 "anyholder"
+      visibility package 
+      nformals 1
+      formal name "ValueType" type "typename" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "=========================================================
+=========================================================
+/ Concrete template class used by the any class to store values
+/ which stores a value of type ValueType"
+      classrelation 128002 // <generalisation>
+       relation 128002 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 128002 // <generalisation>
+         b parent class_ref 128002 // anyplaceholder
+      end
+
+      operation 128898 "anyholder"
+       cpp_inline public explicit_return_type ""
+       nparams 1
+         param in name "value" explicit_type "ValueType"
+       cpp_decl "    ${comment}${inline}${name}${(}const ${t0} & ${p0}${v0}${)}${volatile}${throw} : held(value)
+    {};
+"
+       
+       
+       
+       
+       comment " structors"
+      end
+
+      operation 129026 "type"
+       const cpp_virtual cpp_inline public explicit_return_type "std::type_info"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} { return typeid(ValueType);};
+"
+       
+       
+       
+       
+       comment " queries"
+      end
+
+      operation 129154 "is_pointer"
+       const cpp_virtual cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return false; };
+"
+       
+       
+       
+       
+      end
+
+      operation 129282 "pointed_type"
+       const cpp_virtual cpp_inline public explicit_return_type "std::type_info"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} { return typeid(void); };
+"
+       
+       
+       
+       
+      end
+
+      operation 129410 "get_pointer"
+       const cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} { return 0; };
+"
+       
+       
+       
+       
+      end
+
+      operation 129538 "get_pointer_to"
+       const cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "" explicit_type "std::type_info"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { return 0; };
+"
+       
+       
+       
+       
+      end
+
+      operation 129666 "clone"
+       const cpp_virtual cpp_inline public return_type class_ref 128002 // anyplaceholder
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} { return new anyholder(held); };
+"
+       
+       
+       
+       
+      end
+
+      attribute 128002 "held"
+       public explicit_type "ValueType"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 128258 "anyholder<ValueType*>"
+      visibility package 
+      nformals 1
+      formal name "ValueType" type "typename" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "=========================================================
+=========================================================
+/ specialization of anyholder for pointer types"
+      classrelation 128130 // <generalisation>
+       relation 128130 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 128130 // <generalisation>
+         b parent class_ref 128002 // anyplaceholder
+      end
+
+      operation 129794 "anyholder"
+       cpp_inline public explicit_return_type ""
+       nparams 1
+         param inout name "value" explicit_type "ValueType"
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} * const & ${p0}${v0}${)}${volatile}${throw} : held(value)
+    { };
+"
+       
+       
+       
+       
+       comment " structors"
+      end
+
+      operation 129922 "type"
+       const cpp_virtual cpp_inline public explicit_return_type "std::type_info"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      return typeid(ValueType*);
+    };
+"
+       
+       
+       
+       
+       comment " queries"
+      end
+
+      operation 130050 "is_pointer"
+       const cpp_virtual cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
+"
+       
+       
+       
+       
+      end
+
+      operation 130178 "pointed_type"
+       const cpp_virtual cpp_inline public explicit_return_type "std::type_info"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} { return typeid(ValueType); };
+"
+       
+       
+       
+       
+      end
+
+      operation 130306 "get_pointer"
+       const cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} { 
+      return (void*)held; 
+    };
+"
+       
+       
+       
+       
+      end
+
+      operation 130434 "get_pointer_to"
+       const cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "t" explicit_type "std::type_info"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { 
+      return run_time_up_or_down_cast(t,typeid(ValueType),held);
+    };
+"
+       
+       
+       
+       
+      end
+
+      operation 130562 "clone"
+       const cpp_virtual cpp_inline public return_type class_ref 128002 // anyplaceholder
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} { return new anyholder(held); };
+"
+       
+       
+       
+       
+      end
+
+      attribute 128130 "held"
+       public explicit_type "ValueType"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 128386 "any"
+      visibility package 
+      nformals 1
+      formal name "TypeTraits" type "template <class> class" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "=========================================================
+* A magic class which can store any type of data which 
+   * is allowed by the template template parameter TypeTrait.
+   *
+   * The only requirement on TypeTrait<T> is to have the member :
+   *    static const bool value;
+   * which is true iff the type T is an allowed type 
+   * 
+   * TypeTraits compliant objects are usually template structs 
+   * for which the initialisation of value is set to false by default 
+   * and set to true for the allowed types (template specialisation)
+   * Example :
+   *   template <typename T> struct mytypes { static const bool value; };
+   *   template <typename T> const bool mytypes<T>::value = false;
+   *   template <> const bool mytypes<int>::value = true;
+   *   template <> const bool mytypes<float>::value = true; 
+   * etc.
+   * You can use any boost type_trait, like is_pointer, is_floating_point, etc.
+   *
+   * The class any is a generalisation of the boost::any class 
+   * (see http://www.boost.org/doc/html/any.html).
+   * The boost::any class itself is reproduced by any<thing>,
+   * where thing is a TypeTrait whose value is true for all types.
+   *"
+      class 128514 "self"
+       visibility package stereotype "typedef" explicit_base_type "any< TypeTraits >"
+       cpp_decl "${comment}typedef ${type} ${name};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      operation 130690 "any"
+       cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw} : content(0)
+    {
+    };
+"
+       
+       
+       
+       
+       comment " structors
+/ Default constructor"
+      end
+
+      operation 130818 "any"
+       stereotype "template"
+       cpp_inline public explicit_return_type ""
+       nparams 1
+         param in name "value" explicit_type "ValueType"
+       cpp_decl "    ${comment}template<typename ValueType>
+  ${inline}${name}${(}const ${t0} & ${p0}${v0}${)}${volatile}${throw} : content(0)
+    {
+      bbtkDebugMessage(\"Data\",1,
+                      bbtk::HumanTypeName<self>()<<\" construction with <\"
+                      <<bbtk::HumanTypeName<ValueType>()<<\">\"<<std::endl);
+      //      ValueType v = value;
+      //      int** i = (int**)(&v);
+      //      std::cout << \"v=\"<<*i<<std::endl;
+      
+      if (accepts<ValueType>()) 
+       { 
+         content = new anyholder<ValueType>(value);
+       }
+      else 
+       {
+         bbtkError(bbtk::HumanTypeName<self>()
+                   <<\" constructor : data of type <\"
+                   <<bbtk::HumanTypeName<ValueType>()
+                   <<\"> are not accepted by traits <\"
+                   <<bbtk::HumanTypeName<TypeTraits<void> >()<<\"> \");
+       }
+    };
+"
+       
+       
+       
+       
+       comment "/ Constructor with a value of template type"
+      end
+
+      operation 130946 "any"
+       cpp_inline public explicit_return_type ""
+       nparams 1
+         param in name "other" type class_ref 128386 // any
+       cpp_decl "    ${comment}${inline}${name}${(}const ${t0} & ${p0}${v0}${)}${volatile}${throw} : content(other.content ? other.content->clone() : 0)
+    {
+      bbtkDebugMessage(\"Data\",1,
+                      HumanTypeName<self>()
+                      <<\" copy construction with new content : \"
+                      <<HumanTypeName(type())
+                      <<std::endl);
+    };
+"
+       
+       
+       
+       
+       comment "/ Copy constructor"
+      end
+
+      operation 131074 "~any"
+       cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw} {
+      delete content;
+    };
+"
+       
+       
+       
+       
+       comment "/ Destructor"
+      end
+
+      operation 131202 "swap"
+       cpp_inline public return_type class_ref 128386 // any
+       nparams 1
+         param inout name "rhs" type class_ref 128386 // any
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+      std::swap(content, rhs.content);
+      return *this;
+    };
+"
+       
+       
+       
+       
+       comment "/ Swaps the content of this with another any"
+      end
+
+      operation 131330 "operator ="
+       stereotype "template"
+       cpp_inline public return_type class_ref 128386 // any
+       nparams 1
+         param in name "rhs" explicit_type "ValueType"
+       cpp_decl "    ${comment}template<typename ValueType>
+  ${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+      bbtkDebugMessage(\"Data\",1,
+                      HumanTypeName<self>()
+                      <<\" operator= with data of type <\"
+                      <<HumanTypeName<ValueType>()
+                      <<\">\"<<std::endl);
+      if (accepts<ValueType>()) 
+       {
+         any(rhs).swap(*this);
+         return *this;
+       }
+      else 
+       {
+         bbtkError(HumanTypeName<self>()
+                   <<\" operator= : data of type <\"
+                   <<HumanTypeName<ValueType>()
+                   <<\"> are not accepted by traits <\"
+                   <<HumanTypeName<TypeTraits<void> >()<<\"> \");
+       }
+    
+    };
+"
+       
+       
+       
+       
+       comment "/ Affectation of a value of template type"
+      end
+
+      operation 131458 "operator ="
+       cpp_inline public return_type class_ref 128386 // any
+       nparams 1
+         param in name "rhs" type class_ref 128386 // any
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+       bbtkDebugMessage(\"Data\",1,
+                        HumanTypeName<self >()
+                        <<\" operator=(const any&) with content : \"
+                        <<HumanTypeName(rhs.type())<<std::endl);
+
+      any(rhs).swap(*this);
+      return *this;
+    };
+"
+       
+       
+       
+       
+       comment "/ Affectation of another any"
+      end
+
+      operation 131586 "empty"
+       const cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      return !content;
+    };
+"
+       
+       
+       
+       
+       comment "/ Is it empty (no value held) ?"
+      end
+
+      operation 131714 "type"
+       const cpp_inline public explicit_return_type "std::type_info"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      return content ? content->type() : typeid(void);
+    };
+"
+       
+       
+       
+       
+       comment "/ Returns the type_info of the held value"
+      end
+
+      operation 131842 "pointed_type"
+       const cpp_inline public explicit_return_type "std::type_info"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      return content ? content->pointed_type() : typeid(void);
+    };
+"
+       
+       
+       
+       
+       comment "/ Returns the type_info of the pointed held value"
+      end
+
+      operation 131970 "contains"
+       stereotype "template"
+       cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}template<typename Type>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      return ( type() == typeid(Type) );
+    };
+"
+       
+       
+       
+       
+       comment "/ Returns true iff the contained type is Type"
+      end
+
+      operation 132098 "contains_pointer"
+       cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      return content ? content->is_pointer() : false;
+    };
+"
+       
+       
+       
+       
+       comment "/ Returns true iff the contained type is a pointer"
+      end
+
+      operation 132226 "contains"
+       cpp_inline public explicit_return_type "bool"
+       nparams 1
+         param in name "t" type class_ref 128642 // TypeInfo
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+      return ( (bool)((type() == t)!=0) );
+     };
+"
+       
+       
+       
+       
+       comment "/ Returns true iff the contained type is t"
+      end
+
+      operation 132354 "accepts"
+       stereotype "template"
+       cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}template<typename Type>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      return TypeTraits<Type>::value; //is_valid();
+    };
+"
+       
+       
+       
+       
+       comment "/ Returns true iff any of type ValueType can be held "
+      end
+
+      operation 132482 "get"
+       stereotype "template"
+       const cpp_inline public explicit_return_type "ValueType"
+       nparams 0
+       cpp_decl "    ${comment}template<typename ValueType>
+  ${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+       bbtkDebugMessage(\"Data\",1,
+                        HumanTypeName<self >()
+                        <<\" get<\"<<HumanTypeName<ValueType>()
+                        <<\"> with content : \"
+                        <<HumanTypeName(type())<<std::endl);
+
+      if ( type() == typeid(ValueType) )
+       return static_cast< anyholder<ValueType> *>(content)->held;
+
+      bbtkError(HumanTypeName<self >()
+               <<\" get with type <\"
+               <<bbtk::HumanTypeName<ValueType>()
+               <<\"> does not match content type <\"
+               <<bbtk::HumanTypeName<>(type())<<\">\");
+    };
+"
+       
+       
+       
+       
+       comment "/ Returns a const reference on the held value iff its type matches 
+/ the template parameter  "
+      end
+
+      operation 132610 "getP"
+       stereotype "template"
+       const cpp_inline public explicit_return_type "ValueType"
+       nparams 0
+       cpp_decl "    ${comment}template<typename ValueType>
+  ${friend}${static}${inline}${virtual}const ${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      if ( type() == typeid(ValueType) )
+       return &static_cast< anyholder<ValueType> *>(content)->held;
+      bbtkError(HumanTypeName<self >()
+               <<\" getP with type <\"
+               <<bbtk::HumanTypeName<ValueType>()
+               <<\"> does not match content type <\"
+               <<bbtk::HumanTypeName<>(type())<<\">\");
+    };
+"
+       
+       
+       
+       
+      end
+
+      operation 132738 "unsafe_get"
+       stereotype "template"
+       const cpp_inline public explicit_return_type "ValueType"
+       nparams 0
+       cpp_decl "    ${comment}template<typename ValueType>
+  ${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+       bbtkDebugMessage(\"Data\",1,
+                        HumanTypeName<self>()
+                        <<\"::unsafe_get<\"
+                        <<HumanTypeName<ValueType>()<<\"> with content : \"
+                        <<HumanTypeName(this->type())
+                        <<std::endl);
+
+       //      PrintValueIfIsPointer<ValueType>(static_cast< anyholder<ValueType> * >(content)->held);
+       //      int** i = (int**)(&static_cast< anyholder<ValueType> * >(content)->held);
+       //      std::cout << \"v=\"<<*i<<std::endl;
+
+       if (content) 
+         return static_cast< anyholder<ValueType> * >(content)->held;
+       
+       bbtkError(HumanTypeName<self >()
+                 <<\"::usafe_get<\"
+                 <<bbtk::HumanTypeName<ValueType>()
+                 <<\"> : void content\");
+    };
+"
+       
+       
+       
+       
+       comment "/ Returns a const reference on the held value 
+/ ** EVEN IF ITS TYPE DOES NOT MATCH THE TEMPLATE PARAMETER **
+/ Hence must be used when one knows that the type is good
+/ Otherwise can lead to unpredictible results "
+      end
+
+      operation 132866 "get_pointer"
+       const cpp_inline public explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      void* p = content->get_pointer();
+      bbtkDebugMessage(\"Data\",1,
+                      HumanTypeName<self>()
+                      <<\"::get_pointer() with content <\"
+                      <<HumanTypeName(this->type())
+                      <<\"> : result = \"
+                      << p
+                      <<std::endl);
+      return p;
+    };
+"
+       
+       
+       
+       
+      end
+
+      operation 132994 "get_pointer_to"
+       const cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "t" explicit_type "std::type_info"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+      void* p = content->get_pointer_to(t);
+      bbtkDebugMessage(\"Data\",1,
+                      HumanTypeName<self>()
+                      <<\"::get_pointer_to(\"<<HumanTypeName(t)
+                      <<\") with content <\"
+                      <<HumanTypeName(this->type())
+                      <<\"> : result = \"
+                      << p
+                      <<std::endl);
+      return p;
+    };
+"
+       
+       
+       
+       
+      end
+
+      classrelation 128258 // content (<unidirectional association>)
+       relation 128258 --->
+         a role_name "content" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 128258 // content (<unidirectional association>)
+         b parent class_ref 128002 // anyplaceholder
+      end
+    end
+
+    class 128642 "TypeInfo"
+      visibility package stereotype "typedef" explicit_base_type "std::type_info"
+      cpp_decl "${comment}typedef  const ${type}&  ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "/ The bbtk::TypeInfo type is a const ref on std::type_info (which can only be manipulated as such (because typeid returns const std::type_info& and type_info has all constructors private)) "
+    end
+
+    class 128770 "thing"
+      visibility package stereotype "struct"
+      nformals 1
+      formal name "T" type "typename" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "/ The TypeTraits which validates any type "
+      attribute 128258 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 128898 "integer"
+      visibility package stereotype "struct"
+      nformals 1
+      formal name "T" type "typename" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "/ The TypeTraits which validates all integer types"
+      attribute 128386 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "= false"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 129026 "floating_point"
+      visibility package stereotype "struct"
+      nformals 1
+      formal name "T" type "typename" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "/ The TypeTraits which validates all floating point number types"
+      attribute 128514 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "= false"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 129154 "number"
+      visibility package stereotype "struct"
+      nformals 1
+      formal name "T" type "typename" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "/ The TypeTraits which validates all numerical types"
+      attribute 128642 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "= 
+            integer<T>::value || floating_point<T>::value "
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 129282 "AtomicBlackBoxSetFunctor"
+      abstract 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 "===========================================================================
+==========================================================================="
+      operation 133122 "AtomicBlackBoxSetFunctor"
+       cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw} {};
+"
+       
+       
+       
+       
+       comment "/ Default constructor"
+      end
+
+      operation 133250 "~AtomicBlackBoxSetFunctor"
+       cpp_virtual cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw} {};
+"
+       
+       
+       
+       
+       comment "/ Dtor"
+      end
+
+      operation 133378 "Set"
+       abstract cpp_virtual public explicit_return_type "void"
+       nparams 2
+         param inout name "o" explicit_type "AtomicBlackBox"
+         param in name "" type class_ref 129410 // Data
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+       comment "/ Abstract method which applies the \"Set\" function of AtomicBlackBox o"
+      end
+
+      operation 133506 "GetTypeInfo"
+       abstract const cpp_virtual public return_type class_ref 128642 // TypeInfo
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+       comment "/ "
+      end
+
+      operation 133634 "GetTypeName"
+       abstract const cpp_virtual public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+       comment "/ "
+      end
+
+      operation 133762 "GetHumanTypeName"
+       abstract const cpp_virtual public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+       comment "/ "
+      end
+
+      operation 133890 "IsPointerType"
+       abstract const cpp_virtual public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+       comment "/ "
+      end
+
+      operation 134018 "BruteForceSetPointer"
+       abstract cpp_virtual public explicit_return_type "void"
+       nparams 2
+         param inout name "o" explicit_type "AtomicBlackBox"
+         param inout name "p" explicit_type "void"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
+"
+       
+       
+       
+       
+       comment "/ Abstract method which applies the \"Set\" function of AtomicBlackBox o
+/ using brute force cast to the typed pointer required by the \"Set\" fun.
+/ Only works if the param type of the \"Set\" function is a pointer 
+/ (see template specialization below).
+/ !!! Use with care !!!"
+      end
+    end
+
+    class 129410 "Data"
+      visibility package stereotype "typedef" base_type class_ref 128770 // thing
+      cpp_decl "${comment}typedef any<${type}> ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "/ The generic type of \"data\" exchanged between black boxes"
+      classrelation 129154 // <dependency>
+       relation 129154 -_->
+         a default
+           cpp default "#include in source"
+           classrelation_ref 129154 // <dependency>
+         b parent class_ref 128770 // thing
+      end
+    end
+
+    class 129538 "AtomicBlackBoxTGetFunctor"
+      visibility package 
+      nformals 3
+      formal name "UBB" type "class" explicit_default_value ""
+        explicit_extends ""
+      formal name "T" type "class" explicit_default_value ""
+        explicit_extends ""
+      formal name "TRETURN" type "class" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "===========================================================================
+==========================================================================="
+      classrelation 128386 // <generalisation>
+       relation 128386 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 128386 // <generalisation>
+         b parent class_ref 129666 // typedef1
+      end
+
+      class 129794 "GetMethodPointerType"
+       visibility package stereotype "typedef" explicit_base_type "TRETURN"
+       cpp_decl "${comment}typedef ${type}(UBB::* ${name})(void);
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      operation 134146 "AtomicBlackBoxTGetFunctor"
+       cpp_inline public explicit_return_type ""
+       nparams 1
+         param in name "g" type class_ref 129794 // GetMethodPointerType
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}${)}${volatile}${throw} :
+      mGetMethodPointer(g)
+      {
+       bbtkDebugMessage(\"data\",9,\"AtomicBlackBoxTGetFunctor<\"<<
+                        TypeName<UBB>()<<\",\"<<
+                        TypeName<T>()<<\",\"<<
+                        TypeName<TRETURN>()<<
+                        \">::AtomicBlackBoxTGetFunctor()\"<<std::endl);
+      };
+"
+       
+       
+       
+       
+       comment "/ Construction with the pointer on the Get method"
+      end
+
+      operation 134274 "Get"
+       cpp_inline public return_type class_ref 129410 // Data
+       nparams 1
+         param inout name "o" explicit_type "AtomicBlackBox"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+      bbtkDebugMessage(\"data\",9,\"AtomicBlackBoxTGetFunctor<\"<<
+                      TypeName<UBB>()<<\",\"<<
+                      TypeName<T>()<<\",\"<<
+                      TypeName<TRETURN>()<<
+                      \">::Get()\"<<std::endl);
+      return (((UBB*)o)->*mGetMethodPointer)();
+    };
+"
+       
+       
+       
+       
+       comment "/ Concrete application of the Get method of object o"
+      end
+
+      operation 134402 "GetTypeInfo"
+       const cpp_inline public return_type class_ref 128642 // TypeInfo
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return typeid(T); };
+"
+       
+       
+       
+       
+       comment "/ "
+      end
+
+      operation 134530 "GetTypeName"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return TypeName<T>(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 134658 "GetHumanTypeName"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return HumanTypeName<T>(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 134786 "IsPointerType"
+       const cpp_virtual cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      return boost::is_pointer<T>::value;
+    };
+"
+       
+       
+       
+       
+       comment "/ "
+      end
+
+      classrelation 128514 // mGetMethodPointer (<directional composition>)
+       relation 128514 *-->
+         a role_name "mGetMethodPointer" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+           classrelation_ref 128514 // mGetMethodPointer (<directional composition>)
+         b parent class_ref 129794 // GetMethodPointerType
+      end
+    end
+
+    class 129666 "typedef1"
+      visibility package stereotype "typedef" explicit_base_type "bbtk::AtomicBlackBoxGetFunctor"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 129922 "AtomicBlackBoxTSetFunctor"
+      visibility package 
+      nformals 3
+      formal name "UBB" type "class" explicit_default_value ""
+        explicit_extends ""
+      formal name "T" type "class" explicit_default_value ""
+        explicit_extends ""
+      formal name "TACCESS" type "class" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "===========================================================================
+==========================================================================="
+      classrelation 128642 // <generalisation>
+       relation 128642 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 128642 // <generalisation>
+         b parent class_ref 129282 // AtomicBlackBoxSetFunctor
+      end
+
+      class 130050 "SetMethodPointerType"
+       visibility package stereotype "typedef" explicit_base_type "void"
+       cpp_decl "${comment}typedef ${type}(UBB::* ${name})(TACCESS);
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      operation 134914 "AtomicBlackBoxTSetFunctor"
+       cpp_inline public explicit_return_type ""
+       nparams 1
+         param in name "s" type class_ref 130050 // SetMethodPointerType
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}${)}${volatile}${throw} :
+      mSetMethodPointer(s) 
+      {
+       bbtkDebugMessage(\"data\",9,\"AtomicBlackBoxTSetFunctor<\"<<
+                       TypeName<UBB>()<<\",\"<<
+                       TypeName<T>()<<\",\"<<
+                       TypeName<TACCESS>()<<
+                        \">::AtomicBlackBoxTSetFunctor()\"<<std::endl);
+      };
+"
+       
+       
+       
+       
+       comment "/ Construction with the pointer on the Set method"
+      end
+
+      operation 135042 "Set"
+       cpp_inline public explicit_return_type "void"
+       nparams 2
+         param inout name "o" explicit_type "AtomicBlackBox"
+         param in name "d" type class_ref 129410 // Data
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract} { 
+      bbtkDebugMessage(\"data\",9,\"AtomicBlackBoxTSetfunctor<\"<<
+                       TypeName<UBB>()<<\",\"<<
+                       TypeName<T>()<<\",\"<<
+                       TypeName<TACCESS>()<<
+                      \">::Set()\"<<std::endl);
+      //      (((UBB*)o)->*mSetMethodPointer)(*(T*)d);
+      //      bbtkAssert( bbtkEqualTypes( d.type(), typeid(T) ) );
+      T t = d.unsafe_get<T>();
+      (((UBB*)o)->*mSetMethodPointer)(t);
+      //      bbtkDebugMessage(\"Kernel\",9,\"SetOK\"<<std::endl);
+    };
+"
+       
+       
+       
+       
+       comment "/ Concrete application of the Set method of object o"
+      end
+
+      operation 135170 "GetTypeInfo"
+       const cpp_inline public return_type class_ref 128642 // TypeInfo
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return typeid(T); };
+"
+       
+       
+       
+       
+       comment "/ "
+      end
+
+      operation 135298 "GetTypeName"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return TypeName<T>(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 135426 "GetHumanTypeName"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return HumanTypeName<T>(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 135554 "IsPointerType"
+       const cpp_virtual cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return false; };
+"
+       
+       
+       
+       
+      end
+
+      operation 135682 "BruteForceSetPointer"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 2
+         param inout name "b" explicit_type "AtomicBlackBox"
+         param inout name "p" explicit_type "void"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}${)}${const}${volatile}${throw}${abstract} {
+      bbtkInternalError(\"AtomicBlackBoxTSetFunctor<\"
+                       <<TypeName<UBB>()<<\",\"
+                       <<TypeName<T>()<<\",\"
+                       <<TypeName<TACCESS>()
+                       <<\">::BruteForceSetPointer(\"
+                       <<b<<\",\"<<p<<\")\"
+                       <<\" called whereas type '\"
+                       <<TypeName<T>()
+                       <<\"' is not a pointer type\"); 
+    };
+"
+       
+       
+       
+       
+      end
+
+      classrelation 128770 // mSetMethodPointer (<directional composition>)
+       relation 128770 *-->
+         a role_name "mSetMethodPointer" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+           classrelation_ref 128770 // mSetMethodPointer (<directional composition>)
+         b parent class_ref 130050 // SetMethodPointerType
+      end
+    end
+
+    class 130178 "AtomicBlackBoxTSetFunctor<UBB,T*,TACCESS*>"
+      visibility package 
+      nformals 3
+      formal name "UBB" type "class" explicit_default_value ""
+        explicit_extends ""
+      formal name "T" type "class" explicit_default_value ""
+        explicit_extends ""
+      formal name "TACCESS" type "class" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "===========================================================================
+===========================================================================
+/ Template specialization of AtomicBlackBoxTSetFunctor for pointer types"
+      classrelation 128898 // <generalisation>
+       relation 128898 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 128898 // <generalisation>
+         b parent class_ref 129282 // AtomicBlackBoxSetFunctor
+      end
+
+      class 130306 "SetMethodPointerType"
+       visibility package stereotype "typedef" explicit_base_type "void"
+       cpp_decl "${comment}typedef ${type}(UBB::* ${name})(TACCESS*);
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      operation 135810 "AtomicBlackBoxTSetFunctor"
+       cpp_inline public explicit_return_type ""
+       nparams 1
+         param in name "s" type class_ref 130306 // SetMethodPointerType
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}${)}${volatile}${throw} :
+      mSetMethodPointer(s) 
+    {
+      bbtkDebugMessage(\"data\",9,\"AtomicBlackBoxTSetFunctor<\"<<
+                      TypeName<UBB>()<<\",\"<<
+                      TypeName<T*>()<<\",\"<<
+                      TypeName<TACCESS*>()<<
+                      \">::AtomicBlackBoxTSetFunctor()\"<<std::endl);
+    };
+"
+       
+       
+       
+       
+       comment "/ Construction with the pointer on the Set method"
+      end
+
+      operation 135938 "Set"
+       cpp_inline public explicit_return_type "void"
+       nparams 2
+         param inout name "o" explicit_type "AtomicBlackBox"
+         param in name "d" type class_ref 129410 // Data
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract} { 
+      bbtkDebugMessage(\"data\",9,\"AtomicBlackBoxTSetfunctor<\"<<
+                      TypeName<UBB>()<<\",\"<<
+                      TypeName<T*>()<<\",\"<<
+                      TypeName<TACCESS*>()<<
+                      \">::Set()\"<<std::endl);
+      
+      (((UBB*)o)->*mSetMethodPointer)(d.unsafe_get<T*>());
+
+    };
+"
+       
+       
+       
+       
+       comment "/ Concrete application of the Set method of object o"
+      end
+
+      operation 136066 "GetTypeInfo"
+       const cpp_inline public return_type class_ref 128642 // TypeInfo
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return typeid(T*); };
+"
+       
+       
+       
+       
+       comment "/ "
+      end
+
+      operation 136194 "GetTypeName"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return TypeName<T*>(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 136322 "GetHumanTypeName"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return HumanTypeName<T*>(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 136450 "IsPointerType"
+       const cpp_virtual cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
+"
+       
+       
+       
+       
+      end
+
+      operation 136578 "BruteForceSetPointer"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 2
+         param inout name "o" explicit_type "AtomicBlackBox"
+         param inout name "p" explicit_type "void"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}${)}${const}${volatile}${throw}${abstract} {  
+      bbtkDebugMessage(\"data\",9,\"AtomicBlackBoxTSetFunctor<\"
+                      <<TypeName<UBB>()<<\",\"
+                      <<TypeName<T*>()<<\",\"
+                      <<TypeName<TACCESS*>()
+                      <<\">::BruteForceSetPointer() (pointer specialization)\");
+
+      (((UBB*)o)->*mSetMethodPointer)((T*)p);
+
+    };
+"
+       
+       
+       
+       
+      end
+
+      classrelation 129026 // mSetMethodPointer (<directional composition>)
+       relation 129026 *-->
+         a role_name "mSetMethodPointer" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+           classrelation_ref 129026 // mSetMethodPointer (<directional composition>)
+         b parent class_ref 130306 // SetMethodPointerType
+      end
+    end
+
+    class 130434 "Void"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      operation 136706 "Void"
+       cpp_inline public explicit_return_type ""
+       nparams 1
+         param in name "" explicit_type "int"
+           defaultvalue "0"
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}${)}${volatile}${throw} {};
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 130562 "ComplexBlackBoxPointer"
+      visibility package stereotype "typedef" explicit_base_type "boost::shared_ptr<ComplexBlackBox>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 130690 "IOStatus"
+      visibility package stereotype "typedef" explicit_base_type "unsigned char"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "/ The type of input / output status "
+    end
+
+    class 130818 "DataInfo"
+      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 "/ Object storing informations on a data type : includes C++ type info (std::type_info) and a string describing the \"nature\" of the data (what is the content of the structure)"
+      operation 136834 "DataInfo"
+       cpp_inline public explicit_return_type ""
+       nparams 2
+         param in name "type" type class_ref 128642 // TypeInfo
+         param in name "nature" explicit_type "std::string"
+           defaultvalue "\"\""
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${volatile}${throw} : mType(type), mNature(nature)
+    {};
+"
+       
+       
+       
+       
+      end
+
+      operation 136962 "~DataInfo"
+       cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw} {};
+"
+       
+       
+       
+       
+      end
+
+      operation 137090 "GetType"
+       const cpp_inline public return_type class_ref 128642 // TypeInfo
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return mType; };
+"
+       
+       
+       
+       
+      end
+
+      operation 137218 "GetNature"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} { return mNature; };
+"
+       
+       
+       
+       
+      end
+
+      operation 137346 "operator =="
+       const cpp_inline public explicit_return_type "bool"
+       nparams 1
+         param in name "k" type class_ref 130818 // DataInfo
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+       return ( (mType == k.mType)  &&
+                (mNature == k.mNature) );
+      };
+"
+       
+       
+       
+       
+       comment "/ Equality"
+      end
+
+      operation 137474 "operator <"
+       const cpp_inline public explicit_return_type "bool"
+       nparams 1
+         param in name "k" type class_ref 130818 // DataInfo
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+       return ( ( mType.before(k.mType) ) ||
+                ( ( mType == k.mType ) &&
+                  ( mNature.compare(k.mNature) < 0 ) ) );
+      };
+"
+       
+       
+       
+       
+       comment "/ Comparison"
+      end
+
+      operation 137602 "DataInfo"
+       cpp_inline private explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw} : mType(typeid(void)), mNature(\"\") {};
+"
+       
+       
+       
+       
+      end
+
+      classrelation 129282 // mType (<directional composition>)
+       relation 129282 *-->
+         a role_name "mType" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+           classrelation_ref 129282 // mType (<directional composition>)
+         b parent class_ref 128642 // TypeInfo
+      end
+
+      attribute 128770 "mNature"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 130946 "DynamicLibraryHandler"
+      visibility package stereotype "typedef" explicit_base_type "HINSTANCE"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " dl handler type"
+    end
+
+    class 131074 "Executer"
+      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 129410 // <generalisation>
+       relation 129410 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 129410 // <generalisation>
+         b parent class_ref 131202 // typedef2
+      end
+
+      class 131330 "Superclass"
+       visibility package stereotype "typedef" explicit_base_type "VirtualExec"
+       cpp_decl "${comment}typedef ${type} ${name};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      operation 137730 "New"
+       class_operation public explicit_return_type "Pointer"
+       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 137858 "GetFactory"
+       cpp_inline public explicit_return_type "Factory::Pointer"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return mFactory; };
+"
+       
+       
+       
+       
+       comment "/ Gets the factory used by the executer"
+      end
+
+      operation 137986 "SetInputs"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "m" explicit_type "std::map<std::string,std::string>"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { mInputs = m; };
+"
+       
+       
+       
+       
+       comment "/ Gets the factory used by the executer (const)
+    const Factory::Pointer GetFactory() const { return mFactory; }
+/ Sets the inputs of the workspace : "
+      end
+
+      operation 138114 "SetNoExecMode"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "b" explicit_type "bool"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { mNoExecMode = b; };
+"
+       
+       
+       
+       
+       comment "/ Puts the executer in \"no exec\" mode, 
+/ which creates but does not execute pipelines "
+      end
+
+      operation 138242 "GetNoExecMode"
+       const cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return mNoExecMode; };
+"
+       
+       
+       
+       
+      end
+
+      operation 138370 "SetDialogMode"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "t" explicit_type "DialogModeType"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { mDialogMode = t; };
+"
+       
+       
+       
+       
+       comment "/ Sets the mode of dialog of the executer for Root inputs "
+      end
+
+      operation 138498 "SetNoErrorMode"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "b" explicit_type "bool"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { mNoErrorMode = b; };
+"
+       
+       
+       
+       
+      end
+
+      operation 138626 "GetNoErrorMode"
+       const cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return mNoErrorMode; };
+"
+       
+       
+       
+       
+      end
+
+      operation 138754 "LoadPackage"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "name" explicit_type "std::string"
+       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 "=================================================================
+/ Loads a package"
+      end
+
+      operation 138882 "UnLoadPackage"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "name" explicit_type "std::string"
+       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 "/ Unloads a package"
+      end
+
+      operation 139010 "BeginPackage"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "name" explicit_type "std::string"
+       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 "/ Starts a package block       "
+      end
+
+      operation 139138 "EndPackage"
+       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 "/ Ends a package block"
+      end
+
+      operation 139266 "Define"
+       public explicit_return_type "void"
+       nparams 3
+         param in name "name" explicit_type "std::string"
+         param in name "pack" explicit_type "std::string"
+         param in name "scriptfilename" explicit_type "std::string"
+       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 "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Starts the definition of a new ComplexBlackBox in package pack
+/ scriptfilename is the file from which the def is read"
+      end
+
+      operation 139394 "SetCurrentFileName"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "name" explicit_type "std::string"
+       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 file name to use for the current definition
+/ (Used to set it after the Define command)"
+      end
+
+      operation 139522 "EndDefine"
+       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 "/ End the definition of a ComplexBlackBox"
+      end
+
+      operation 139650 "Kind"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "kind" explicit_type "std::string"
+       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 kind of the currently defined ComplexBlackBox"
+      end
+
+      operation 139778 "Create"
+       public explicit_return_type "void"
+       nparams 2
+         param in name "boxType" explicit_type "std::string"
+         param in name "boxName" explicit_type "std::string"
+       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 "/ Creates a new black box in current complex box"
+      end
+
+      operation 139906 "Destroy"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "boxName" explicit_type "std::string"
+       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 "/ Destroys a black box"
+      end
+
+      operation 140034 "Clear"
+       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 "/ Clears the currently defined ComplexBlackBox"
+      end
+
+      operation 140162 "Connect"
+       public explicit_return_type "void"
+       nparams 4
+         param in name "boxfrom" explicit_type "std::string"
+         param in name "output" explicit_type "std::string"
+         param in name "boxto" explicit_type "std::string"
+         param in name "input" explicit_type "std::string"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Connects the output boxOutput to the input boxInput"
+      end
+
+      operation 140290 "Execute"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "box" explicit_type "std::string"
+       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 "/ Executes the box "
+      end
+
+      operation 140418 "DefineInput"
+       public explicit_return_type "void"
+       nparams 4
+         param in name "name" explicit_type "std::string"
+         param in name "box" explicit_type "std::string"
+         param in name "input" explicit_type "std::string"
+         param in name "help" explicit_type "std::string"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Defines an input of the current complex box"
+      end
+
+      operation 140546 "DefineOutput"
+       public explicit_return_type "void"
+       nparams 4
+         param in name "name" explicit_type "std::string"
+         param in name "box" explicit_type "std::string"
+         param in name "output" explicit_type "std::string"
+         param in name "help" explicit_type "std::string"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Defines an output of the current complex box"
+      end
+
+      operation 140674 "Set"
+       public explicit_return_type "void"
+       nparams 3
+         param in name "box" explicit_type "std::string"
+         param in name "input" explicit_type "std::string"
+         param in name "value" explicit_type "std::string"
+       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 "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ sets the input of the box with the value"
+      end
+
+      operation 140802 "Get"
+       public explicit_return_type "std::string"
+       nparams 2
+         param in name "box" explicit_type "std::string"
+         param in name "output" explicit_type "std::string"
+       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 "/ gets the output of the box"
+      end
+
+      operation 140930 "SetWorkspaceName"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "n" explicit_type "std::string"
+       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 "/ changes the workspace name"
+      end
+
+      operation 141058 "Author"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "authorName" explicit_type "std::string"
+       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 "/Adds the authorName to the Box author list"
+      end
+
+      operation 141186 "Category"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "category" explicit_type "std::string"
+       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 "/Adds the Categories to the Box category list"
+      end
+
+      operation 141314 "Description"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "d" explicit_type "std::string"
+       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 "/ The description string which explains what does the ComplexBox"
+      end
+
+      operation 141442 "PrintBoxes"
+       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 "/ prints the list off the boxes of the current box"
+      end
+
+      operation 141570 "ShowGraph"
+       public explicit_return_type "std::string"
+       nparams 7
+         param in name "nameblackbox" explicit_type "std::string"
+         param in name "detailStr" explicit_type "std::string"
+         param in name "levelStr" explicit_type "std::string"
+         param in name "output_file" explicit_type "std::string"
+         param in name "custom_header" explicit_type "std::string"
+         param in name "custom_title" explicit_type "std::string"
+         param in name "system_display" explicit_type "bool"
+           defaultvalue "true"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}, const ${t4} & ${p4}${v4}, const ${t5} & ${p5}${v5}, ${t6} ${p6}${v6}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}, const ${t5} & ${p5}, ${t6} ${p6}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Generate a HTML with a gif file with the current pipeline (Graphviz-dot needed). Returns the file path"
+      end
+
+      operation 141698 "ShowGraphInstances"
+       public explicit_return_type "std::string"
+       nparams 4
+         param in name "nameblackbox" explicit_type "std::string"
+         param in name "detail" explicit_type "int"
+         param in name "level" explicit_type "int"
+         param in name "system_display" explicit_type "bool"
+           defaultvalue "true"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} ${p1}${v1}, ${t2} ${p2}${v2}, ${t3} ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Generate a HTML with a gif file with the current pipeline (Graphviz-dot needed). Returns the file path"
+      end
+
+      operation 141826 "ShowRelations"
+       public explicit_return_type "void"
+       nparams 3
+         param in name "nameblackbox" explicit_type "std::string"
+         param in name "detailStr" explicit_type "std::string"
+         param in name "levelStr" explicit_type "std::string"
+       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 "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Description of the actual pipeline"
+      end
+
+      operation 141954 "Reset"
+       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 "/ Resets the workspace : destroys all boxes / unloads all packages"
+      end
+
+      operation 142082 "SetMessageLevel"
+       public explicit_return_type "void"
+       nparams 2
+         param in name "kind" explicit_type "std::string"
+         param in name "level" 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 "/ Sets the level of message for kind"
+      end
+
+      operation 142210 "HelpMessages"
+       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 "/ Prints help on the messages"
+      end
+
+      operation 142338 "Print"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "message" explicit_type "std::string"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 142466 "GetWorkspace"
+       cpp_inline public explicit_return_type "ComplexBlackBoxDescriptor::Pointer"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return mRootCBB.lock(); };
+"
+       
+       
+       
+       
+       comment "  static const std::string& GetObjectDescription();
+  { static std::string s(\"Executer\"); return s; }"
+      end
+
+      operation 142594 "GetUserPackage"
+       cpp_inline public explicit_return_type "Package::Pointer"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return mRootPackage.lock(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 142722 "GetCurrentDescriptor"
+       cpp_inline public explicit_return_type "ComplexBlackBoxDescriptor::Pointer"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return mOpenDefinition.back().box; };
+"
+       
+       
+       
+       
+       comment "/ Gets the current working black box "
+      end
+
+      attribute 128898 "mFactory"
+       private explicit_type "Factory::Pointer"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 129026 "mRootPackage"
+       private explicit_type "Package::WeakPointer"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 129154 "mRootCBB"
+       private explicit_type "ComplexBlackBoxDescriptor::WeakPointer"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      class 131458 "CBBDefinition"
+       visibility package stereotype "struct"
+       cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+       attribute 129282 "box"
+         public explicit_type "ComplexBlackBoxDescriptor::Pointer"
+         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       attribute 129410 "package"
+         public explicit_type "std::string"
+         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       operation 142850 "CBBDefinition"
+         cpp_inline public explicit_return_type ""
+         nparams 2
+           param in name "d" explicit_type "ComplexBlackBoxDescriptor::Pointer"
+           param in name "p" explicit_type "std::string"
+         cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${volatile}${throw} : box(d), package(p) {};
+"
+         
+         
+         
+         
+       end
+      end
+
+      classrelation 129538 // mOpenDefinition (<directional composition>)
+       relation 129538 *-->
+         stereotype "std::deque"
+         a role_name "mOpenDefinition" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+           classrelation_ref 129538 // mOpenDefinition (<directional composition>)
+         b parent class_ref 131458 // CBBDefinition
+      end
+
+      attribute 129538 "mOpenPackage"
+       private explicit_type "Package::WeakPointer"
+       stereotype "std::deque"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 129666 "mInputs"
+       private explicit_type "std::string,std::string"
+       stereotype "std::map"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 129794 "mNoExecMode"
+       private explicit_type "bool"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 129922 "mDialogMode"
+       private explicit_type "DialogModeType"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 130050 "mNoErrorMode"
+       private explicit_type "bool"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      classrelation 141954 // <generalisation>
+       relation 141954 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 141954 // <generalisation>
+         b parent class_ref 154242 // VirtualExec
+      end
+
+      classrelation 142082 // ((::Pointer)mFactory)
+       relation 142082 ---> name "(::Pointer)mFactory"
+         a role_name "" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 142082 // ((::Pointer)mFactory)
+         b parent class_ref 154370 // Factory
+      end
+
+      classrelation 142594 // ((::WeakPointer)mRootCBB)
+       relation 142594 ---> name "(::WeakPointer)mRootCBB"
+         a role_name "" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 142594 // ((::WeakPointer)mRootCBB)
+         b parent class_ref 154754 // ComplexBlackBoxDescriptor
+      end
+
+      classrelation 142722 // (mOpenPackage)
+       relation 142722 ---> name "mOpenPackage"
+         a role_name "" multiplicity "*" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 142722 // (mOpenPackage)
+         b parent class_ref 154882 // Package
+      end
+    end
+
+    class 131202 "typedef2"
+      visibility package stereotype "typedef" explicit_base_type "VirtualExec"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 131586 "KWBlackBoxDescriptor"
+      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 "=================================================================
+=================================================================
+ KWBlackBoxDescriptor declaration"
+      classrelation 129666 // <generalisation>
+       relation 129666 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 129666 // <generalisation>
+         b parent class_ref 131714 // typedef3
+      end
+
+      classrelation 129794 // <generalisation>
+       relation 129794 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 129794 // <generalisation>
+         b parent class_ref 131842 // typedef4
+      end
+
+      classrelation 129922 // <generalisation>
+       relation 129922 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 129922 // <generalisation>
+         b parent class_ref 131970 // typedef5
+      end
+
+      classrelation 130050 // <generalisation>
+       relation 130050 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 130050 // <generalisation>
+         b parent class_ref 132098 // typedef6
+      end
+
+      classrelation 130178 // <generalisation>
+       relation 130178 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 130178 // <generalisation>
+         b parent class_ref 132226 // typedef7
+      end
+
+      classrelation 130306 // <generalisation>
+       relation 130306 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 130306 // <generalisation>
+         b parent class_ref 132354 // typedef8
+      end
+
+      classrelation 130434 // <generalisation>
+       relation 130434 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 130434 // <generalisation>
+         b parent class_ref 132482 // typedef9
+      end
+    end
+
+    class 131714 "typedef3"
+      visibility package stereotype "typedef" explicit_base_type "WidgetBlackBoxDescriptor<vtkKWWidget>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 131842 "typedef4"
+      visibility package stereotype "typedef" explicit_base_type "BBTK_BEGIN_DESCRIBE_BLACK_BOX_BODY"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 131970 "typedef5"
+      visibility package stereotype "typedef" explicit_base_type "("
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 132098 "typedef6"
+      visibility package stereotype "typedef" explicit_base_type "KWBlackBox"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 132226 "typedef7"
+      visibility package stereotype "typedef" explicit_base_type ")"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 132354 "typedef8"
+      visibility package stereotype "typedef" explicit_base_type ";"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 132482 "typedef9"
+      visibility package stereotype "typedef" explicit_base_type "BBTK_NAME"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 132994 "QtBlackBoxDescriptor"
+      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 "=================================================================
+=================================================================
+ QtBlackBoxDescriptor declaration
+"
+      classrelation 130562 // <generalisation>
+       relation 130562 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 130562 // <generalisation>
+         b parent class_ref 133122 // typedef10
+      end
+
+      classrelation 130690 // <generalisation>
+       relation 130690 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 130690 // <generalisation>
+         b parent class_ref 131842 // typedef4
+      end
+
+      classrelation 130818 // <generalisation>
+       relation 130818 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 130818 // <generalisation>
+         b parent class_ref 131970 // typedef5
+      end
+
+      classrelation 130946 // <generalisation>
+       relation 130946 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 130946 // <generalisation>
+         b parent class_ref 133250 // typedef11
+      end
+
+      classrelation 131074 // <generalisation>
+       relation 131074 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 131074 // <generalisation>
+         b parent class_ref 132226 // typedef7
+      end
+
+      classrelation 131202 // <generalisation>
+       relation 131202 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 131202 // <generalisation>
+         b parent class_ref 132354 // typedef8
+      end
+
+      classrelation 131330 // <generalisation>
+       relation 131330 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 131330 // <generalisation>
+         b parent class_ref 132482 // typedef9
+      end
+    end
+
+    class 133122 "typedef10"
+      visibility package stereotype "typedef" explicit_base_type "WidgetBlackBoxDescriptor<QWidget>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 133250 "typedef11"
+      visibility package stereotype "typedef" explicit_base_type "QtBlackBox"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 133378 "QtBlackBoxDialog"
+      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 "=========================================================================
+ QtBlackBoxDialog
+========================================================================="
+      classrelation 131458 // <generalisation>
+       relation 131458 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 131458 // <generalisation>
+         b parent class_ref 133506 // QtBlackBoxDialogParent
+      end
+
+      classrelation 131586 // <generalisation>
+       relation 131586 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 131586 // <generalisation>
+         b parent class_ref 133634 // typedef12
+      end
+
+      extra_member 128002 "Q_OBJECT"
+       
+       cpp "  Q_OBJECT" ""
+       java ""
+       php ""
+       python ""
+       idl ""
+      end
+
+      class 133762 "Parent"
+       visibility package stereotype "typedef" base_type class_ref 133506 // QtBlackBoxDialogParent
+       cpp_decl "${comment}typedef ${type} ${name};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+       classrelation 131714 // <dependency>
+         relation 131714 -_->
+           a default
+             cpp default "#include in source"
+             classrelation_ref 131714 // <dependency>
+           b parent class_ref 133506 // QtBlackBoxDialogParent
+       end
+      end
+
+      operation 142978 "QtBlackBoxDialog"
+       public explicit_return_type ""
+       nparams 5
+         param in name "box" explicit_type "QtBlackBox::Pointer"
+         param inout name "parent" type class_ref 132738 // QWidget
+         param in name "title" explicit_type "std::string"
+         param in name "width" explicit_type "int"
+         param in name "height" explicit_type "int"
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}, ${t1} * ${p1}${v1}, const ${t2} & ${p2}${v2}, ${t3} ${p3}${v3}, ${t4} ${p4}${v4}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${t0} ${p0}, ${t1} * ${p1}, const ${t2} & ${p2}, ${t3} ${p3}, ${t4} ${p4}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+       comment "  typedef WidgetBlackBoxWindow<QWidget> Parent;
+QtBlackBoxDialog() : Parent(QtBlackBox::Pointer()) {}"
+      end
+
+      operation 143106 "~QtBlackBoxDialog"
+       public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 143234 "bbShow"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 143362 "bbHide"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 143490 "bbDestroy"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 143618 "bbIsDialog"
+       cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 133506 "QtBlackBoxDialogParent"
+      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 131842 // <generalisation>
+       relation 131842 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 131842 // <generalisation>
+         b parent class_ref 133890 // typedef13
+      end
+
+      classrelation 131970 // <generalisation>
+       relation 131970 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 131970 // <generalisation>
+         b parent class_ref 134018 // typedef14
+      end
+
+      operation 143746 "QtBlackBoxDialogParent"
+       cpp_inline public explicit_return_type ""
+       nparams 2
+         param in name "box" explicit_type "QtBlackBox::Pointer"
+         param inout name "parent" type class_ref 132738 // QWidget
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}, ${t1} * ${p1}${v1}${)}${volatile}${throw} :
+      WidgetBlackBoxWindow<QWidget>(box),
+      QDialog( parent )
+    {
+      
+    };
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 133634 "typedef12"
+      visibility package stereotype "typedef" explicit_base_type "Ui::bbtkQtBlackBoxDialog"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 133890 "typedef13"
+      visibility package stereotype "typedef" explicit_base_type "WidgetBlackBoxWindow<QWidget>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 134018 "typedef14"
+      visibility package stereotype "typedef" explicit_base_type "QDialog"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 134914 "System"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "-----------------------------------------------------------------------------
+-----------------------------------------------------------------------------
+/ System related stuff"
+      operation 143874 "HasTTY"
+       class_operation 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 "/ returns true iff the program has a tty"
+      end
+    end
+
+    class 135042 "Transcriptor"
+      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 132098 // <generalisation>
+       relation 132098 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 132098 // <generalisation>
+         b parent class_ref 131202 // typedef2
+      end
+
+      class 135170 "Superclass"
+       visibility package stereotype "typedef" explicit_base_type "VirtualExec"
+       cpp_decl "${comment}typedef ${type} ${name};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      operation 144002 "New"
+       class_operation public explicit_return_type "Pointer"
+       nparams 1
+         param in name "filename" explicit_type "std::string"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 144130 "SetInputs"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "m" explicit_type "std::map<std::string,std::string>"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { mInputs = m; };
+"
+       
+       
+       
+       
+       comment "/ Sets the inputs of the workspace : "
+      end
+
+      operation 144258 "SetNoExecMode"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "b" explicit_type "bool"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+       if (b)
+          m_Fp << \"  e->SetNoExecMode(true);\" << std::endl;
+       else
+          m_Fp << \"  e->SetNoExecMode(false);\" << std::endl;       
+    };
+"
+       
+       
+       
+       
+       comment "/ Puts the executer in \"no exec\" mode, 
+/ which creates but does not execute pipelines 
+void SetNoExecMode(bool b) { mNoExecMode = b; }"
+      end
+
+      operation 144386 "SetNoErrorMode"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "b" explicit_type "bool"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+       if (b)
+          m_Fp << \"  e->SetNoErrorMode(true);\" << std::endl;
+       else
+          m_Fp << \"  e->SetNoErrorMode(false);\" << std::endl;       
+    };
+"
+       
+       
+       
+       
+      end
+
+      operation 144514 "GetNoExecMode"
+       const cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return false; };
+"
+       
+       
+       
+       
+      end
+
+      operation 144642 "GetNoErrorMode"
+       const cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return false; };
+"
+       
+       
+       
+       
+      end
+
+      operation 144770 "SetDialogMode"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "t" explicit_type "DialogModeType"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { mDialogMode = t; };
+"
+       
+       
+       
+       
+       comment "/ Sets the mode of dialog of the executer for Root inputs "
+      end
+
+      operation 144898 "LoadPackage"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "name" explicit_type "std::string"
+       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 "/ Loads a package"
+      end
+
+      operation 145026 "UnLoadPackage"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "name" explicit_type "std::string"
+       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 "/ Unloads a package"
+      end
+
+      operation 145154 "BeginPackage"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "name" explicit_type "std::string"
+       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 "/ Starts a package block       "
+      end
+
+      operation 145282 "EndPackage"
+       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 "/ Ends a package block"
+      end
+
+      operation 145410 "Define"
+       public explicit_return_type "void"
+       nparams 3
+         param in name "name" explicit_type "std::string"
+         param in name "pack" explicit_type "std::string"
+         param in name "scriptfilename" explicit_type "std::string"
+       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 "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Starts the definition of a new ComplexBlackBox in package pack
+/ scriptfilename is the file from which the def is read"
+      end
+
+      operation 145538 "SetCurrentFileName"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "name" explicit_type "std::string"
+       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 file name to use for the current definition
+/ (Used to set it after the Define command)"
+      end
+
+      operation 145666 "EndDefine"
+       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 "/ End the definition of a ComplexBlackBox"
+      end
+
+      operation 145794 "Kind"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "kind" explicit_type "std::string"
+       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 kind of the currently defined ComplexBlackBox"
+      end
+
+      operation 145922 "Create"
+       public explicit_return_type "void"
+       nparams 2
+         param in name "boxType" explicit_type "std::string"
+         param in name "boxName" explicit_type "std::string"
+       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 "/ Creates a new black box in current complex box"
+      end
+
+      operation 146050 "Destroy"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "boxName" explicit_type "std::string"
+       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 "/ Destroys a black box"
+      end
+
+      operation 146178 "Clear"
+       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 "/ Clears the currently defined ComplexBlackBox"
+      end
+
+      operation 146306 "Connect"
+       public explicit_return_type "void"
+       nparams 4
+         param in name "boxfrom" explicit_type "std::string"
+         param in name "output" explicit_type "std::string"
+         param in name "boxto" explicit_type "std::string"
+         param in name "input" explicit_type "std::string"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Connects the output boxOutput to the input boxInput"
+      end
+
+      operation 146434 "Execute"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "box" explicit_type "std::string"
+       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 "/ Updates the box "
+      end
+
+      operation 146562 "DefineInput"
+       public explicit_return_type "void"
+       nparams 4
+         param in name "name" explicit_type "std::string"
+         param in name "box" explicit_type "std::string"
+         param in name "input" explicit_type "std::string"
+         param in name "help" explicit_type "std::string"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Defines an input of the current complex box"
+      end
+
+      operation 146690 "DefineOutput"
+       public explicit_return_type "void"
+       nparams 4
+         param in name "name" explicit_type "std::string"
+         param in name "box" explicit_type "std::string"
+         param in name "output" explicit_type "std::string"
+         param in name "help" explicit_type "std::string"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Defines an output of the current complex box"
+      end
+
+      operation 146818 "Set"
+       public explicit_return_type "void"
+       nparams 3
+         param in name "box" explicit_type "std::string"
+         param in name "input" explicit_type "std::string"
+         param in name "value" explicit_type "std::string"
+       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 "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ sets the input of the box with the value"
+      end
+
+      operation 146946 "Get"
+       public explicit_return_type "std::string"
+       nparams 2
+         param in name "box" explicit_type "std::string"
+         param in name "output" explicit_type "std::string"
+       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 "/ gets the output of the box"
+      end
+
+      operation 147074 "SetWorkspaceName"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "n" explicit_type "std::string"
+       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 "/ changes the workspace name"
+      end
+
+      operation 147202 "Author"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "authorName" explicit_type "std::string"
+       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 "/Adds the authorName to the Box author list"
+      end
+
+      operation 147330 "Category"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "category" explicit_type "std::string"
+       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 "/Adds the Categories to the Box category list"
+      end
+
+      operation 147458 "Description"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "d" explicit_type "std::string"
+       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 "/ The description string which explains what does the ComplexBox"
+      end
+
+      operation 147586 "PrintBoxes"
+       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 "/ prints the list off the boxes of the current box"
+      end
+
+      operation 147714 "ShowGraph"
+       public explicit_return_type "std::string"
+       nparams 7
+         param in name "nameblackbox" explicit_type "std::string"
+         param in name "detailStr" explicit_type "std::string"
+         param in name "levelStr" explicit_type "std::string"
+         param in name "output_file" explicit_type "std::string"
+         param in name "custom_header" explicit_type "std::string"
+         param in name "custom_title" explicit_type "std::string"
+         param in name "system_display" explicit_type "bool"
+           defaultvalue "true"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}, const ${t4} & ${p4}${v4}, const ${t5} & ${p5}${v5}, ${t6} ${p6}${v6}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}, const ${t5} & ${p5}, ${t6} ${p6}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Generate a HTML with a gif file with the actual pipeline (Graphviz-dot needed). Returns the file path"
+      end
+
+      operation 147842 "ShowGraphInstances"
+       public explicit_return_type "std::string"
+       nparams 4
+         param in name "nameblackbox" explicit_type "std::string"
+         param in name "detail" explicit_type "int"
+         param in name "level" explicit_type "int"
+         param in name "system_display" explicit_type "bool"
+           defaultvalue "true"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} ${p1}${v1}, ${t2} ${p2}${v2}, ${t3} ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Generate a HTML with a gif file with the actual pipeline (Graphviz-dot needed). Returns the file path"
+      end
+
+      operation 147970 "ShowRelations"
+       public explicit_return_type "void"
+       nparams 3
+         param in name "nameblackbox" explicit_type "std::string"
+         param in name "detailStr" explicit_type "std::string"
+         param in name "levelStr" explicit_type "std::string"
+       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 "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${const}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment "/ Description of the actual pipeline"
+      end
+
+      operation 148098 "Reset"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 148226 "SetMessageLevel"
+       public explicit_return_type "void"
+       nparams 2
+         param in name "kind" explicit_type "std::string"
+         param in name "level" 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 "/ Sets the level of message for kind"
+      end
+
+      operation 148354 "HelpMessages"
+       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 "/ Prints help on the messages"
+      end
+
+      operation 148482 "Print"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "message" explicit_type "std::string"
+       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 "/ Prints the string ... MORE : TO EXPLAIN "
+      end
+
+      operation 148610 "Transcriptor"
+       private explicit_return_type ""
+       nparams 1
+         param in name "filename" explicit_type "std::string"
+       cpp_decl "    ${comment}${inline}${name}${(}const ${t0} & ${p0}${v0}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+       comment "  static const std::string& GetObjectDescription()
+  { static std::string s(\"Executer\"); return s; }
+/ Constructor"
+      end
+
+      attribute 130178 "mInputs"
+       private explicit_type "std::string,std::string"
+       stereotype "std::map"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 130306 "mDialogMode"
+       private explicit_type "DialogModeType"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 130434 "m_Fp"
+       private explicit_type "std::ofstream"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 135298 "TypeMapping"
+      visibility package 
+      nformals 1
+      formal name "ValueType" type "typename" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "/ "
+      operation 148738 "TypeMapping"
+       cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw} {};
+"
+       
+       
+       
+       
+      end
+
+      operation 148866 "value"
+       stereotype "template"
+       cpp_inline public explicit_return_type "ValueType"
+       nparams 0
+       cpp_decl "    ${comment}template<typename T>
+  ${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+    return m_map[ (void*)typeid(T).name() ];
+  };
+"
+       
+       
+       
+       
+      end
+
+      operation 148994 "operator []"
+       stereotype "template"
+       cpp_inline public explicit_return_type "ValueType"
+       nparams 1
+         param in name "" explicit_type "T"
+       cpp_decl "    ${comment}template<typename T>
+  ${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+    return m_map[ (void*)typeid(T).name() ];
+  };
+"
+       
+       
+       
+       
+      end
+
+      operation 149122 "operator []"
+       cpp_inline public explicit_return_type "ValueType"
+       nparams 1
+         param in name "t" explicit_type "std::type_info"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+    return m_map[ (void*)t.name() ];
+  };
+"
+       
+       
+       
+       
+      end
+
+      operation 149250 "size"
+       const cpp_inline public explicit_return_type "uint"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return m_map.size(); };
+"
+       
+       
+       
+       
+      end
+
+      class 135426 "const_iterator"
+       visibility package stereotype "typedef" explicit_base_type "std::map<void*, ValueType>::const_iterator"
+       cpp_decl "${comment}typedef  typename ${type} ${name};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      operation 149378 "begin"
+       const cpp_inline public return_type class_ref 135426 // const_iterator
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return m_map.begin(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 149506 "end"
+       const cpp_inline public return_type class_ref 135426 // const_iterator
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return m_map.end(); };
+"
+       
+       
+       
+       
+      end
+
+      attribute 130562 "m_map"
+       protected explicit_type "void*, ValueType"
+       stereotype "std::map"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 135554 "WidgetBlackBox"
+      visibility package 
+      nformals 1
+      formal name "W" type "class" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "==================================================================
+/ Generic (template) Widget black box from which all 
+/ widget black boxes for a specific GUI toolkit inherit with 
+/ apropriate traits.
+/ Declares the common inputs / outputs and interface to all widget boxes"
+      classrelation 132226 // <generalisation>
+       relation 132226 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 132226 // <generalisation>
+         b parent class_ref 135682 // typedef15
+      end
+
+      class 135810 "Widget"
+       visibility package stereotype "typedef" explicit_base_type "W"
+       cpp_decl "${comment}typedef ${type} ${name};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      class 135938 "WidgetPointer"
+       visibility package stereotype "typedef" base_type class_ref 135810 // Widget
+       cpp_decl "${comment}typedef ${type}*  ${name};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+       classrelation 132354 // <dependency>
+         relation 132354 -_->
+           a default
+             cpp default "#include in source"
+             classrelation_ref 132354 // <dependency>
+           b parent class_ref 135810 // Widget
+       end
+      end
+
+      class 136066 "Window"
+       visibility package stereotype "typedef" explicit_base_type "WidgetBlackBoxWindow<W>"
+       cpp_decl "${comment}typedef ${type} ${name};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      operation 149634 "bbShowWindow"
+       cpp_virtual 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 "==================================================================
+==================================================================
+/ Overloaded bbShowWindow method for WidgetBlackBoxes which handles 
+/ the window creation if needed"
+      end
+
+      operation 149762 "bbGetWindow"
+       cpp_inline public return_type class_ref 136066 // Window
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} { return bbmWindow; };
+"
+       
+       
+       
+       
+       comment "==================================================================    
+==================================================================
+/ Returns the **OWN** window associated to the box
+/ If 0 returned = no window"
+      end
+
+      operation 149890 "bbGetContainingWindow"
+       public return_type class_ref 136066 // Window
+       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 the window containing the widget associated to the box
+/ Which can be the own window of **ANOTHER** box in case of 
+/ a hierarchy of widgets (layouts)
+/ More precisely :
+/ If bbGetWindow() != 0 then returns bbGetWindow()
+/ Else if the output 'Widget' is connected 
+/  then returns bbGetContainingWindow() of the box connected to 'Widget'
+/ Else returns 0;"
+      end
+
+      operation 150018 "bbIsShown"
+       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 iff the 'containing window' exists and is shown 
+/ (see bbGetContainingWindow)."
+      end
+
+      operation 150146 "bbIsOutputWidgetConnected"
+       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 "/ Convenient method which returns true iff the output Widget is connected"
+      end
+
+      operation 150274 "bbUserOnShow"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {};
+"
+       
+       
+       
+       
+       comment "==================================================================    
+/ User callback invoked when the containing window is shown"
+      end
+
+      operation 150402 "bbUserOnHide"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {};
+"
+       
+       
+       
+       
+       comment "==================================================================    
+==================================================================    
+/ User callback invoked when the containing window is hidden"
+      end
+
+      operation 150530 "bbSetWindow"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param inout name "w" type class_ref 136066 // Window
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { bbmWindow=w; };
+"
+       
+       
+       
+       
+       comment "==================================================================    
+/ Sets the window"
+      end
+
+      operation 150658 "bbUserCreateWidget"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 1
+         param inout name "parent" type class_ref 135810 // Widget
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+      bbtkError(bbGetTypeName()<<\" is a WidgetBlackBox whose bbUserCreateWidget methods is not overloaded : is it a feature or a bug ?!?\");
+    };
+"
+       
+       
+       
+       
+       comment "==================================================================    
+/ User callback for creating the widget associated to the box
+/ ** Must be defined ** in user classes"
+      end
+
+      operation 150786 "bbCreateWidgetOfInput"
+       protected return_type class_ref 135810 // Widget
+       nparams 2
+         param in name "in" explicit_type "std::string"
+         param inout name "parent" type class_ref 135810 // Widget
+       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 "==================================================================    
+==================================================================
+/ Convenient method for layout widgets which creates and returns
+/ (calls bbUserCreateWidget) 
+/ the widget of the box connected to the input in.
+/ Returns NULL if the input is not connected"
+      end
+
+      operation 150914 "bbCreateDialogWindow"
+       cpp_virtual cpp_inline protected explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      bbtkError(bbGetTypeName()<<\" is a WidgetBlackBox whose bbCreateDialogWindow method is not overloaded ?!?\");
+    };
+"
+       
+       
+       
+       
+       comment "==================================================================
+==================================================================    
+/ Callback for creating a Dialog window (modal)
+/ ** Must be defined ** in toolkit specific descendants "
+      end
+
+      operation 151042 "bbCreateFrameWindow"
+       cpp_virtual cpp_inline protected explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      bbtkError(bbGetTypeName()<<\" is a WidgetBlackBox whose bbCreateFrameWindow method is not overloaded ?!?\");
+    };
+"
+       
+       
+       
+       
+       comment "==================================================================    
+==================================================================    
+/ Callback for creating a Frame window 
+/ ** Must be defined ** in toolkit specific descendants "
+      end
+
+      operation 151170 "bbProcess"
+       cpp_virtual protected 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 "==================================================================    
+==================================================================
+/ Overloaded processing method for WidgetBlackBoxes"
+      end
+
+      operation 151298 "bbHideWindow"
+       protected 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 "==================================================================
+==================================================================
+/ Hides the WidgetBlackBoxWindow associated to the box (if exists)"
+      end
+
+      operation 151426 "bbCloseWindow"
+       protected 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 "/ Closes (destroys) the WidgetBlackBoxWindow associated to the box 
+/ (if exists)"
+      end
+
+      operation 151554 "IncNbWindowsAlive"
+       cpp_virtual cpp_inline protected explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {};
+"
+       
+       
+       
+       
+       comment "==================================================================
+==================================================================
+   virtual void InitWindowManagerIfNeeded();"
+      end
+
+      operation 151682 "DecNbWindowsAlive"
+       cpp_virtual cpp_inline protected explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {};
+"
+       
+       
+       
+       
+      end
+
+      operation 151810 "GetNbWindowsAlive"
+       cpp_virtual cpp_inline protected explicit_return_type "int"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return 0; };
+"
+       
+       
+       
+       
+      end
+
+      operation 151938 "IsSomeWindowAlive"
+       cpp_virtual cpp_inline protected explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return false; };
+"
+       
+       
+       
+       
+      end
+
+      operation 152066 "IncNbWindowsShown"
+       cpp_virtual cpp_inline protected explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {};
+"
+       
+       
+       
+       
+      end
+
+      operation 152194 "DecNbWindowsShown"
+       cpp_virtual cpp_inline protected explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {};
+"
+       
+       
+       
+       
+      end
+
+      operation 152322 "GetNbWindowsShown"
+       cpp_virtual cpp_inline protected explicit_return_type "int"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return 0; };
+"
+       
+       
+       
+       
+      end
+
+      operation 152450 "IsSomeWindowShown"
+       cpp_virtual cpp_inline protected explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return false; };
+"
+       
+       
+       
+       
+      end
+
+      extra_member 128130 "friend"
+       
+       cpp "
+    /// friendship
+    friend class WidgetBlackBoxWindow<W>;" ""
+       java ""
+       php ""
+       python ""
+       idl ""
+      end
+
+      classrelation 132482 // bbmWindow (<unidirectional association>)
+       relation 132482 --->
+         a role_name "bbmWindow" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 132482 // bbmWindow (<unidirectional association>)
+         b parent class_ref 136066 // Window
+      end
+
+      classrelation 146306 // <generalisation>
+       relation 146306 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 146306 // <generalisation>
+         b parent class_ref 156418 // AtomicBlackBox
+      end
+    end
+
+    class 135682 "typedef15"
+      visibility package stereotype "typedef" explicit_base_type "bbtk::AtomicBlackBox"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 136194 "WidgetPointer"
+      visibility package stereotype "typedef" explicit_base_type "WidgetBlackBox<T>::WidgetPointer"
+      cpp_decl "${comment}typedef  typename ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 136578 "WxBlackBoxDescriptor"
+      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 "=================================================================
+=================================================================
+ WxBlackBoxDescriptor declaration
+"
+      classrelation 132610 // <generalisation>
+       relation 132610 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 132610 // <generalisation>
+         b parent class_ref 136706 // typedef16
+      end
+
+      classrelation 132738 // <generalisation>
+       relation 132738 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 132738 // <generalisation>
+         b parent class_ref 131842 // typedef4
+      end
+
+      classrelation 132866 // <generalisation>
+       relation 132866 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 132866 // <generalisation>
+         b parent class_ref 131970 // typedef5
+      end
+
+      classrelation 132994 // <generalisation>
+       relation 132994 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 132994 // <generalisation>
+         b parent class_ref 136834 // typedef17
+      end
+
+      classrelation 133122 // <generalisation>
+       relation 133122 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 133122 // <generalisation>
+         b parent class_ref 132226 // typedef7
+      end
+
+      classrelation 133250 // <generalisation>
+       relation 133250 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 133250 // <generalisation>
+         b parent class_ref 132354 // typedef8
+      end
+
+      classrelation 133378 // <generalisation>
+       relation 133378 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 133378 // <generalisation>
+         b parent class_ref 132482 // typedef9
+      end
+    end
+
+    class 136706 "typedef16"
+      visibility package stereotype "typedef" explicit_base_type "WidgetBlackBoxDescriptor<wxWindow>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 136834 "typedef17"
+      visibility package stereotype "typedef" explicit_base_type "WxBlackBox"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 136962 "WxHtmlWindow"
+      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 133506 // <generalisation>
+       relation 133506 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 133506 // <generalisation>
+         b parent class_ref 137090 // typedef18
+      end
+
+      classrelation 133634 // <generalisation>
+       relation 133634 ---|>
+         a private
+           cpp default "${type}"
+           classrelation_ref 133634 // <generalisation>
+         b parent class_ref 137218 // typedef19
+      end
+
+      operation 152578 "WxHtmlWindow"
+       cpp_inline public explicit_return_type ""
+       nparams 4
+         param inout name "parent" type class_ref 136322 // wxWindow
+         param in name "id" explicit_type "int"
+         param inout name "browser" explicit_type "WxGUIHtmlBrowser"
+         param in name "size" explicit_type "wxSize"
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, ${t2} * ${p2}${v2}, ${t3} ${p3}${v3}${)}${volatile}${throw} : wxHtmlWindow(parent, id, 
+                    wxDefaultPosition, 
+                    size,
+                    wxHW_SCROLLBAR_AUTO, 
+                 _T(\"bbtk::WxGUIHtmlBrowser\")),
+             mBrowser(browser)
+    {
+               std::cout << \"ctor\"<<std::endl;
+     SetBorders(30);
+    };
+"
+       
+       
+       
+       
+      end
+
+      attribute 130690 "mBrowser"
+       private explicit_type "WxGUIHtmlBrowser"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 137090 "typedef18"
+      visibility package stereotype "typedef" explicit_base_type "virtual"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 137218 "typedef19"
+      visibility package stereotype "typedef" explicit_base_type "wxHtmlWindow"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 137346 "WxGUIHtmlBrowserUser"
+      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 "/ Abstract class which defines the callbacks invoked by WxGUIHtmlBrowser"
+      operation 152706 "WxGUIHtmlBrowserUser"
+       cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw} {};
+"
+       
+       
+       
+       
+      end
+
+      operation 152834 "~WxGUIHtmlBrowserUser"
+       cpp_virtual cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw} {};
+"
+       
+       
+       
+       
+      end
+
+      operation 152962 "WxGUIHtmlBrowserUserOnLinkClicked"
+       cpp_virtual cpp_inline public explicit_return_type "bool"
+       nparams 1
+         param in name "target" explicit_type "std::string"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { return true; };
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 137474 "WxGUIBlackBoxInfo"
+      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 "================================================================
+================================================================"
+      classrelation 133762 // <generalisation>
+       relation 133762 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 133762 // <generalisation>
+         b parent class_ref 137602 // typedef20
+      end
+
+      operation 153090 "WxGUIBlackBoxInfo"
+       public explicit_return_type ""
+       nparams 1
+         param inout name "parent" type class_ref 136322 // wxWindow
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 153218 "~WxGUIBlackBoxInfo"
+       public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 153346 "UpdateInfo"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "descr" explicit_type "BlackBoxDescriptor"
+       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 153474 "InsertInputOutput"
+       public explicit_return_type "void"
+       nparams 2
+         param inout name "l" explicit_type "wxListCtrl"
+         param inout name "i" explicit_type "BlackBoxInputOutputDescriptor"
+       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
+
+      attribute 130818 "mDescriptor"
+       private explicit_type "BlackBoxDescriptor"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 130946 "mName"
+       private explicit_type "wxStaticText"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 131074 "mDescription"
+       private explicit_type "wxStaticText"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 131202 "mAuthor"
+       private explicit_type "wxStaticText"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 131330 "mCategory"
+       private explicit_type "wxStaticText"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 131458 "mInputList"
+       private explicit_type "wxListCtrl"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 131586 "mOutputList"
+       private explicit_type "wxListCtrl"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 137602 "typedef20"
+      visibility package stereotype "typedef" explicit_base_type "wxPanel"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 137730 "WxGUIBlackBoxListUser"
+      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 "================================================================
+================================================================"
+      operation 153602 "WxGUIBlackBoxListUser"
+       cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw} {};
+"
+       
+       
+       
+       
+      end
+
+      operation 153730 "~WxGUIBlackBoxListUser"
+       cpp_virtual cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw} {};
+"
+       
+       
+       
+       
+      end
+
+      operation 153858 "WxGUIBlackBoxListUserOnSelected"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 1
+         param inout name "" explicit_type "BlackBoxDescriptor"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {};
+"
+       
+       
+       
+       
+       comment " User callback when a box is selected in the list "
+      end
+    end
+
+    class 137858 "WxGUIBlackBoxList"
+      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 "================================================================
+================================================================"
+      classrelation 133890 // <generalisation>
+       relation 133890 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 133890 // <generalisation>
+         b parent class_ref 137986 // typedef21
+      end
+
+      operation 153986 "WxGUIBlackBoxList"
+       public explicit_return_type ""
+       nparams 5
+         param inout name "parent" type class_ref 136322 // wxWindow
+         param in name "id" explicit_type "wxWindowID"
+         param in name "pos" explicit_type "wxPoint"
+         param in name "size" explicit_type "wxSize"
+         param in name "style" explicit_type "long"
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, const ${t1} ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}, ${t4} ${p4}${v4}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, ${t4} ${p4}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 154114 "SetUser"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param inout name "u" type class_ref 137730 // WxGUIBlackBoxListUser
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { mUser = u; };
+"
+       
+       
+       
+       
+       comment " Set the user of the object"
+      end
+
+      operation 154242 "Insert"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "d" explicit_type "BlackBoxDescriptor::Pointer"
+       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 one item to the listctrl in report mode"
+      end
+
+      operation 154370 "OnColClick"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 " "
+      end
+
+      operation 154498 "OnColRightClick"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 154626 "OnColBeginDrag"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 154754 "OnColDragging"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 154882 "OnColEndDrag"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 155010 "OnBeginDrag"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 155138 "OnBeginRDrag"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 155266 "OnBeginLabelEdit"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 155394 "OnEndLabelEdit"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 155522 "OnDeleteItem"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 155650 "OnDeleteAllItems"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 155778 "OnGetInfo"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 155906 "OnSetInfo"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 156034 "OnSelected"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 156162 "OnDeselected"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 156290 "OnListKeyDown"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 156418 "OnActivated"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 156546 "OnFocused"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 156674 "OnCacheHint"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxListEvent"
+       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 156802 "OnChar"
+       public 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 156930 "OnContextMenu"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "event" explicit_type "wxContextMenuEvent"
+       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 157058 "OnRightClick"
+       public 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 157186 "ShowContextMenu"
+       private explicit_return_type "void"
+       nparams 1
+         param in name "pos" explicit_type "wxPoint"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 157314 "SetColumnImage"
+       private explicit_return_type "void"
+       nparams 2
+         param in name "col" explicit_type "int"
+         param in name "image" 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 "    wxLog *m_logOld;"
+      end
+
+      operation 157442 "LogEvent"
+       private explicit_return_type "void"
+       nparams 2
+         param in name "event" explicit_type "wxListEvent"
+         param in name "eventName" explicit_type "wxChar"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 157570 "LogColEvent"
+       private explicit_return_type "void"
+       nparams 2
+         param in name "event" explicit_type "wxListEvent"
+         param in name "eventName" explicit_type "wxChar"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 157698 "OnGetItemText"
+       const cpp_virtual private explicit_return_type "wxString"
+       nparams 2
+         param in name "item" explicit_type "long"
+         param in name "column" explicit_type "long"
+       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 157826 "OnGetItemColumnImage"
+       const cpp_virtual private explicit_return_type "int"
+       nparams 2
+         param in name "item" explicit_type "long"
+         param in name "column" explicit_type "long"
+       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 157954 "OnGetItemAttr"
+       const cpp_virtual private explicit_return_type "wxListItemAttr"
+       nparams 1
+         param in name "item" explicit_type "long"
+       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
+
+      classrelation 134018 // mUser (<unidirectional association>)
+       relation 134018 --->
+         a role_name "mUser" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 134018 // mUser (<unidirectional association>)
+         b parent class_ref 137730 // WxGUIBlackBoxListUser
+      end
+
+      attribute 131714 "m_attr"
+       private explicit_type "wxListItemAttr"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      operation 158082 "IncludeAll"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 158210 "BuildFromFactory"
+       private explicit_return_type "void"
+       nparams 1
+         param in name "f" explicit_type "Factory::Pointer"
+       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 158338 "RebuildList"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 158466 "IsVisible"
+       private explicit_return_type "bool"
+       nparams 1
+         param in name "d" explicit_type "BlackBoxDescriptor::Pointer"
+       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 158594 "OnFilter"
+       private explicit_return_type "void"
+       nparams 1
+         param inout name "" explicit_type "wxCommandEvent"
+       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 158722 "WxGUIBlackBoxListUserOnSelected"
+       private explicit_return_type "void"
+       nparams 1
+         param inout name "" explicit_type "BlackBoxDescriptor"
+       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 " User callback when a box is selected in the list "
+      end
+
+      attribute 131842 "m_mgr"
+       private explicit_type "wxAuiManager"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 131970 "mInterpreter"
+       private explicit_type "Interpreter::Pointer"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 132098 "mFactory"
+       private explicit_type "Factory::Pointer"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      classrelation 134146 // mBoxList (<unidirectional association>)
+       relation 134146 --->
+         a role_name "mBoxList" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 134146 // mBoxList (<unidirectional association>)
+         b parent class_ref 137858 // WxGUIBlackBoxList
+      end
+
+      classrelation 134274 // mBoxInfo (<unidirectional association>)
+       relation 134274 --->
+         a role_name "mBoxInfo" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 134274 // mBoxInfo (<unidirectional association>)
+         b parent class_ref 137474 // WxGUIBlackBoxInfo
+      end
+
+      attribute 132226 "mPackageFilter"
+       private explicit_type "wxTextCtrl"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 132354 "mNameFilter"
+       private explicit_type "wxTextCtrl"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 132482 "mDescriptionFilter"
+       private explicit_type "wxTextCtrl"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 132610 "mCategoryFilter"
+       private explicit_type "wxTextCtrl"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 132738 "mInputTypeFilter"
+       private explicit_type "wxTextCtrl"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 132866 "mOutputTypeFilter"
+       private explicit_type "wxTextCtrl"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 132994 "mInputNatureFilter"
+       private explicit_type "wxTextCtrl"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 133122 "mOutputNatureFilter"
+       private explicit_type "wxTextCtrl"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 133250 "mShowWidgetsFilter"
+       private explicit_type "wxCheckBox"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 133378 "mShowAdaptorsFilter"
+       private explicit_type "wxCheckBox"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 133506 "mShowGUIsFilter"
+       private explicit_type "wxCheckBox"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 133634 "mBrowser"
+       private explicit_type "WxGUIPackageBrowser2"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 137986 "typedef21"
+      visibility package stereotype "typedef" explicit_base_type "wxListCtrl"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 138114 "WxGUITextEditorPage"
+      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 "================================================================"
+      classrelation 134402 // <generalisation>
+       relation 134402 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 134402 // <generalisation>
+         b parent class_ref 137602 // typedef20
+      end
+
+      operation 158850 "WxGUITextEditorPage"
+       public explicit_return_type ""
+       nparams 2
+         param inout name "parent" type class_ref 136322 // wxWindow
+         param inout name "editor" explicit_type "WxGUITextEditor"
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} * ${p1}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 158978 "~WxGUITextEditorPage"
+       public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 159106 "SetPageName"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "name" explicit_type "std::string"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { mName = name; };
+"
+       
+       
+       
+       
+      end
+
+      operation 159234 "GetPageName"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} { return mName; };
+"
+       
+       
+       
+       
+      end
+
+      operation 159362 "AskFilename"
+       const cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return mAskFilename; };
+"
+       
+       
+       
+       
+      end
+
+      operation 159490 "SetAskFilename"
+       cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "a" explicit_type "bool"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { mAskFilename=a; };
+"
+       
+       
+       
+       
+      end
+
+      operation 159618 "GetTextCtrl"
+       cpp_inline public explicit_return_type "WxTextCtrlGettingKeyEvents"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract} { return mwxInputText; };
+"
+       
+       
+       
+       
+      end
+
+      operation 159746 "Load"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "filename" explicit_type "std::string"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 159874 "Save"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "filter" explicit_type "std::string"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 160002 "SaveFile"
+       public explicit_return_type "void"
+       nparams 1
+         param in name "filename" explicit_type "std::string"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 160130 "IsModified"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 160258 "GetText"
+       public explicit_return_type "std::string"
+       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 "{ return mwxInputText->IsModified(); }"
+      end
+
+      attribute 133762 "mEditor"
+       private explicit_type "WxGUITextEditor"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 133890 "mwxInputText"
+       private explicit_type "WxTextCtrlGettingKeyEvents"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 134018 "mwxInputTextAttr"
+       private explicit_type "wxTextAttr"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 134146 "mName"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 134274 "mAskFilename"
+       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 138242 "WxStreamRedirector"
+      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 " On Windows when compiling a dll, wx prevents the compilation
+ of the class wxStreamToTextRedirector (why ? it is a nightmare...)
+ The blocking symbol is wxHAS_TEXT_WINDOW_STREAM.
+ Note also that wxStreamToTextRedirector use the fact that wx is 
+ compiled with the option WX_USE_STD_STREAMS in which case 
+ wxTextCtrl inherits from std::streambuf and the redirection 
+ can be done simply by setting the std::cout buffer to the 
+ one of the wxTextCtrl. 
+ So on windows, we have to redirect manually std::cout to mwxTextHistory.  
+ Finally, on all systems we made our redirection class to redirect both to
+ the WxConsole and to printf in order to get a console trace when 
+ the appli crashes (we could also imagine to log in a file...)
+ This is why we finally wrote our own redirection which is crossplatform
+ (drawback : not optimal on Unix platform; we could think of 
+ a particular implementation...).
+================================================================
+/ Redirects std::cout to a wxTextCtrl and optionally to printf also"
+      classrelation 134530 // <generalisation>
+       relation 134530 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 134530 // <generalisation>
+         b parent class_ref 138370 // typedef22
+      end
+
+      operation 160386 "WxStreamRedirector"
+       cpp_inline public explicit_return_type ""
+       nparams 5
+         param inout name "redirect" explicit_type "std::ostream"
+         param inout name "text" explicit_type "wxTextCtrl"
+         param in name "colour" explicit_type "wxColour"
+           defaultvalue "*wxBLACK"
+         param in name "doprintf" explicit_type "bool"
+           defaultvalue "true"
+         param in name "bufferSize" explicit_type "int"
+           defaultvalue "1000"
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} & ${p0}${v0}, ${t1} * ${p1}${v1}, const ${t2} & ${p2}${v2}, ${t3} ${p3}${v3}, ${t4} ${p4}${v4}${)}${volatile}${throw} : mText(text),
+       mPrintf(doprintf),
+       m_ostr(redirect),
+       mColour(colour)
+    {
+      if (bufferSize)
+        {
+         char *ptr = new char[bufferSize];
+         setp(ptr, ptr + bufferSize);
+        }
+      else
+       setp(0, 0);
+      
+      m_sbufOld = m_ostr.rdbuf();
+      m_ostr.rdbuf(this);
+    };
+"
+       
+       
+       
+       
+      end
+
+      operation 160514 "~WxStreamRedirector"
+       cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw} {
+      sync();
+      delete[] pbase();
+      m_ostr.rdbuf(m_sbufOld);
+    };
+"
+       
+       
+       
+       
+      end
+
+      operation 160642 "writeString"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "str" explicit_type "std::string"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+      const wxTextAttr& style = mText->GetDefaultStyle();
+      mText->SetDefaultStyle(mColour);
+      mText->AppendText(std2wx(str));
+      mText->SetDefaultStyle(style);
+     
+      if (mPrintf) 
+       {
+         printf(\"%s\",str.c_str());
+       }
+    };
+"
+       
+       
+       
+       
+      end
+
+      attribute 134402 "mText"
+       private explicit_type "wxTextCtrl"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 134530 "mPrintf"
+       private explicit_type "bool"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 134658 "m_ostr"
+       private explicit_type "std::ostream"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} & ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 134786 "m_sbufOld"
+       private explicit_type "std::streambuf"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 134914 "mColour"
+       private explicit_type "wxColour"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      operation 160770 "overflow"
+       cpp_inline private explicit_return_type "int"
+       nparams 1
+         param in name "c" explicit_type "int"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+      sync();
+      
+      if (c != EOF)
+        {
+         if (pbase() == epptr())
+            {
+             std::string temp;
+             temp += char(c);
+             writeString(temp);
+            }
+         else
+           sputc(c);
+        }
+      
+      return 0;
+    };
+"
+       
+       
+       
+       
+      end
+
+      operation 160898 "sync"
+       cpp_inline private explicit_return_type "int"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+      if (pbase() != pptr())
+        {
+         int len = int(pptr() - pbase());
+         std::string temp(pbase(), len);
+         writeString(temp);
+         setp(pbase(), epptr());
+        }
+      return 0;
+    };
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 138370 "typedef22"
+      visibility package stereotype "typedef" explicit_base_type "std::streambuf"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 154242 "VirtualExec"
+      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 ""
+      
+    end
+
+    class 154370 "Factory"
+      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 143106 // ((:Pointer)PackageMapType)
+       relation 143106 ---> name "(:Pointer)PackageMapType"
+         a role_name "" multiplicity "*" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 143106 // ((:Pointer)PackageMapType)
+         b parent class_ref 154882 // Package
+      end
+    end
+
+    class 154498 "Interpreter"
+      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 142210 // ((::WeakPointer)mRealExecuter)
+       relation 142210 ---> name "(::WeakPointer)mRealExecuter"
+         a role_name "" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 142210 // ((::WeakPointer)mRealExecuter)
+         b parent class_ref 131074 // Executer
+      end
+
+      classrelation 142338 // ((::Pointer)mVirtualExecuter)
+       relation 142338 ---> name "(::Pointer)mVirtualExecuter"
+         a role_name "" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 142338 // ((::Pointer)mVirtualExecuter)
+         b parent class_ref 154242 // VirtualExec
+      end
+
+      classrelation 142466 // (mUser)
+       relation 142466 ---> name "mUser"
+         a role_name "" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 142466 // (mUser)
+         b parent class_ref 154626 // InterpreterUser
+      end
+    end
+
+    class 154626 "InterpreterUser"
+      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 ""
+      
+    end
+
+    class 154754 "ComplexBlackBoxDescriptor"
+      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 142850 // ((::WeakPointer)mFactory)
+       relation 142850 ---> name "(::WeakPointer)mFactory"
+         a role_name "" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 142850 // ((::WeakPointer)mFactory)
+         b parent class_ref 154370 // Factory
+      end
+
+      classrelation 142978 // ((::Pointer)mPrototype)
+       relation 142978 ---> name "(::Pointer)mPrototype"
+         a role_name "" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 142978 // ((::Pointer)mPrototype)
+         b parent class_ref 155010 // ComplexBlackBox
+      end
+
+      classrelation 143490 // ((::Pointer)mBlackBoxMap)
+       relation 143490 ---> name "(::Pointer)mBlackBoxMap"
+         a role_name "" multiplicity "*" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 143490 // ((::Pointer)mBlackBoxMap)
+         b parent class_ref 155138 // BlackBox
+      end
+
+      classrelation 145410 // <generalisation>
+       relation 145410 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 145410 // <generalisation>
+         b parent class_ref 156546 // BlackBoxDescriptor
+      end
+    end
+
+    class 154882 "Package"
+      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 147586 // (mBlackBoxMap)
+       relation 147586 ---> name "mBlackBoxMap"
+         stereotype "map"
+         a role_name "" multiplicity "*" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 147586 // (mBlackBoxMap)
+         b parent class_ref 156546 // BlackBoxDescriptor
+      end
+
+      classrelation 147714 // ((::WeakPointer)mFactorySet)
+       relation 147714 ---> name "(::WeakPointer)mFactorySet"
+         stereotype "set"
+         a role_name "" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 147714 // ((::WeakPointer)mFactorySet)
+         b parent class_ref 154370 // Factory
+      end
+
+      classrelation 147842 // ((::WeakPointer)mAdaptorMapType)
+       relation 147842 ---> name "(::WeakPointer)mAdaptorMapType"
+         stereotype "map"
+         a role_name "" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 147842 // ((::WeakPointer)mAdaptorMapType)
+         b parent class_ref 156546 // BlackBoxDescriptor
+      end
+    end
+
+    class 155010 "ComplexBlackBox"
+      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 143234 // ((::Pointer)mLockedDescriptor)
+       relation 143234 ---> name "(::Pointer)mLockedDescriptor"
+         a role_name "" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 143234 // ((::Pointer)mLockedDescriptor)
+         b parent class_ref 154754 // ComplexBlackBoxDescriptor
+      end
+
+      classrelation 143362 // ((::WeakPointer)mDescriptor)
+       relation 143362 ---> name "(::WeakPointer)mDescriptor"
+         a role_name "" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 143362 // ((::WeakPointer)mDescriptor)
+         b parent class_ref 154754 // ComplexBlackBoxDescriptor
+      end
+
+      classrelation 143618 // ((::Pointer)mBlackBoxMap)
+       relation 143618 ---> name "(::Pointer)mBlackBoxMap"
+         a role_name "" multiplicity "*" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 143618 // ((::Pointer)mBlackBoxMap)
+         b parent class_ref 155138 // BlackBox
+      end
+
+      classrelation 143746 // ((::Pointer)mConnectionList)
+       relation 143746 ---> name "(::Pointer)mConnectionList"
+         a role_name "" multiplicity "*" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 143746 // ((::Pointer)mConnectionList)
+         b parent class_ref 155266 // Connection
+      end
+
+      classrelation 145282 // <generalisation>
+       relation 145282 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 145282 // <generalisation>
+         b parent class_ref 155138 // BlackBox
+      end
+    end
+
+    class 155138 "BlackBox"
+      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 143874 // (mInputConnectorMap)
+       relation 143874 ---> name "mInputConnectorMap"
+         a role_name "" multiplicity "*" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 143874 // (mInputConnectorMap)
+         b parent class_ref 155266 // Connection
+      end
+
+      classrelation 144002 // (mOutputConnectorMap)
+       relation 144002 ---> name "mOutputConnectorMap"
+         a role_name "" multiplicity "*" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 144002 // (mOutputConnectorMap)
+         b parent class_ref 155266 // Connection
+      end
+    end
+
+    class 155266 "Connection"
+      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 ""
+      
+    end
+
+    class 156418 "AtomicBlackBox"
+      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 145154 // <generalisation>
+       relation 145154 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 145154 // <generalisation>
+         b parent class_ref 155138 // BlackBox
+      end
+    end
+
+    class 156546 "BlackBoxDescriptor"
+      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 145538 // (mInput)
+       relation 145538 ---> name "mInput"
+         a role_name "" multiplicity "*" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 145538 // (mInput)
+         b parent class_ref 156674 // BlackBoxInputDescriptor
+      end
+
+      classrelation 145666 // (mOutput)
+       relation 145666 ---> name "mOutput"
+         a role_name "" multiplicity "*" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 145666 // (mOutput)
+         b parent class_ref 156802 // BlackBoxOutputDescriptor
+      end
+
+    end
+
+    class 156674 "BlackBoxInputDescriptor"
+      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 ""
+      
+    end
+
+    class 156802 "BlackBoxOutputDescriptor"
+      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 ""
+      
+    end
+
+    class 156930 "ComplexBlackBoxInputDescriptor"
+      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 145794 // <generalisation>
+       relation 145794 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 145794 // <generalisation>
+         b parent class_ref 156674 // BlackBoxInputDescriptor
+      end
+    end
+
+    class 157058 "ComplexBlackBoxOutputDescriptor"
+      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 145922 // <generalisation>
+       relation 145922 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 145922 // <generalisation>
+         b parent class_ref 156802 // BlackBoxOutputDescriptor
+      end
+    end
+
+    class 157186 "WxBlackBox"
+      visibility package 
+      nactuals 1
+      actual class class_ref 135554 // WidgetBlackBox
+        rank 0 explicit_value ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      classrelation 146178 // <generalisation>
+       relation 146178 ---|>
+         stereotype "wxWindow"
+         a public
+           cpp default "${type}"
+           classrelation_ref 146178 // <generalisation>
+         b parent class_ref 135554 // WidgetBlackBox
+      end
+    end
+
+    class 157314 "QtBlackBox"
+      visibility package 
+      nactuals 1
+      actual class class_ref 135554 // WidgetBlackBox
+        rank 0 explicit_value ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      classrelation 146050 // <generalisation>
+       relation 146050 ---|>
+         stereotype "qt"
+         a public
+           cpp default "${type}"
+           classrelation_ref 146050 // <generalisation>
+         b parent class_ref 135554 // WidgetBlackBox
+      end
+    end
+  end
+
+  deploymentview 128002 "src"
+    //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 128002 "bbtkAny"
+      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 128002 // anyplaceholder
+       class_ref 128130 // anyholder
+       class_ref 128258 // anyholder<ValueType*>
+       class_ref 128386 // any
+       class_ref 128770 // thing
+       class_ref 128898 // integer
+       class_ref 129026 // floating_point
+       class_ref 129154 // number
+      end
+    end
+
+    artifact 128130 "bbtkAtomicBlackBoxGetSetFunctor"
+      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 129282 // AtomicBlackBoxSetFunctor
+       class_ref 129666 // typedef1
+       class_ref 129538 // AtomicBlackBoxTGetFunctor
+       class_ref 129922 // AtomicBlackBoxTSetFunctor
+       class_ref 130178 // AtomicBlackBoxTSetFunctor<UBB,T*,TACCESS*>
+      end
+    end
+
+    artifact 128258 "bbtkBlackBox"
+      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 130434 // Void
+      end
+    end
+
+    artifact 128386 "bbtkComplexBlackBoxDescriptor"
+      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 130562 // ComplexBlackBoxPointer
+      end
+    end
+
+    artifact 128514 "bbtkConnection"
+      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 130690 // IOStatus
+      end
+    end
+
+    artifact 128642 "bbtkData"
+      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 129410 // Data
+       class_ref 130818 // DataInfo
+      end
+    end
+
+    artifact 128770 "bbtkDynamicLibraryHandling"
+      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 130946 // DynamicLibraryHandler
+      end
+    end
+
+    artifact 128898 "bbtkExecuter"
+      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 131202 // typedef2
+       class_ref 131074 // Executer
+      end
+    end
+
+    artifact 129026 "bbtkKWBlackBox"
+      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 131714 // typedef3
+       class_ref 131842 // typedef4
+       class_ref 131970 // typedef5
+       class_ref 132098 // typedef6
+       class_ref 132226 // typedef7
+       class_ref 132354 // typedef8
+       class_ref 132482 // typedef9
+      end
+    end
+
+    artifact 129282 "bbtkQtBlackBox"
+      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 133122 // typedef10
+       class_ref 133250 // typedef11
+      end
+    end
+
+    artifact 129410 "bbtkQtBlackBoxDialog"
+      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 133634 // typedef12
+       class_ref 133378 // QtBlackBoxDialog
+      end
+    end
+
+    artifact 129538 "bbtkQtBlackBoxDialogParent"
+      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 133890 // typedef13
+       class_ref 134018 // typedef14
+       class_ref 133506 // QtBlackBoxDialogParent
+      end
+    end
+
+    artifact 129666 "bbtkRTTI"
+      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 128642 // TypeInfo
+      end
+    end
+
+    artifact 129922 "bbtkSystem"
+      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 134914 // System
+      end
+    end
+
+    artifact 130050 "bbtkTranscriptor"
+      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 135042 // Transcriptor
+      end
+    end
+
+    artifact 130178 "bbtkTypeMapping"
+      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 135298 // TypeMapping
+      end
+    end
+
+    artifact 130306 "bbtkWidgetBlackBox"
+      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 135682 // typedef15
+       class_ref 135554 // WidgetBlackBox
+       class_ref 136194 // WidgetPointer
+      end
+    end
+
+    artifact 130562 "bbtkWxBlackBox"
+      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 136706 // typedef16
+       class_ref 136834 // typedef17
+      end
+    end
+
+    artifact 130690 "bbtkWxGUIHtmlBrowser"
+      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 137090 // typedef18
+       class_ref 137218 // typedef19
+       class_ref 136962 // WxHtmlWindow
+       class_ref 137346 // WxGUIHtmlBrowserUser
+      end
+    end
+
+    artifact 130818 "bbtkWxGUIPackageBrowser2"
+      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 137602 // typedef20
+       class_ref 137474 // WxGUIBlackBoxInfo
+       class_ref 137730 // WxGUIBlackBoxListUser
+       class_ref 137986 // typedef21
+       class_ref 137858 // WxGUIBlackBoxList
+      end
+    end
+
+    artifact 130946 "bbtkWxGUITextEditor"
+      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 138114 // WxGUITextEditorPage
+      end
+    end
+
+    artifact 131074 "bbtkWxStreamRedirector"
+      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 138370 // typedef22
+       class_ref 138242 // WxStreamRedirector
+      end
+    end
+  end
+
+  package_ref 128386 // src
+
+  package_ref 128514 // ThirdParty
+end
diff --git a/doc/bouml/bbtkk/128386 b/doc/bouml/bbtkk/128386
new file mode 100644 (file)
index 0000000..20d5e5a
--- /dev/null
@@ -0,0 +1,1368 @@
+format 66
+"src" // bbtk::kernel::src::src
+  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 128130 "src"
+    //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 132610 "SignalObserver"
+      visibility package stereotype "typedef" explicit_base_type "boost::signals::trackable"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 132738 "QWidget"
+      visibility package stereotype "typedef" explicit_base_type "void"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " define QWidget"
+    end
+
+    class 132866 "QBusyCursor"
+      visibility package stereotype "typedef" explicit_base_type "void"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 134146 "int8_t"
+      visibility package stereotype "typedef" explicit_base_type "signed char"
+      cpp_decl "${comment}typedef ${type}         ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 134274 "int16_t"
+      visibility package stereotype "typedef" explicit_base_type "signed short"
+      cpp_decl "${comment}typedef ${type}        ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 134402 "int32_t"
+      visibility package stereotype "typedef" explicit_base_type "signed int"
+      cpp_decl "${comment}typedef ${type}          ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 134530 "uint8_t"
+      visibility package stereotype "typedef" explicit_base_type "unsigned char"
+      cpp_decl "${comment}typedef ${type}       ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 134658 "uint16_t"
+      visibility package stereotype "typedef" explicit_base_type "unsigned short"
+      cpp_decl "${comment}typedef ${type}      ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 134786 "uint32_t"
+      visibility package stereotype "typedef" explicit_base_type "unsigned int"
+      cpp_decl "${comment}typedef ${type}        ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 136322 "wxWindow"
+      visibility package stereotype "typedef" explicit_base_type "void"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " define wxWindow"
+    end
+
+    class 136450 "wxBusyCursor"
+      visibility package stereotype "typedef" explicit_base_type "void"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 138498 "BBPointer"
+      visibility package stereotype "typedef" explicit_base_type "bbtk::KWBlackBox::Pointer"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 138626 "BBWeakPointer"
+      visibility package stereotype "typedef" explicit_base_type "bbtk::KWBlackBox::WeakPointer"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 138754 "XMLError"
+      visibility package stereotype "enum"
+      cpp_decl "${comment}enum ${name} {
+${items}
+};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " Enumeration for XML parse errors."
+      attribute 135042 "eXMLErrorNone"
+       public type class_ref 138754 // XMLError
+       init_value "= 0"
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 135170 "eXMLErrorMissingEndTag"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 135298 "eXMLErrorEmpty"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 135426 "eXMLErrorFirstNotStartTag"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 135554 "eXMLErrorMissingTagName"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 135682 "eXMLErrorMissingEndTagName"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 135810 "eXMLErrorNoMatchingQuote"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 135938 "eXMLErrorUnmatchedEndTag"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 136066 "eXMLErrorUnmatchedEndClearTag"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 136194 "eXMLErrorUnexpectedToken"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 136322 "eXMLErrorInvalidTag"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 136450 "eXMLErrorNoElements"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 136578 "eXMLErrorFileNotFound"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 136706 "eXMLErrorFirstTagNotFound"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 136834 "eXMLErrorUnknownCharacterEntity"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 136962 "eXMLErrorCharConversionError"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 137090 "eXMLErrorCannotOpenWriteFile"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 137218 "eXMLErrorCannotWriteFile"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 137346 "eXMLErrorBase64DataSizeIsNotMultipleOf4"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 137474 "eXMLErrorBase64DecodeIllegalCharacter"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 137602 "eXMLErrorBase64DecodeTruncatedData"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 137730 "eXMLErrorBase64DecodeBufferTooSmall"
+       public type class_ref 138754 // XMLError
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 138882 "XMLElementType"
+      visibility package stereotype "enum"
+      cpp_decl "${comment}enum ${name} {
+${items}
+};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " Enumeration used to manage type of data. Use in conjunction with structure XMLNodeContents"
+      attribute 137858 "eNodeChild"
+       public type class_ref 138882 // XMLElementType
+       init_value "=0"
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 137986 "eNodeAttribute"
+       public type class_ref 138882 // XMLElementType
+       init_value "=1"
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 138114 "eNodeText"
+       public type class_ref 138882 // XMLElementType
+       init_value "=2"
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 138242 "eNodeClear"
+       public type class_ref 138882 // XMLElementType
+       init_value "=3"
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 138370 "eNodeNULL"
+       public type class_ref 138882 // XMLElementType
+       init_value "=4
+"
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 139010 "XMLResults"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " Structure used to obtain error details if the parse fails."
+      classrelation 134658 // error (<directional composition>)
+       relation 134658 *-->
+         a role_name "error" public
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}enum ${type} ${name}${value};
+"
+           classrelation_ref 134658 // error (<directional composition>)
+         b parent class_ref 138754 // XMLError
+      end
+    end
+
+    class 139138 "XMLClear"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " Structure for XML clear (unformatted) node (usually comments)"
+      attribute 138498 "lpszValue"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 138626 "lpszOpenTag"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 138754 "lpszCloseTag"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 139266 "XMLAttribute"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " Structure for XML attribute."
+      attribute 138882 "lpszName"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 139010 "lpszValue"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 139394 "ALLXMLClearTag"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " Structure for XML clear tags."
+      attribute 139138 "lpszOpen"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 139266 "openTagLen"
+       public explicit_type "int"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 139394 "lpszClose"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 139522 "DLLENTRY"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 139650 "XMLNodeContents"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " This structure is given by the function \"enumContents\"."
+      classrelation 134786 // type (<directional composition>)
+       relation 134786 *-->
+         a role_name "type" public
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}enum ${type} ${name}${value};
+"
+           classrelation_ref 134786 // type (<directional composition>)
+         b parent class_ref 138882 // XMLElementType
+      end
+
+      attribute 139522 "child"
+       public explicit_type "XMLNode"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      classrelation 134914 // attrib (<directional composition>)
+       relation 134914 *-->
+         a role_name "attrib" public
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+           classrelation_ref 134914 // attrib (<directional composition>)
+         b parent class_ref 139266 // XMLAttribute
+      end
+
+      attribute 139650 "text"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      classrelation 135042 // clear (<directional composition>)
+       relation 135042 *-->
+         a role_name "clear" public
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+           classrelation_ref 135042 // clear (<directional composition>)
+         b parent class_ref 139138 // XMLClear
+      end
+    end
+
+    class 153346 "XMLCharacterEntity"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " You can modify the initialization of the variable \"XMLEntities\" below
+ to change the character entities that are currently recognized by the library.
+ The number on the second columns is the length of the string inside the
+ first column. Additionally, the syntaxes \"&#xA0;\" and \"&#160;\" are recognized."
+      attribute 158594 "s"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 158722 "l"
+       public explicit_type "int"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 158850 "c"
+       public explicit_type "XMLCHAR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 153474 "XMLTokenTypeTag"
+      visibility package stereotype "enum"
+      cpp_decl "${comment}enum ${name} {
+${items}
+};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " Enumeration used to decipher what type a token is"
+      attribute 158978 "eTokenText"
+       public type class_ref 153474 // XMLTokenTypeTag
+       init_value "= 0"
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 159106 "eTokenQuotedText"
+       public type class_ref 153474 // XMLTokenTypeTag
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 159234 "eTokenTagStart"
+       public type class_ref 153474 // XMLTokenTypeTag
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 159362 "eTokenTagEnd"
+       public type class_ref 153474 // XMLTokenTypeTag
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 159490 "eTokenCloseTag"
+       public type class_ref 153474 // XMLTokenTypeTag
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 159618 "eTokenEquals"
+       public type class_ref 153474 // XMLTokenTypeTag
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 159746 "eTokenDeclaration"
+       public type class_ref 153474 // XMLTokenTypeTag
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 159874 "eTokenShortHandClose"
+       public type class_ref 153474 // XMLTokenTypeTag
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 160002 "eTokenClear"
+       public type class_ref 153474 // XMLTokenTypeTag
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 160130 "eTokenError"
+       public type class_ref 153474 // XMLTokenTypeTag
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 153602 "XMLTokenType"
+      visibility package stereotype "typedef" base_type class_ref 153474 // XMLTokenTypeTag
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 153730 "XML"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " \"<\"            
+ \"</\"           
+ \">\"            
+ \"=\"            
+ \"<?\"           
+ \"/>\"           
+ Main structure used for parsing XML"
+      attribute 160258 "lpXML"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 160386 "lpszText"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      classrelation 141698 // error (<directional composition>)
+       relation 141698 *-->
+         a role_name "error" public
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}enum ${type} ${name}${value};
+"
+           classrelation_ref 141698 // error (<directional composition>)
+         b parent class_ref 138754 // XMLError
+      end
+
+      attribute 160514 "lpEndTag"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 160642 "cbEndTag"
+       public explicit_type "int"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 160770 "lpNewElement"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 160898 "cbNewElement"
+       public explicit_type "int"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 161026 "nFirst"
+       public explicit_type "int"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 153858 "NextToken"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      classrelation 141826 // pClr (<unidirectional association>)
+       relation 141826 --->
+         a role_name "pClr" public
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 141826 // pClr (<unidirectional association>)
+         b parent class_ref 139394 // ALLXMLClearTag
+      end
+
+      attribute 161154 "pStr"
+       public explicit_type "XMLCSTR"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 153986 "Attrib"
+      visibility package stereotype "enum"
+      cpp_decl "${comment}enum ${name} {
+${items}
+};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " Enumeration used when parsing attributes"
+      attribute 161282 "eAttribName"
+       public type class_ref 153986 // Attrib
+       init_value "= 0"
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 161410 "eAttribEquals"
+       public type class_ref 153986 // Attrib
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 161538 "eAttribValue"
+       public type class_ref 153986 // Attrib
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 154114 "Status"
+      visibility package stereotype "enum"
+      cpp_decl "${comment}enum ${name} {
+${items}
+};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment " Enumeration used when parsing elements to dictate whether we are currently
+ inside a tag"
+      attribute 161666 "eInsideTag"
+       public type class_ref 154114 // Status
+       init_value "= 0"
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 161794 "eOutsideTag"
+       public type class_ref 154114 // Status
+       cpp_decl "  ${name}${value},${comment}"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+  end
+
+  deploymentview 128130 "src"
+    //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 129154 "bbtkQt"
+      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 132610 // SignalObserver
+       class_ref 132738 // QWidget
+       class_ref 132866 // QBusyCursor
+      end
+    end
+
+    artifact 129794 "bbtkSystem"
+      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 134146 // int8_t
+       class_ref 134274 // int16_t
+       class_ref 134402 // int32_t
+       class_ref 134530 // uint8_t
+       class_ref 134658 // uint16_t
+       class_ref 134786 // uint32_t
+      end
+    end
+
+    artifact 130434 "bbtkWx"
+      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 136322 // wxWindow
+       class_ref 136450 // wxBusyCursor
+      end
+    end
+
+    artifact 131202 "vtkKWBlackBoxDialog"
+      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 138498 // BBPointer
+       class_ref 138626 // BBWeakPointer
+      end
+    end
+
+    artifact 131330 "xmlParser"
+      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 138754 // XMLError
+       class_ref 138882 // XMLElementType
+       class_ref 139010 // XMLResults
+       class_ref 139138 // XMLClear
+       class_ref 139266 // XMLAttribute
+       class_ref 139394 // ALLXMLClearTag
+       class_ref 139650 // XMLNodeContents
+      end
+    end
+
+    artifact 137218 "XMLCharacterEntity"
+      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 153346 // XMLCharacterEntity
+      end
+    end
+
+    artifact 137346 "XMLTokenTypeTag"
+      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 153474 // XMLTokenTypeTag
+      end
+    end
+
+    artifact 137474 "XMLTokenType"
+      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 153602 // XMLTokenType
+      end
+    end
+
+    artifact 137602 "XML"
+      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 153730 // XML
+      end
+    end
+
+    artifact 137730 "NextToken"
+      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 153858 // NextToken
+      end
+    end
+
+    artifact 137858 "Attrib"
+      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 153986 // Attrib
+      end
+    end
+
+    artifact 137986 "Status"
+      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 154114 // Status
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/128514 b/doc/bouml/bbtkk/128514
new file mode 100644 (file)
index 0000000..62917ba
--- /dev/null
@@ -0,0 +1,30 @@
+format 66
+"ThirdParty" // bbtk::kernel::src::ThirdParty
+  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
+  
+  package_ref 128642 // wx
+end
diff --git a/doc/bouml/bbtkk/128642 b/doc/bouml/bbtkk/128642
new file mode 100644 (file)
index 0000000..dbf49dc
--- /dev/null
@@ -0,0 +1,30 @@
+format 66
+"wx" // bbtk::kernel::src::ThirdParty::wx
+  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
+  
+  package_ref 128770 // treemultictrl
+end
diff --git a/doc/bouml/bbtkk/128770 b/doc/bouml/bbtkk/128770
new file mode 100644 (file)
index 0000000..7ef7643
--- /dev/null
@@ -0,0 +1,4523 @@
+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
diff --git a/doc/bouml/bbtkk/128898 b/doc/bouml/bbtkk/128898
new file mode 100644 (file)
index 0000000..06a69a4
--- /dev/null
@@ -0,0 +1,42 @@
+format 66
+"packages" // bbtk::packages
+  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
+  
+  package_ref 129026 // itk
+
+  package_ref 129282 // itkvtk
+
+  package_ref 129538 // kw
+
+  package_ref 129922 // std
+
+  package_ref 130178 // vtk
+
+  package_ref 130562 // wx
+
+  package_ref 130818 // wxvtk
+end
diff --git a/doc/bouml/bbtkk/129026 b/doc/bouml/bbtkk/129026
new file mode 100644 (file)
index 0000000..543a3e9
--- /dev/null
@@ -0,0 +1,30 @@
+format 66
+"itk" // bbtk::packages::itk
+  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
+  
+  package_ref 129154 // src
+end
diff --git a/doc/bouml/bbtkk/129154 b/doc/bouml/bbtkk/129154
new file mode 100644 (file)
index 0000000..9a6a95a
--- /dev/null
@@ -0,0 +1,1999 @@
+format 66
+"src" // bbtk::packages::itk::src
+  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
+  
+  cpp_namespace "bbitk"
+  classview 128386 "src"
+    //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 141186 "AnyImageToTypedImage"
+      visibility package 
+      nformals 1
+      formal name "itkImageTypePointer" type "class" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "=================================================================
+ BlackBox declaration"
+      classrelation 136194 // <generalisation>
+       relation 136194 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 136194 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      operation 185218 "DoIt"
+       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}}
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 141314 "typedef25"
+      visibility package stereotype "typedef" explicit_base_type "bbtk::AtomicBlackBox"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 141442 "AnyImageToConstTypedImage"
+      visibility package 
+      nformals 2
+      formal name "itkImageTypePointer" type "class" explicit_default_value ""
+        explicit_extends ""
+      formal name "itkImageTypeConstPointer" type "class" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "===================================================
+=================================================================
+ BlackBox declaration"
+      classrelation 136322 // <generalisation>
+       relation 136322 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 136322 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      operation 185346 "DoIt"
+       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}}
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 141570 "BinaryThresholdImageFilter"
+      visibility package 
+      nformals 1
+      formal name "T" type "class" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "==================================================="
+      classrelation 136450 // <generalisation>
+       relation 136450 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 136450 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      classrelation 136578 // <generalisation>
+       relation 136578 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 136578 // <generalisation>
+         b parent class_ref 141698 // typedef26
+      end
+
+      class 141826 "itkParent"
+       visibility package stereotype "typedef" explicit_base_type "itk::BinaryThresholdImageFilter<T,T>"
+       cpp_decl "${comment}typedef ${type} ${name};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+    end
+
+    class 141698 "typedef26"
+      visibility package stereotype "typedef" explicit_base_type "itk::BinaryThresholdImageFilter<T,T>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 141954 "BinaryThresholdImageFilterGeneric"
+      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 "===================================================
+===================================================
+ Generic \"untemplatized\" filter
+==================================================="
+      classrelation 136706 // <generalisation>
+       relation 136706 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 136706 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      operation 185474 "ProcessSwitch"
+       preserve_cpp_body_indent cpp_inline 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 185602 "Process"
+       stereotype "template"
+       preserve_cpp_body_indent private explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}template<class T>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "//===================================================
+//===================================================
+
+${comment}template<class T>
+${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 142082 "ExtractImageFilter"
+      visibility package 
+      nformals 1
+      formal name "T" type "class" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "===================================================
+/ Template filter"
+      classrelation 136834 // <generalisation>
+       relation 136834 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 136834 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      classrelation 136962 // <generalisation>
+       relation 136962 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 136962 // <generalisation>
+         b parent class_ref 142210 // typedef27
+      end
+
+      class 142338 "itkParent"
+       visibility package stereotype "typedef" explicit_base_type "itk::ExtractImageFilter<T,T>"
+       cpp_decl "${comment}typedef ${type} ${name};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+    end
+
+    class 142210 "typedef27"
+      visibility package stereotype "typedef" explicit_base_type "itk::ExtractImageFilter<T,T>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 142466 "ExtractImageFilterGeneric"
+      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 "===================================================
+===================================================
+ Generic \"untemplatized\" filter
+==================================================="
+      classrelation 137090 // <generalisation>
+       relation 137090 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 137090 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      operation 185730 "ProcessSwitch"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 185858 "Process"
+       stereotype "template"
+       preserve_cpp_body_indent private explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}template<class T>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "//===================================================
+//===================================================
+// The main processing method is template on the itk image type 
+// which was set to the input. 
+// It is called by the ProcessSwitch method which checks the input In type
+// and calls Process<T> where T is the right type.
+
+${comment}template<class T>
+${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 142594 "TypeMapping"
+      visibility package 
+      nformals 1
+      formal name "ValueType" type "typename" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "/"
+      operation 185986 "TypeMapping"
+       cpp_inline public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw} {};
+"
+       
+       
+       
+       
+      end
+
+      operation 186114 "value"
+       stereotype "template"
+       cpp_inline public explicit_return_type "ValueType"
+       nparams 0
+       cpp_decl "    ${comment}template<typename T>
+  ${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract} {
+    return m_map[ (void*)typeid(T).name() ];
+  };
+"
+       
+       
+       
+       
+      end
+
+      operation 186242 "operator []"
+       stereotype "template"
+       cpp_inline public explicit_return_type "ValueType"
+       nparams 1
+         param in name "" explicit_type "T"
+       cpp_decl "    ${comment}template<typename T>
+  ${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+    return m_map[ (void*)typeid(T).name() ];
+  };
+"
+       
+       
+       
+       
+      end
+
+      operation 186370 "operator []"
+       cpp_inline public explicit_return_type "ValueType"
+       nparams 1
+         param in name "t" explicit_type "std::type_info"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} {
+    return m_map[ (void*)t.name() ];
+  };
+"
+       
+       
+       
+       
+      end
+
+      operation 186498 "size"
+       const cpp_inline public explicit_return_type "uint"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return m_map.size(); };
+"
+       
+       
+       
+       
+      end
+
+      class 142722 "const_iterator"
+       visibility package stereotype "typedef" explicit_base_type "std::map<void*, ValueType>::const_iterator"
+       cpp_decl "${comment}typedef  typename ${type} ${name};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      operation 186626 "begin"
+       const cpp_inline public return_type class_ref 142722 // const_iterator
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return m_map.begin(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 186754 "end"
+       const cpp_inline public return_type class_ref 142722 // const_iterator
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return m_map.end(); };
+"
+       
+       
+       
+       
+      end
+
+      attribute 143618 "m_map"
+       protected explicit_type "void*, ValueType"
+       stereotype "std::map"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 142850 "ImagePointer"
+      visibility package stereotype "struct"
+      nformals 1
+      formal name "T" type "typename" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "=======================================================================
+=======================================================================
+ Type traits ImagePointer to define bbtk::any<ImagePointer>
+/ The TypeTraits for all itk::Image pointer types "
+      attribute 143746 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  false"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 142978 "anyImagePointer"
+      visibility package stereotype "typedef" base_type class_ref 142850 // ImagePointer
+      cpp_decl "${comment}typedef bbtk::any<${type}> ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      classrelation 137218 // <dependency>
+       relation 137218 -_->
+         a default
+           cpp default "#include in source"
+           classrelation_ref 137218 // <dependency>
+         b parent class_ref 142850 // ImagePointer
+      end
+    end
+
+    class 143106 "ImagePointer<Image_int8_t_2_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 143874 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 143234 "ImagePointer<Image_int16_t_2_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 144002 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 143362 "ImagePointer<Image_int32_t_2_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 144130 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 143490 "ImagePointer<Image_uint8_t_2_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 144258 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 143618 "ImagePointer<Image_uint16_t_2_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 144386 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 143746 "ImagePointer<Image_uint32_t_2_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 144514 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 143874 "ImagePointer<Image_float_2_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 144642 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 144002 "ImagePointer<Image_double_2_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 144770 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 144130 "ImagePointer<Image_int8_t_3_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 144898 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 144258 "ImagePointer<Image_int16_t_3_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 145026 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 144386 "ImagePointer<Image_int32_t_3_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 145154 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 144514 "ImagePointer<Image_uint8_t_3_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 145282 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 144642 "ImagePointer<Image_uint16_t_3_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 145410 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 144770 "ImagePointer<Image_uint32_t_3_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 145538 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 144898 "ImagePointer<Image_float_3_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 145666 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 145026 "ImagePointer<Image_double_3_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 145794 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 145154 "ImagePointer<Image_int8_t_4_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 145922 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 145282 "ImagePointer<Image_int16_t_4_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 146050 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 145410 "ImagePointer<Image_int32_t_4_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 146178 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 145538 "ImagePointer<Image_uint8_t_4_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 146306 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 145666 "ImagePointer<Image_uint16_t_4_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 146434 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 145794 "ImagePointer<Image_uint32_t_4_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 146562 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 145922 "ImagePointer<Image_float_4_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 146690 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 146050 "ImagePointer<Image_double_4_ptr>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 146818 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 146178 "ImageProperties"
+      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 "=================================================================
+ BlackBox declaration"
+      classrelation 137346 // <generalisation>
+       relation 137346 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 137346 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      operation 186882 "DoIt"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 187010 "DoIt"
+       stereotype "template"
+       private explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}template<class ImageType>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment " Template doit method "
+      end
+    end
+
+    class 146306 "ImageReader"
+      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 "=================================================================
+ BlackBox declaration"
+      classrelation 137474 // <generalisation>
+       relation 137474 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 137474 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      operation 187138 "Read"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 187266 "Read"
+       stereotype "template"
+       private explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}template<class itkImageType>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment " Template read method "
+      end
+    end
+
+    class 146434 "ImageRegion"
+      visibility package stereotype "struct"
+      nformals 1
+      formal name "T" type "typename" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "=======================================================================
+/ Type traits ImageRegion to define bbtk::any<ImageRegion>"
+      attribute 146946 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  false"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 146562 "ImageRegion_2"
+      visibility package stereotype "typedef" explicit_base_type "itk::ImageRegion<2>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 146690 "ImageRegion<ImageRegion_2>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 147074 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 146818 "ImageRegion_3"
+      visibility package stereotype "typedef" explicit_base_type "itk::ImageRegion<3>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 146946 "ImageRegion<ImageRegion_3>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 147202 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 147074 "ImageRegion_4"
+      visibility package stereotype "typedef" explicit_base_type "itk::ImageRegion<4>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 147202 "ImageRegion<ImageRegion_4>"
+      visibility package stereotype "struct"
+      cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      attribute 147330 "value"
+       class_attribute const_attribute public explicit_type "bool"
+       init_value "=  true"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 147330 "anyImageRegion"
+      visibility package stereotype "typedef" base_type class_ref 146434 // ImageRegion
+      cpp_decl "${comment}typedef bbtk::any<${type}> ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "/ "
+      classrelation 137602 // <dependency>
+       relation 137602 -_->
+         a default
+           cpp default "#include in source"
+           classrelation_ref 137602 // <dependency>
+         b parent class_ref 146434 // ImageRegion
+      end
+    end
+
+    class 147458 "ImageRegionCreator"
+      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 " namespace bbtk
+=======================================================================
+/ Black Box which creates an anyImageRegion"
+      classrelation 137730 // <generalisation>
+       relation 137730 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 137730 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      operation 187394 "DoIt"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 187522 "DoItForDimension"
+       stereotype "template"
+       private explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}template< unsigned int Dimension>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 147586 "vectoroflong"
+      visibility package stereotype "typedef" explicit_base_type "std::vector<long>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 147714 "ImageSeriesReader"
+      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 "=================================================================
+ BlackBox declaration"
+      classrelation 137858 // <generalisation>
+       relation 137858 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 137858 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      operation 187650 "Read"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 187778 "Read"
+       stereotype "template"
+       private explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}template<class T>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment " Template read method "
+      end
+    end
+
+    class 147842 "vectorofstring"
+      visibility package stereotype "typedef" explicit_base_type "std::vector<std::string>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 147970 "ImageWriter"
+      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 "=================================================================
+ BlackBox declaration"
+      classrelation 137986 // <generalisation>
+       relation 137986 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 137986 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      operation 187906 "Write"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 188034 "Write"
+       stereotype "template"
+       private explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}template<class ImageType>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment " Template write method "
+      end
+    end
+
+    class 148098 "ResampleImageFilter"
+      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 "==================================================="
+      classrelation 138114 // <generalisation>
+       relation 138114 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 138114 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      operation 188162 "ProcessSwitch"
+       preserve_cpp_body_indent cpp_inline 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 188290 "Process"
+       stereotype "template"
+       preserve_cpp_body_indent private explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}template<class T>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "//===================================================
+//===================================================
+
+${comment}template<class T>
+${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+      end
+
+      attribute 147458 "mOutput"
+       private explicit_type "itk::Object"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 148226 "TypedImageToAnyImage"
+      visibility package 
+      nformals 1
+      formal name "itkImageTypePointer" type "class" explicit_default_value ""
+        explicit_extends ""
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "=================================================================
+ BlackBox declaration"
+      classrelation 138242 // <generalisation>
+       relation 138242 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 138242 // <generalisation>
+         b parent class_ref 141314 // typedef25
+      end
+
+      operation 188418 "DoIt"
+       cpp_inline private explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { bbSetOutputOut( bbGetInputIn() ); bbGetInputIn()->Register(); };
+"
+       
+       
+       
+       
+      end
+    end
+  end
+
+  deploymentview 128386 "src"
+    //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 132226 "bbitkAnyImageToTypedImage"
+      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 141314 // typedef25
+       class_ref 141186 // AnyImageToTypedImage
+       class_ref 141442 // AnyImageToConstTypedImage
+      end
+    end
+
+    artifact 132354 "bbitkBinaryThresholdImageFilter"
+      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 141698 // typedef26
+       class_ref 141570 // BinaryThresholdImageFilter
+       class_ref 141954 // BinaryThresholdImageFilterGeneric
+      end
+    end
+
+    artifact 132482 "bbitkExtractImageFilter"
+      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 142210 // typedef27
+       class_ref 142082 // ExtractImageFilter
+       class_ref 142466 // ExtractImageFilterGeneric
+      end
+    end
+
+    artifact 132610 "bbitkImage"
+      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 142594 // TypeMapping
+       class_ref 142850 // ImagePointer
+       class_ref 142978 // anyImagePointer
+       class_ref 143106 // ImagePointer<Image_int8_t_2_ptr>
+       class_ref 143234 // ImagePointer<Image_int16_t_2_ptr>
+       class_ref 143362 // ImagePointer<Image_int32_t_2_ptr>
+       class_ref 143490 // ImagePointer<Image_uint8_t_2_ptr>
+       class_ref 143618 // ImagePointer<Image_uint16_t_2_ptr>
+       class_ref 143746 // ImagePointer<Image_uint32_t_2_ptr>
+       class_ref 143874 // ImagePointer<Image_float_2_ptr>
+       class_ref 144002 // ImagePointer<Image_double_2_ptr>
+       class_ref 144130 // ImagePointer<Image_int8_t_3_ptr>
+       class_ref 144258 // ImagePointer<Image_int16_t_3_ptr>
+       class_ref 144386 // ImagePointer<Image_int32_t_3_ptr>
+       class_ref 144514 // ImagePointer<Image_uint8_t_3_ptr>
+       class_ref 144642 // ImagePointer<Image_uint16_t_3_ptr>
+       class_ref 144770 // ImagePointer<Image_uint32_t_3_ptr>
+       class_ref 144898 // ImagePointer<Image_float_3_ptr>
+       class_ref 145026 // ImagePointer<Image_double_3_ptr>
+       class_ref 145154 // ImagePointer<Image_int8_t_4_ptr>
+       class_ref 145282 // ImagePointer<Image_int16_t_4_ptr>
+       class_ref 145410 // ImagePointer<Image_int32_t_4_ptr>
+       class_ref 145538 // ImagePointer<Image_uint8_t_4_ptr>
+       class_ref 145666 // ImagePointer<Image_uint16_t_4_ptr>
+       class_ref 145794 // ImagePointer<Image_uint32_t_4_ptr>
+       class_ref 145922 // ImagePointer<Image_float_4_ptr>
+       class_ref 146050 // ImagePointer<Image_double_4_ptr>
+      end
+    end
+
+    artifact 132738 "bbitkImageProperties"
+      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 146178 // ImageProperties
+      end
+    end
+
+    artifact 132866 "bbitkImageReader"
+      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 146306 // ImageReader
+      end
+    end
+
+    artifact 132994 "bbitkImageRegion"
+      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 146434 // ImageRegion
+       class_ref 146562 // ImageRegion_2
+       class_ref 146690 // ImageRegion<ImageRegion_2>
+       class_ref 146818 // ImageRegion_3
+       class_ref 146946 // ImageRegion<ImageRegion_3>
+       class_ref 147074 // ImageRegion_4
+       class_ref 147202 // ImageRegion<ImageRegion_4>
+       class_ref 147330 // anyImageRegion
+       class_ref 147458 // ImageRegionCreator
+       class_ref 147586 // vectoroflong
+      end
+    end
+
+    artifact 133122 "bbitkImageSeriesReader"
+      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 147714 // ImageSeriesReader
+       class_ref 147842 // vectorofstring
+      end
+    end
+
+    artifact 133250 "bbitkImageWriter"
+      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 147970 // ImageWriter
+      end
+    end
+
+    artifact 133378 "bbitkResampleImageFilter"
+      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 148098 // ResampleImageFilter
+      end
+    end
+
+    artifact 133506 "bbitkTypedImageToAnyImage"
+      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 148226 // TypedImageToAnyImage
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/129282 b/doc/bouml/bbtkk/129282
new file mode 100644 (file)
index 0000000..4e1e0e2
--- /dev/null
@@ -0,0 +1,30 @@
+format 66
+"itkvtk" // bbtk::packages::itkvtk
+  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
+  
+  package_ref 129410 // src
+end
diff --git a/doc/bouml/bbtkk/129410 b/doc/bouml/bbtkk/129410
new file mode 100644 (file)
index 0000000..3245c74
--- /dev/null
@@ -0,0 +1,235 @@
+format 66
+"src" // bbtk::packages::itkvtk::src
+  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
+  
+  cpp_namespace "bbitkvtk"
+  classview 128514 "src"
+    //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 148354 "itkImage2vtkImageData"
+      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 138370 // <generalisation>
+       relation 138370 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 138370 // <generalisation>
+         b parent class_ref 148482 // typedef28
+      end
+
+      operation 188546 "Convert"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 188674 "Convert"
+       stereotype "template"
+       private explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}template<class T>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment " Convert method template on type of the itk image 
+ embedded in the input itkImage*"
+      end
+
+      attribute 147586 "mConverter"
+       private explicit_type "itk::ProcessObject::Pointer"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 148482 "typedef28"
+      visibility package stereotype "typedef" explicit_base_type "bbtk::AtomicBlackBox"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 148610 "vtkImageData2itkImage"
+      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 138498 // <generalisation>
+       relation 138498 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 138498 // <generalisation>
+         b parent class_ref 148482 // typedef28
+      end
+
+      operation 188802 "Convert"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 188930 "Convert"
+       stereotype "template"
+       private explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}template<class Ttemplate<  unsigned int D>
+  ${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment " Convert method : template on type of the itk image to be created"
+      end
+
+      attribute 147714 "mConverter"
+       private explicit_type "itk::ProcessObject::Pointer"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+  end
+
+  deploymentview 128514 "src"
+    //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 133634 "bbitkvtkitkImage2vtkImageData"
+      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 148482 // typedef28
+       class_ref 148354 // itkImage2vtkImageData
+      end
+    end
+
+    artifact 133762 "bbitkvtkvtkImageData2itkImage"
+      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 148610 // vtkImageData2itkImage
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/129538 b/doc/bouml/bbtkk/129538
new file mode 100644 (file)
index 0000000..fee366f
--- /dev/null
@@ -0,0 +1,30 @@
+format 66
+"kw" // bbtk::packages::kw
+  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
+  
+  package_ref 129666 // src
+end
diff --git a/doc/bouml/bbtkk/129666 b/doc/bouml/bbtkk/129666
new file mode 100644 (file)
index 0000000..fa764f9
--- /dev/null
@@ -0,0 +1,465 @@
+format 66
+"src" // bbtk::packages::kw::src
+  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
+  
+  cpp_namespace "bbkw"
+  classview 128642 "src"
+    //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 148738 "LayoutSplit"
+      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 138626 // <generalisation>
+       relation 138626 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 138626 // <generalisation>
+         b parent class_ref 148866 // typedef29
+      end
+
+      operation 189058 "CreateWidget"
+       private explicit_return_type "void"
+       nparams 1
+         param inout name "" explicit_type "vtkKWFrame"
+       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 189186 "Process"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 189314 "bbUserConstructor"
+       cpp_virtual protected 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}}
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 148866 "typedef29"
+      visibility package stereotype "typedef" explicit_base_type "bbtk::KWBlackBox"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 148994 "OutputText"
+      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 "#include \"vtkCommand.h\"
+------------------------------------------------------------------------
+ The black box"
+      classrelation 138754 // <generalisation>
+       relation 138754 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 138754 // <generalisation>
+         b parent class_ref 148866 // typedef29
+      end
+
+      operation 189442 "Process"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 189570 "CreateWidget"
+       private explicit_return_type "void"
+       nparams 1
+         param inout name "" explicit_type "vtkKWFrame"
+       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 189698 "bbUserConstructor"
+       cpp_virtual protected 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 "    virtual void Execute(vtkObject* caller, unsigned long, void*);"
+      end
+    end
+
+    class 149122 "Slicer"
+      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 " Namespace of the package \"kw\" is \"bbkw\" 
+ Namespace associated to packages should be of the form :
+ bbPACKAGENAME
+------------------------------------------------------------------------"
+      classrelation 138882 // <generalisation>
+       relation 138882 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 138882 // <generalisation>
+         b parent class_ref 148866 // typedef29
+      end
+
+      operation 189826 "Process"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 189954 "CreateWidget"
+       private explicit_return_type "void"
+       nparams 1
+         param inout name "" explicit_type "vtkKWFrame"
+       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 190082 "bbUserConstructor"
+       cpp_virtual protected 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}}
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 149250 "Slider"
+      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 " Namespace of the package \"kw\" is \"bbkw\" 
+ Namespace associated to packages should be of the form :
+ bbPACKAGENAME
+------------------------------------------------------------------------
+ The black box"
+      classrelation 139010 // <generalisation>
+       relation 139010 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 139010 // <generalisation>
+         b parent class_ref 148866 // typedef29
+      end
+
+      classrelation 139138 // <generalisation>
+       relation 139138 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 139138 // <generalisation>
+         b parent class_ref 149378 // typedef30
+      end
+
+      operation 190210 "Process"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 190338 "CreateWidget"
+       private explicit_return_type "void"
+       nparams 1
+         param inout name "" explicit_type "vtkKWFrame"
+       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 190466 "Execute"
+       cpp_virtual private explicit_return_type "void"
+       nparams 3
+         param inout name "caller" explicit_type "vtkObject"
+         param in name "" explicit_type "ulong"
+         param inout name "" explicit_type "void"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 190594 "bbUserConstructor"
+       cpp_virtual protected 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}}
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 149378 "typedef30"
+      visibility package stereotype "typedef" explicit_base_type "vtkCommand"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+  end
+
+  deploymentview 128642 "src"
+    //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 133890 "bbkwLayoutSplit"
+      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 148866 // typedef29
+       class_ref 148738 // LayoutSplit
+      end
+    end
+
+    artifact 134018 "bbkwOutputText"
+      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 148994 // OutputText
+      end
+    end
+
+    artifact 134146 "bbkwSlicer"
+      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 149122 // Slicer
+      end
+    end
+
+    artifact 134274 "bbkwSlider"
+      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 149378 // typedef30
+       class_ref 149250 // Slider
+      end
+    end
+  end
+
+  package_ref 129794 // src
+end
diff --git a/doc/bouml/bbtkk/129794 b/doc/bouml/bbtkk/129794
new file mode 100644 (file)
index 0000000..d9e305c
--- /dev/null
@@ -0,0 +1,522 @@
+format 66
+"src" // bbtk::packages::kw::src::src
+  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 128770 "src"
+    //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 149506 "vtkKWSlicer"
+      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 "namespace bbkw {"
+      classrelation 139266 // <generalisation>
+       relation 139266 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 139266 // <generalisation>
+         b parent class_ref 149634 // typedef31
+      end
+
+      operation 190722 "New"
+       class_operation public return_type class_ref 149506 // vtkKWSlicer
+       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 190850 "SetImage"
+       public explicit_return_type "void"
+       nparams 1
+         param inout name "" explicit_type "vtkImageData"
+       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 190978 "UpdateImage"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 191106 "SetSliceFromScaleCallback"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param in name "value" explicit_type "double"
+       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 " Description:
+ Callbacks"
+      end
+
+      operation 191234 "SetSliceCallback"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param in name "slice" 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 191362 "GetSliceCallback"
+       cpp_virtual 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 191490 "GetSliceMinCallback"
+       cpp_virtual 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 191618 "GetSliceMaxCallback"
+       cpp_virtual 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 191746 "SetSliceOrientationToXYCallback"
+       cpp_virtual 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 191874 "SetSliceOrientationToXZCallback"
+       cpp_virtual 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 192002 "SetSliceOrientationToYZCallback"
+       cpp_virtual 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 192130 "WindowLevelPresetApplyCallback"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param in name "id" 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 192258 "WindowLevelPresetAddCallback"
+       cpp_virtual 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 192386 "WindowLevelPresetUpdateCallback"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param in name "id" 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 192514 "WindowLevelPresetHasChangedCallback"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param in name "id" 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 192642 "ProcessCallbackCommandEvents"
+       public explicit_return_type "void"
+       nparams 3
+         param inout name "caller" explicit_type "vtkObject"
+         param in name "event" explicit_type "ulong"
+         param inout name "calldata" explicit_type "void"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 192770 "vtkKWSlicer"
+       protected explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 192898 "~vtkKWSlicer"
+       protected explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 193026 "CreateWidget"
+       cpp_virtual protected 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 " Description:
+ Create the widget."
+      end
+
+      attribute 147842 "Frame"
+       protected explicit_type "vtkKWSplitFrame"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 147970 "Image"
+       protected explicit_type "vtkImageData"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 148098 "ImageViewer"
+       protected explicit_type "vtkImageViewer2"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 148226 "SliceScale"
+       protected explicit_type "vtkKWScale"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 148354 "WindowLevelPresetSelector"
+       protected explicit_type "vtkKWWindowLevelPresetSelector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 148482 "RenderWidget"
+       protected explicit_type "vtkKWRenderWidget"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 148610 "AnimationWidget"
+       protected explicit_type "vtkKWSimpleAnimationWidget"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 148738 "OrientationMenu"
+       protected explicit_type "vtkKWMenu"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 148866 "AnnotationEditor"
+       protected explicit_type "vtkKWCornerAnnotationEditor"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      operation 193154 "UpdateSliceRanges"
+       cpp_virtual protected 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 193282 "vtkKWSlicer"
+       private explicit_return_type ""
+       nparams 1
+         param in name "" type class_ref 149506 // vtkKWSlicer
+       cpp_decl "    ${comment}${inline}${name}${(}const ${t0} & ${p0}${v0}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 193410 "operator ="
+       private explicit_return_type "void"
+       nparams 1
+         param in name "" type class_ref 149506 // vtkKWSlicer
+       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 " Not implemented."
+      end
+    end
+
+    class 149634 "typedef31"
+      visibility package stereotype "typedef" explicit_base_type "vtkKWCompositeWidget"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+  end
+
+  deploymentview 128770 "src"
+    //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 134402 "vtkKWSlicer"
+      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 149634 // typedef31
+       class_ref 149506 // vtkKWSlicer
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/129922 b/doc/bouml/bbtkk/129922
new file mode 100644 (file)
index 0000000..bebd93f
--- /dev/null
@@ -0,0 +1,30 @@
+format 66
+"std" // bbtk::packages::std
+  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
+  
+  package_ref 130050 // src
+end
diff --git a/doc/bouml/bbtkk/130050 b/doc/bouml/bbtkk/130050
new file mode 100644 (file)
index 0000000..15d60f6
--- /dev/null
@@ -0,0 +1,252 @@
+format 66
+"src" // bbtk::packages::std::src
+  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
+  
+  cpp_namespace "bbstd"
+  classview 128898 "src"
+    //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 149762 "Tvector"
+      visibility package stereotype "typedef" explicit_base_type "std::vector<T>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 149890 "MagicBoxSetFunctor"
+      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 "==================================================================
+ We have to create a particular SetFunctor for MagicBox because
+ its input is of type bbtk::Data (i.e. any) and :
+ 1) an any cannot store an any (construction with an any invokes the copy constr.)
+ 2) we cannot invoke the Set method with the content of the any because 
+   it expects an any 
+ hence the Set method of the functor **MUST NOT** extract the 
+ content of the Data prior to invoking the set method of the box"
+      classrelation 139394 // <generalisation>
+       relation 139394 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 139394 // <generalisation>
+         b parent class_ref 129282 // AtomicBlackBoxSetFunctor
+      end
+
+      class 150018 "SetMethodPointerType"
+       visibility package stereotype "typedef" explicit_base_type "void"
+       cpp_decl "${comment}typedef ${type}(MagicBox::* ${name})(bbtk::Data);
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      operation 193538 "MagicBoxSetFunctor"
+       cpp_inline public explicit_return_type ""
+       nparams 1
+         param in name "s" type class_ref 150018 // SetMethodPointerType
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}${)}${volatile}${throw} :
+       mSetMethodPointer(s) 
+       {
+       };
+"
+       
+       
+       
+       
+       comment "/ Construction with the pointer on the Set method"
+      end
+
+      operation 193666 "Set"
+       cpp_inline public explicit_return_type "void"
+       nparams 2
+         param inout name "o" explicit_type "bbtk::AtomicBlackBox"
+         param in name "d" type class_ref 129410 // Data
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract} { 
+      bbtkDebugMessage(\"data\",9,\"MagicBoxSetfunctor::Set(\"<<
+                      bbtk::HumanTypeName(d.type())<<
+                      \")\"<<std::endl);
+      (((MagicBox*)o)->*mSetMethodPointer)(d);
+    };
+"
+       
+       
+       
+       
+       comment "/ Concrete application of the Set method of object o"
+      end
+
+      operation 193794 "GetTypeInfo"
+       const cpp_inline public return_type class_ref 128642 // TypeInfo
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return typeid(bbtk::Data); };
+"
+       
+       
+       
+       
+       comment "/ "
+      end
+
+      operation 193922 "GetTypeName"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return bbtk::TypeName<bbtk::Data>(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 194050 "GetHumanTypeName"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return bbtk::HumanTypeName<bbtk::Data>(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 194178 "IsPointerType"
+       const cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return false; };
+"
+       
+       
+       
+       
+      end
+
+      operation 194306 "BruteForceSetPointer"
+       cpp_inline public explicit_return_type "void"
+       nparams 2
+         param inout name "" explicit_type "bbtk::AtomicBlackBox"
+         param inout name "" explicit_type "void"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}${)}${const}${volatile}${throw}${abstract} {};
+"
+       
+       
+       
+       
+      end
+
+      classrelation 139522 // mSetMethodPointer (<directional composition>)
+       relation 139522 *-->
+         a role_name "mSetMethodPointer" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+           classrelation_ref 139522 // mSetMethodPointer (<directional composition>)
+         b parent class_ref 150018 // SetMethodPointerType
+      end
+    end
+  end
+
+  deploymentview 128898 "src"
+    //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 134530 "bbstdGetVectorElement"
+      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 149762 // Tvector
+      end
+    end
+
+    artifact 134658 "bbstdMagicBox"
+      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 149890 // MagicBoxSetFunctor
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/130178 b/doc/bouml/bbtkk/130178
new file mode 100644 (file)
index 0000000..aa3a81b
--- /dev/null
@@ -0,0 +1,30 @@
+format 66
+"vtk" // bbtk::packages::vtk
+  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
+  
+  package_ref 130306 // src
+end
diff --git a/doc/bouml/bbtkk/130306 b/doc/bouml/bbtkk/130306
new file mode 100644 (file)
index 0000000..884cc9e
--- /dev/null
@@ -0,0 +1,772 @@
+format 66
+"src" // bbtk::packages::vtk::src
+  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
+  
+  cpp_namespace "bbvtk"
+  classview 129026 "src"
+    //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 150146 "winLevel"
+      visibility package stereotype "typedef" explicit_base_type "std::vector<double>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 150274 "ImagePlanes"
+      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 139650 // <generalisation>
+       relation 139650 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 139650 // <generalisation>
+         b parent class_ref 150402 // typedef32
+      end
+
+      operation 194434 "Process"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      extra_member 128386 "VtkCallbackType"
+       
+       stereotype "class"
+       cpp "    class VtkCallbackType;
+" ""
+       java ""
+       php ""
+       python ""
+       idl ""
+      end
+
+      attribute 148994 "mVtkCallback"
+       private explicit_type "VtkCallbackType"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 149122 "image"
+       private explicit_type "vtkImageData"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 150402 "typedef32"
+      visibility package stereotype "typedef" explicit_base_type "bbtk::AtomicBlackBox"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 150658 "IsoSurfaceExtractor"
+      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 139778 // <generalisation>
+       relation 139778 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 139778 // <generalisation>
+         b parent class_ref 150402 // typedef32
+      end
+
+      attribute 149250 "firsttime"
+       private explicit_type "bool"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 149378 "marchingcubes"
+       private explicit_type "vtkMarchingCubes"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 149506 "polydatamapper"
+       private explicit_type "vtkPolyDataMapper"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 149634 "vtkactor"
+       private explicit_type "vtkActor"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      operation 194562 "DoProcess"
+       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}}
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 150786 "vectorcolour"
+      visibility package stereotype "typedef" explicit_base_type "std::vector<double>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 150914 "MarchingCubes"
+      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 "======================================================================="
+      classrelation 139906 // <generalisation>
+       relation 139906 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 139906 // <generalisation>
+         b parent class_ref 150402 // typedef32
+      end
+
+      classrelation 140034 // <generalisation>
+       relation 140034 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 140034 // <generalisation>
+         b parent class_ref 151042 // typedef33
+      end
+
+      operation 194690 "bbGetInputValue"
+       cpp_inline private explicit_return_type "double"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return vtkMarchingCubes::GetValue(0); };
+"
+       
+       
+       
+       
+       comment " For the 'Value' parameter, the standard bbtk macro does not work 
+ as vtk Get/Set accessors have a parameter...
+  BBTK_DECLARE_VTK_PARAM(vtkMarchingCubes,Value,double);
+ Hence have to wrap the accessors \"by hand\" :"
+      end
+
+      operation 194818 "bbSetInputValue"
+       cpp_inline private explicit_return_type "void"
+       nparams 1
+         param in name "d" explicit_type "double"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { vtkMarchingCubes::SetValue(0,d); };
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 151042 "typedef33"
+      visibility package stereotype "typedef" explicit_base_type "vtkMarchingCubes"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 151170 "SegmentationConnectivity"
+      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 140162 // <generalisation>
+       relation 140162 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 140162 // <generalisation>
+         b parent class_ref 150402 // typedef32
+      end
+
+      operation 194946 "DoProcess"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      attribute 149762 "cast2"
+       private explicit_type "vtkImageCast"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 149890 "cast4"
+       private explicit_type "vtkImageCast"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+       comment " binary segmentation result"
+      end
+
+      attribute 150018 "thresh2"
+       private explicit_type "vtkImageThreshold"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 150146 "connect2"
+       private explicit_type "vtkImageSeedConnectivity"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 151298 "Transform"
+      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 "#include <vtkLinearTransform.h>"
+      classrelation 140290 // <generalisation>
+       relation 140290 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 140290 // <generalisation>
+         b parent class_ref 150402 // typedef32
+      end
+
+      operation 195074 "Process"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      attribute 150274 "vecScale"
+       private explicit_type "double"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 150402 "vecRotateWXYZ"
+       private explicit_type "double"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 150530 "vecTranslate"
+       private explicit_type "double"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 150658 "vecSpacing"
+       private explicit_type "double"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 150786 "result"
+       private explicit_type "vtkTransform"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 151426 "VecImageGaussianSmooth"
+      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 140418 // <generalisation>
+       relation 140418 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 140418 // <generalisation>
+         b parent class_ref 150402 // typedef32
+      end
+
+      operation 195202 "Process"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      attribute 150914 "VecVtkimagegaussiansmooth"
+       private explicit_type "vtkImageGaussianSmooth *"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 151042 "VecResult"
+       private explicit_type "vtkImageData*"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 151554 "VecIsoSurfaceExtractor"
+      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 140546 // <generalisation>
+       relation 140546 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 140546 // <generalisation>
+         b parent class_ref 150402 // typedef32
+      end
+
+      operation 195330 "Process"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 195458 "Init"
+       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 "       virtual void bbUserConstructor();
+       virtual void bbUserCopyConstructor();
+       virtual void bbUserDestructor();"
+      end
+
+      attribute 151170 "VecMarchingcubes"
+       private explicit_type "vtkMarchingCubes*"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 151298 "VecPolydatamapper"
+       private explicit_type "vtkPolyDataMapper*"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 151426 "VecVtkactor"
+       private explicit_type "vtkProp3D*"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+  end
+
+  deploymentview 129026 "src"
+    //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 134786 "bbvtkImagePlanes"
+      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 150146 // winLevel
+       class_ref 150402 // typedef32
+       class_ref 150274 // ImagePlanes
+      end
+    end
+
+    artifact 135042 "bbvtkIsoSurfaceExtractor"
+      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 150658 // IsoSurfaceExtractor
+       class_ref 150786 // vectorcolour
+      end
+    end
+
+    artifact 135170 "bbvtkMarchingCubes"
+      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 151042 // typedef33
+       class_ref 150914 // MarchingCubes
+      end
+    end
+
+    artifact 135298 "bbvtkSegmentationConnectivity"
+      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 151170 // SegmentationConnectivity
+      end
+    end
+
+    artifact 135426 "bbvtkTransform"
+      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 151298 // Transform
+      end
+    end
+
+    artifact 135554 "bbvtkVecImageGaussianSmooth"
+      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 151426 // VecImageGaussianSmooth
+      end
+    end
+
+    artifact 135682 "bbvtkVecIsoSurfaceExtractor"
+      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 151554 // VecIsoSurfaceExtractor
+      end
+    end
+  end
+
+  package_ref 130434 // src
+end
diff --git a/doc/bouml/bbtkk/130434 b/doc/bouml/bbtkk/130434
new file mode 100644 (file)
index 0000000..48de4d4
--- /dev/null
@@ -0,0 +1,93 @@
+format 66
+"src" // bbtk::packages::vtk::src::src
+  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 129154 "src"
+    //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 150530 "vtkImageDataPointer"
+      visibility package stereotype "typedef" explicit_base_type "vtkImageData"
+      cpp_decl "${comment}typedef ${type}*  ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "=================================================================
+namespace bbvtk
+
+namespace bbvtk
+{
+  typedef vtkImageData* vtkImageDataPointer;
+}
+"
+    end
+  end
+
+  deploymentview 129154 "src"
+    //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 134914 "bbvtkImagePlanes"
+      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 150530 // vtkImageDataPointer
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/130562 b/doc/bouml/bbtkk/130562
new file mode 100644 (file)
index 0000000..6de8e5c
--- /dev/null
@@ -0,0 +1,30 @@
+format 66
+"wx" // bbtk::packages::wx
+  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
+  
+  package_ref 130690 // src
+end
diff --git a/doc/bouml/bbtkk/130690 b/doc/bouml/bbtkk/130690
new file mode 100644 (file)
index 0000000..8127056
--- /dev/null
@@ -0,0 +1,86 @@
+format 66
+"src" // bbtk::packages::wx::src
+  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
+  
+  cpp_namespace "bbwx"
+  classview 129282 "src"
+    //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 151682 "vectorcolour"
+      visibility package stereotype "typedef" explicit_base_type "std::vector<double>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+  end
+
+  deploymentview 129282 "src"
+    //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 135810 "bbwxCommandButton"
+      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 151682 // vectorcolour
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/130818 b/doc/bouml/bbtkk/130818
new file mode 100644 (file)
index 0000000..281ac8f
--- /dev/null
@@ -0,0 +1,30 @@
+format 66
+"wxvtk" // bbtk::packages::wxvtk
+  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
+  
+  package_ref 130946 // src
+end
diff --git a/doc/bouml/bbtkk/130946 b/doc/bouml/bbtkk/130946
new file mode 100644 (file)
index 0000000..227a351
--- /dev/null
@@ -0,0 +1,419 @@
+format 66
+"src" // bbtk::packages::wxvtk::src
+  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
+  
+  cpp_namespace "bbwxvtk"
+  classview 129410 "src"
+    //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 151810 "Viewer2D"
+      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 "------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------"
+      classrelation 140674 // <generalisation>
+       relation 140674 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 140674 // <generalisation>
+         b parent class_ref 151938 // typedef34
+      end
+
+      operation 195586 "Process"
+       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 "   BBTK_ON_SHOW_WIDGET(OnShowWidget);"
+      end
+
+      operation 195714 "CreateWidget"
+       private explicit_return_type "void"
+       nparams 1
+         param inout name "" 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}}
+"
+       
+       
+       
+       
+      end
+    end
+
+    class 151938 "typedef34"
+      visibility package stereotype "typedef" explicit_base_type "bbtk::WxBlackBox"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 152066 "Viewer3DWidget"
+      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 "--------------------------------------------------------------------------"
+      classrelation 140802 // <generalisation>
+       relation 140802 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 140802 // <generalisation>
+         b parent class_ref 152194 // typedef35
+      end
+
+      operation 195842 "Viewer3DWidget"
+       public explicit_return_type ""
+       nparams 3
+         param inout name "box" type class_ref 152322 // Viewer3D
+         param inout name "parent" type class_ref 136322 // wxWindow
+         param in name "stereo" explicit_type "bool"
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}, ${t2} ${p2}${v2}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} * ${p1}, ${t2} ${p2}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 195970 "~Viewer3DWidget"
+       public explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 196098 "Update"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 196226 "GetRenderer"
+       public explicit_return_type "vtkRenderer"
+       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 196354 "GetInteractor"
+       public explicit_return_type "wxVTKRenderWindowInteractor"
+       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 196482 "Refresh"
+       cpp_virtual public explicit_return_type "void"
+       nparams 2
+         param in name "eraseBackground" explicit_type "bool"
+           defaultvalue "true"
+         param in name "rect" explicit_type "wxRect"
+           defaultvalue "NULL"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      classrelation 140930 // mBox (<unidirectional association>)
+       relation 140930 --->
+         a role_name "mBox" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+           classrelation_ref 140930 // mBox (<unidirectional association>)
+         b parent class_ref 152322 // Viewer3D
+      end
+
+      attribute 151554 "renderer"
+       private explicit_type "vtkRenderer"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 151682 "renderwindow"
+       private explicit_type "vtkRenderWindow"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 151810 "interactorstyle"
+       private explicit_type "vtkInteractorStyleTrackballCamera"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 151938 "wxvtkrenderwindowinteractor"
+       private explicit_type "wxVTKRenderWindowInteractor"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 152194 "typedef35"
+      visibility package stereotype "typedef" explicit_base_type "wxPanel"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 152322 "Viewer3D"
+      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 "------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------"
+      classrelation 141058 // <generalisation>
+       relation 141058 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 141058 // <generalisation>
+         b parent class_ref 151938 // typedef34
+      end
+
+      operation 196610 "Process"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 196738 "CreateWidget"
+       private explicit_return_type "void"
+       nparams 1
+         param inout name "" 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 196866 "OnShowWidget"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      attribute 152066 "firsttime"
+       protected explicit_type "bool"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+  end
+
+  deploymentview 129410 "src"
+    //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 135938 "bbwxvtkViewer2D"
+      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 151938 // typedef34
+       class_ref 151810 // Viewer2D
+      end
+    end
+
+    artifact 136066 "bbwxvtkViewer3D"
+      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 152194 // typedef35
+       class_ref 152066 // Viewer3DWidget
+       class_ref 152322 // Viewer3D
+      end
+    end
+  end
+
+  package_ref 131074 // src
+end
diff --git a/doc/bouml/bbtkk/131074 b/doc/bouml/bbtkk/131074
new file mode 100644 (file)
index 0000000..c8fc039
--- /dev/null
@@ -0,0 +1,890 @@
+format 66
+"src" // bbtk::packages::wxvtk::src::src
+  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 129538 "src"
+    //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 152450 "wxvtkImageViewer2"
+      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 141186 // <generalisation>
+       relation 141186 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 141186 // <generalisation>
+         b parent class_ref 152578 // typedef36
+      end
+
+      operation 196994 "New"
+       class_operation public return_type class_ref 152450 // wxvtkImageViewer2
+       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 "VTK_RENDERING_EXPORT"
+      end
+
+      operation 197122 "PrintSelf"
+       public explicit_return_type "void"
+       nparams 2
+         param inout name "os" explicit_type "ostream"
+         param in name "indent" explicit_type "vtkIndent"
+       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 197250 "GetWindowName"
+       cpp_virtual public explicit_return_type "char"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+       cpp_def "${comment}${inline}const ${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment " Description:
+ Get the name of rendering window."
+      end
+
+      operation 197378 "Render"
+       cpp_virtual 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 "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+       
+       
+       
+       
+       comment " Description:
+ Render the resulting image."
+      end
+
+      operation 197506 "SetInput"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param inout name "in" explicit_type "vtkImageData"
+       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 " Description:
+ Set/Get the input image to the viewer."
+      end
+
+      operation 197634 "GetInput"
+       cpp_virtual public explicit_return_type "vtkImageData"
+       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 197762 "SetInputConnection"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param inout name "input" explicit_type "vtkAlgorithmOutput"
+       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
+
+      class 152706 "anonymous2"
+       visibility package stereotype "enum"
+       cpp_decl "${comment}enum  {
+${items}
+};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+       attribute 152194 "SLICE_ORIENTATION_YZ"
+         public type class_ref 152706 // anonymous2
+         init_value "= 0"
+         cpp_decl "  ${name}${value},${comment}"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       attribute 152322 "SLICE_ORIENTATION_XZ"
+         public type class_ref 152706 // anonymous2
+         init_value "= 1"
+         cpp_decl "  ${name}${value},${comment}"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       attribute 152450 "SLICE_ORIENTATION_XY"
+         public type class_ref 152706 // anonymous2
+         init_value "= 2
+  "
+         cpp_decl "  ${name}${value},${comment}"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+      end
+
+      operation 197890 "SetSliceOrientation"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param in name "orientation" 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 198018 "SetSliceOrientationToXY"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { this->SetSliceOrientation(wxvtkImageViewer2::SLICE_ORIENTATION_XY); };
+"
+       
+       
+       
+       
+      end
+
+      operation 198146 "SetSliceOrientationToYZ"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { this->SetSliceOrientation(wxvtkImageViewer2::SLICE_ORIENTATION_YZ); };
+"
+       
+       
+       
+       
+      end
+
+      operation 198274 "SetSliceOrientationToXZ"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { this->SetSliceOrientation(wxvtkImageViewer2::SLICE_ORIENTATION_XZ); };
+"
+       
+       
+       
+       
+      end
+
+      operation 198402 "SetSlice"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param in name "s" 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 198530 "UpdateDisplayExtent"
+       cpp_virtual 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 " Description:
+ Update the display extent manually so that the proper slice for the
+ given orientation is displayed. It will also try to set a
+ reasonable camera clipping range.
+ This method is called automatically when the Input is changed, but
+ most of the time the input of this class is likely to remain the same,
+ i.e. connected to the output of a filter, or an image reader. When the
+ input of this filter or reader itself is changed, an error message might
+ be displayed since the current display extent is probably outside
+ the new whole extent. Calling this method will ensure that the display
+ extent is reset properly."
+      end
+
+      operation 198658 "GetSliceMin"
+       cpp_virtual 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 " Description:
+ Return the minimum and maximum slice values (depending on the orientation
+ this can be in X, Y or Z)."
+      end
+
+      operation 198786 "GetSliceMax"
+       cpp_virtual 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 198914 "GetSliceRange"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "range" explicit_type "int"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}[2]${v0}${)}${const}${volatile}${throw}${abstract} { this->GetSliceRange(range[0], range[1]); };
+"
+       
+       
+       
+       
+      end
+
+      operation 199042 "GetSliceRange"
+       cpp_virtual public explicit_return_type "void"
+       nparams 2
+         param inout name "min" explicit_type "int"
+         param inout name "max" 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 199170 "GetSliceRange"
+       cpp_virtual 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 199298 "GetColorWindow"
+       cpp_virtual public explicit_return_type "double"
+       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 " Description:
+ Set window and level for mapping pixels to colors."
+      end
+
+      operation 199426 "GetColorLevel"
+       cpp_virtual public explicit_return_type "double"
+       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 199554 "SetColorWindow"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param in name "s" explicit_type "double"
+       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 199682 "SetColorLevel"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param in name "s" explicit_type "double"
+       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 199810 "SetDisplayId"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param inout name "a" explicit_type "void"
+       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 " Description:
+ These are here when using a Tk window."
+      end
+
+      operation 199938 "SetWindowId"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param inout name "a" explicit_type "void"
+       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 200066 "SetParentId"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param inout name "a" explicit_type "void"
+       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 200194 "GetPosition"
+       cpp_virtual 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 " Description:
+ Set/Get the position in screen coordinates of the rendering window."
+      end
+
+      operation 200322 "SetPosition"
+       cpp_virtual public explicit_return_type "void"
+       nparams 2
+         param in name "a" explicit_type "int"
+         param in name "b" 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 200450 "SetPosition"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "a" explicit_type "int"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}[2]${v0}${)}${const}${volatile}${throw}${abstract} { this->SetPosition(a[0],a[1]); };
+"
+       
+       
+       
+       
+      end
+
+      operation 200578 "GetSize"
+       cpp_virtual 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 " Description:
+ Set/Get the size of the window in screen coordinates in pixels."
+      end
+
+      operation 200706 "SetSize"
+       cpp_virtual public explicit_return_type "void"
+       nparams 2
+         param in name "a" explicit_type "int"
+         param in name "b" 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 200834 "SetSize"
+       cpp_virtual cpp_inline public explicit_return_type "void"
+       nparams 1
+         param in name "a" explicit_type "int"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}[2]${v0}${)}${const}${volatile}${throw}${abstract} { this->SetSize(a[0],a[1]); };
+"
+       
+       
+       
+       
+      end
+
+      operation 200962 "SetRenderWindow"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param inout name "arg" explicit_type "vtkRenderWindow"
+       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 " Description:
+ Set your own renderwindow and renderer"
+      end
+
+      operation 201090 "SetRenderer"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param inout name "arg" explicit_type "vtkRenderer"
+       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 201218 "SetupInteractor"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param inout name "" explicit_type "vtkRenderWindowInteractor"
+       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 " Description:
+ Attach an interactor for the internal render window."
+      end
+
+      operation 201346 "SetOffScreenRendering"
+       cpp_virtual public explicit_return_type "void"
+       nparams 1
+         param in name "" 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 " Description:  
+ Create a window in memory instead of on the screen. This may not
+ be supported for every type of window and on some windows you may
+ need to invoke this prior to the first render."
+      end
+
+      operation 201474 "GetOffScreenRendering"
+       cpp_virtual 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 201602 "wxvtkImageViewer2"
+       protected explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 201730 "~wxvtkImageViewer2"
+       protected explicit_return_type ""
+       nparams 0
+       cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 201858 "InstallPipeline"
+       cpp_virtual protected 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 201986 "UnInstallPipeline"
+       cpp_virtual protected 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}}
+"
+       
+       
+       
+       
+      end
+
+      attribute 152578 "WindowLevel"
+       protected explicit_type "vtkImageMapToWindowLevelColors"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 152706 "RenderWindow"
+       protected explicit_type "vtkRenderWindow"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 152834 "Renderer"
+       protected explicit_type "vtkRenderer"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 152962 "ImageActor"
+       protected explicit_type "vtkImageActor"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 153090 "Interactor"
+       protected explicit_type "vtkRenderWindowInteractor"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 153218 "InteractorStyle"
+       protected explicit_type "vtkInteractorStyleImage"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 153346 "SliceOrientation"
+       protected explicit_type "int"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 153474 "FirstRender"
+       protected explicit_type "int"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 153602 "Slice"
+       protected explicit_type "int"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      operation 202114 "UpdateOrientation"
+       cpp_virtual protected 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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 202242 "wxvtkImageViewer2"
+       private explicit_return_type ""
+       nparams 1
+         param in name "" type class_ref 152450 // wxvtkImageViewer2
+       cpp_decl "    ${comment}${inline}${name}${(}const ${t0} & ${p0}${v0}${)}${volatile}${throw};
+"
+       cpp_def "${comment}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 202370 "operator ="
+       private explicit_return_type "void"
+       nparams 1
+         param in name "" type class_ref 152450 // wxvtkImageViewer2
+       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 " Not implemented."
+      end
+    end
+
+    class 152578 "typedef36"
+      visibility package stereotype "typedef" explicit_base_type "vtkObject"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+  end
+
+  deploymentview 129538 "src"
+    //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 136194 "wxvtkImageViewer2"
+      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 152578 // typedef36
+       class_ref 152450 // wxvtkImageViewer2
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/131202 b/doc/bouml/bbtkk/131202
new file mode 100644 (file)
index 0000000..8bdd1ef
--- /dev/null
@@ -0,0 +1,38 @@
+format 66
+"appli" // bbtk::kernel::appli
+  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
+  
+  package_ref 131330 // bbfy
+
+  package_ref 131458 // bbPlugPackage
+
+  package_ref 131586 // bbRegenerateBoxesLists
+
+  package_ref 131714 // bbRegeneratePackageDoc
+
+  package_ref 131842 // bbSed
+end
diff --git a/doc/bouml/bbtkk/131330 b/doc/bouml/bbtkk/131330
new file mode 100644 (file)
index 0000000..3f4fdfc
--- /dev/null
@@ -0,0 +1,751 @@
+format 66
+"bbfy" // bbtk::kernel::appli::bbfy
+  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 129666 "bbfy"
+    //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 152834 "bbfyException"
+      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 "=========================================================================="
+      operation 202498 "bbfyException"
+       cpp_inline public explicit_return_type ""
+       nparams 1
+         param in name "message" explicit_type "std::string"
+       cpp_decl "    ${comment}${inline}${name}${(}const ${t0} & ${p0}${v0}${)}${volatile}${throw} : mMessage(message) {};
+"
+       
+       
+       
+       
+      end
+
+      attribute 153730 "mMessage"
+       public explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+
+    class 152962 "bbfy"
+      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 "=========================================================================="
+      operation 202626 "bbfy"
+       preserve_cpp_body_indent public explicit_return_type ""
+       nparams 4
+         param in name "filename" explicit_type "std::string"
+         param in name "package" explicit_type "std::string"
+           defaultvalue "\"PACKAGE_NAME\""
+         param in name "output_path" explicit_type "std::string"
+           defaultvalue "\"\""
+         param in name "verbose" explicit_type "bool"
+           defaultvalue "false"
+       cpp_decl "    ${comment}${inline}${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}, ${t3} ${p3}${v3}${)}${volatile}${throw};
+"
+       cpp_def "//==========================================================================
+//==========================================================================
+
+${comment}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, ${t3} ${p3}${)}${throw}{
+${body}}
+"
+       
+       
+       
+       
+      end
+
+      operation 202754 "CreateBlackBox"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 202882 "ParseXML"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 203010 "CreateHeader"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 203138 "CreateCode"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 203266 "WriteGenericITKFilterHeader"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 203394 "BeginNamespace"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      operation 203522 "EndNamespace"
+       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}}
+"
+       
+       
+       
+       
+      end
+
+      attribute 153858 "mFilename"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 153986 "mOutputPath"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 154114 "mVerbose"
+       private explicit_type "bool"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 154242 "mName"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      class 153090 "BoxType"
+       visibility package stereotype "enum"
+       cpp_decl "${comment}enum ${name} {
+${items}
+};
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+       attribute 154370 "STD"
+         public type class_ref 153090 // BoxType
+         cpp_decl "  ${name}${value},${comment}"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       attribute 154498 "itkImageToImageFilter"
+         public type class_ref 153090 // BoxType
+         cpp_decl "  ${name}${value},${comment}"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       attribute 154626 "vtkImageAlgorithm"
+         public type class_ref 153090 // BoxType
+         cpp_decl "  ${name}${value},${comment}"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       attribute 154754 "vtkPolyDataAlgorithm"
+         public type class_ref 153090 // BoxType
+         cpp_decl "  ${name}${value},${comment}"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+      end
+
+      classrelation 141314 // mType (<directional composition>)
+       relation 141314 *-->
+         a role_name "mType" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+           classrelation_ref 141314 // mType (<directional composition>)
+         b parent class_ref 153090 // BoxType
+      end
+
+      attribute 154882 "mIsWidget"
+       private explicit_type "bool"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 155010 "mParentBlackBox"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 155138 "mItkParent"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 155266 "mVtkObject"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 155394 "mGeneric"
+       private explicit_type "bool"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 155522 "mAuthor"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 155650 "mDescription"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 155778 "mCategory"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 155906 "mPackage"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 156034 "mNamespace"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 156162 "mTemplateParam"
+       private explicit_type "std::string"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 156290 "mTemplateDeclaration"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 156418 "mTemplateImplementation"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 156546 "mInclude"
+       private explicit_type "std::string"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 156674 "mTypedef"
+       private explicit_type "std::string"
+       stereotype "std::vector"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 156802 "mUserSetDefaultValues"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 156930 "mUserInitializeProcessing"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 157058 "mUserFinalizeProcessing"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      class 153218 "IO"
+       visibility package stereotype "struct"
+       cpp_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+       attribute 157186 "name"
+         public explicit_type "std::string"
+         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       attribute 157314 "type"
+         public explicit_type "std::string"
+         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       attribute 157442 "nature"
+         public explicit_type "std::string"
+         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       attribute 157570 "descr"
+         public explicit_type "std::string"
+         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       attribute 157698 "special"
+         public explicit_type "std::string"
+         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+
+       attribute 157826 "generic_type"
+         public explicit_type "std::string"
+         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+         java_decl ""
+         php_decl ""
+         python_decl ""
+         idl_decl ""
+       end
+      end
+
+      classrelation 141442 // mInput (<directional composition>)
+       relation 141442 *-->
+         stereotype "std::vector"
+         a role_name "mInput" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+           classrelation_ref 141442 // mInput (<directional composition>)
+         b parent class_ref 153218 // IO
+      end
+
+      classrelation 141570 // mOutput (<directional composition>)
+       relation 141570 *-->
+         stereotype "std::vector"
+         a role_name "mOutput" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+"
+           classrelation_ref 141570 // mOutput (<directional composition>)
+         b parent class_ref 153218 // IO
+      end
+
+      attribute 157954 "mProcess"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 158082 "mCreateWidget"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 158210 "mFile"
+       private explicit_type "std::ofstream"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 158338 "mHName"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+
+      attribute 158466 "mCxxName"
+       private explicit_type "std::string"
+       cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+       java_decl ""
+       php_decl ""
+       python_decl ""
+       idl_decl ""
+      end
+    end
+  end
+
+  deploymentview 129666 "bbfy"
+    //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 136322 "bbfyException"
+      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 152834 // bbfyException
+      end
+    end
+
+    artifact 136450 "bbfy"
+      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 152962 // bbfy
+      end
+    end
+
+    artifact 136578 "main"
+      stereotype "source"
+      cpp_src "//==========================================================================
+//==========================================================================
+
+int main(int argc, char **argv)
+{
+  
+  if (argc<2 || argc>5) 
+    {
+      std::cerr << \"usage : \"<< argv[0] <<\" xml_file [package_name] [output_path] [-q]\" << std::endl;
+      return 1;
+    }
+
+  try 
+    {
+      std::string package(\"PACKAGE_NAME\");
+      std::string output_path(\"\");
+      bool verbose = true;
+      if (argc>2) package = argv[2];
+      if (argc>3) output_path = argv[3];
+      if (argc>4) verbose = false;
+      
+      bbfy B(argv[1],package,output_path,verbose);
+    }
+  catch (bbfyException e)
+    {
+      std::cerr << argv[0] << \"  \" << argv[1] << std::endl
+               << e.mMessage << std::endl;
+      return 1;
+    }
+  return 0;
+}
+"
+      associated_classes
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/131458 b/doc/bouml/bbtkk/131458
new file mode 100644 (file)
index 0000000..8b2a7d6
--- /dev/null
@@ -0,0 +1,115 @@
+format 66
+"bbPlugPackage" // bbtk::kernel::appli::bbPlugPackage
+  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
+  
+  deploymentview 129794 "bbPlugPackage"
+    //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 136706 "main"
+      stereotype "source"
+      cpp_src "//==========================================================================
+
+int main(int argc, char **argv)
+{
+  if (argc!=2)
+    {
+      std::cout << \"usage : bbPlugPackage <path_to_package>\" << std::endl;
+      return 0;
+    }
+
+  std::string path(argv[1]);
+  std::string fname = path + \"/bbtkPackage\"; 
+
+  if ( ! Utilities::FileExists( fname ) )
+    {
+      std::cout << \"* ERROR : The directory '\"<<path<<\"' does not contain a 'bbtkPackage' file\"
+               << std::endl;
+      return 1; 
+    }
+       
+  std::ifstream f;
+  f.open(fname.c_str());
+  std::string pname;
+  f >> pname;
+  f.close();
+  
+  
+  ConfigurationFile::GetInstance().AddPackagePathsAndWrite( path );
+  
+  std::string command;
+#if defined(WIN32)
+       command = \"\\\"\";
+#endif
+  command += ConfigurationFile::GetInstance().Get_bin_path();
+  command += ConfigurationFile::GetInstance().Get_file_separator();
+  command += \"bbRegeneratePackageDoc\";
+#if defined(WIN32)
+  command += \"\\\"\";
+#endif
+  command += \" \" + pname + \" -q\";
+
+if ( system ( command.c_str() ) )
+ {
+    std::cout << \"An error occured while running '\" 
+               << command << \"'\" << std::endl;
+      return 1;
+  }
+
+        
+
+  command = \"\";
+#if defined(WIN32)
+  command = \"\\\"\";
+#endif
+  command += ConfigurationFile::GetInstance().Get_bin_path();
+  command += ConfigurationFile::GetInstance().Get_file_separator();
+  command += \"bbRegenerateBoxesLists\";
+#if defined(WIN32)
+  command += \"\\\"\";
+#endif
+  command += \" -q\";
+  if ( ! system ( command.c_str() ) )
+    {
+      std::cout << \"Package '\" 
+               << pname << \"' successfully plugged in\" << std::endl;
+    }
+  else 
+    {
+      std::cout << \"An error occured while running '\" 
+               << command << \"'\" << std::endl;
+      return 1;
+    }
+  return 0;
+}
+"
+      associated_classes
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/131586 b/doc/bouml/bbtkk/131586
new file mode 100644 (file)
index 0000000..ffadc86
--- /dev/null
@@ -0,0 +1,84 @@
+format 66
+"bbRegenerateBoxesLists" // bbtk::kernel::appli::bbRegenerateBoxesLists
+  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
+  
+  deploymentview 129922 "bbRegenerateBoxesLists"
+    //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 136834 "main"
+      stereotype "source"
+      cpp_src "//==========================================================================
+
+int main(int argc, char **argv)
+{
+  if (argc>1)
+    {
+      if (argv[1][1]=='q') 
+       bbtk::MessageManager::SetMessageLevel(\"max\",0);
+      else if (argv[1][1]=='v')
+       bbtk::MessageManager::SetMessageLevel(\"all\",9);                
+      else 
+       {
+         std::cout << \"usage : bbRegenerateBoxesLists [-q|-v] (quiet or verbose)\" << std::endl;
+         return 0;
+       }
+    }
+
+  try
+    {
+      bbtk::Interpreter::Pointer I = bbtk::Interpreter::New();
+      I->SetCommandLine(true);
+      I->SetThrow(false);
+      
+      
+      std::string doc_path = bbtk::ConfigurationFile::GetInstance().Get_doc_path();
+      doc_path += bbtk::ConfigurationFile::GetInstance().Get_file_separator();
+      doc_path += \"bbdoc\";
+      doc_path += bbtk::ConfigurationFile::GetInstance().Get_file_separator();
+      
+      I->InterpretLine( \"exec freeze_no_error\");
+      I->InterpretLine( \"include *\");
+      I->GetExecuter()->GetFactory()->CreateHtmlIndex(bbtk::Factory::Initials,doc_path + \"index-alpha.html\");
+       I->GetExecuter()->GetFactory()->CreateHtmlIndex(bbtk::Factory::Packages,doc_path + \"index-package.html\");
+       I->GetExecuter()->GetFactory()->CreateHtmlIndex(bbtk::Factory::Categories,doc_path + \"index-category.html\");
+       I->GetExecuter()->GetFactory()->CreateHtmlIndex(bbtk::Factory::Adaptors,doc_path + \"index-adaptors.html\");
+       
+    }
+  catch (bbtk::Exception e)
+    {
+      std::cout << \"* ERROR : \"<<e.GetErrorMessage()<<std::endl;
+      return 1;
+    }
+  return 0;
+}
+"
+      associated_classes
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/131714 b/doc/bouml/bbtkk/131714
new file mode 100644 (file)
index 0000000..9820769
--- /dev/null
@@ -0,0 +1,107 @@
+format 66
+"bbRegeneratePackageDoc" // bbtk::kernel::appli::bbRegeneratePackageDoc
+  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
+  
+  deploymentview 130050 "bbRegeneratePackageDoc"
+    //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 136962 "main"
+      stereotype "source"
+      cpp_src "//==========================================================================
+
+int main(int argc, char **argv)
+{
+
+  std::string pack(\"-a\");
+  if (argc==2) 
+    {
+      pack = std::string(argv[1]);
+    }
+  else if (argc==3)
+    {
+      pack = std::string(argv[1]);
+      std::string param(argv[2]);
+      if (param==\"-q\") bbtk::MessageManager::SetMessageLevel(\"max\",0);
+      else if (param==\"-v\") bbtk::MessageManager::SetMessageLevel(\"all\",9);
+      else 
+       {
+         Usage();
+         return 0;
+       }
+    }
+  else 
+    {
+      Usage();
+      return 0;
+    }
+  
+  try
+    {
+               std::string doc_path = bbtk::ConfigurationFile::GetInstance().Get_doc_path();
+      doc_path += bbtk::ConfigurationFile::GetInstance().Get_file_separator();
+      doc_path += \"bbdoc\";
+      doc_path += bbtk::ConfigurationFile::GetInstance().Get_file_separator();
+                               
+      bbtk::Interpreter::Pointer I = bbtk::Interpreter::New();
+      I->SetCommandLine(true);
+      I->SetThrow(false);
+         I->InterpretLine( \"exec freeze_no_error\");
+      if (pack != \"-a\") 
+       {
+               I->InterpretLine( \"include \"+pack);
+               I->InterpretLine( \"include \"+pack+\"-appli\");
+               bbtk::Package::Pointer p = I->GetExecuter()->GetFactory()->GetPackage(pack);
+               
+               RegenerateDoc(I->GetExecuter()->GetFactory()->GetPackage(pack),doc_path);
+       }
+      else
+       {
+I->InterpretLine( \"include *\");
+               bbtk::Factory::PackageMapType::const_iterator i;
+         for (i  = I->GetExecuter()->GetFactory()->GetPackageMap().begin();
+              i != I->GetExecuter()->GetFactory()->GetPackageMap().end();
+              ++i)
+           {
+             if (i->second->GetName()==\"user\") continue;
+             RegenerateDoc(i->second,doc_path);
+           }
+       }
+    }
+  catch (bbtk::Exception e)
+    {
+      std::cout << \"* ERROR : \"<<e.GetErrorMessage()<<std::endl;
+      return 1;
+    }
+       return 0;
+}
+"
+      associated_classes
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/131842 b/doc/bouml/bbtkk/131842
new file mode 100644 (file)
index 0000000..bce940c
--- /dev/null
@@ -0,0 +1,83 @@
+format 66
+"bbSed" // bbtk::kernel::appli::bbSed
+  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
+  
+  deploymentview 130178 "bbSed"
+    //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 137090 "main"
+      stereotype "source"
+      cpp_src "//==========================================================================
+
+int main(int argc, char **argv)
+{
+  
+  if (argc!=4) 
+    {
+      std::cerr << \"usage : \"<< argv[0] <<\" fileIn  \\\"FindString\\\" \\\"ReplaceString\\\"\" << std::endl;
+      return 1;
+    }
+
+  FILE *ffIn;
+  std::string fileIn;
+  std::string fileOut;
+  std::string findstring;
+  std::string replacestring;
+  std::string lineStr;
+  char strTmp[255];
+
+  fileIn       = argv[1];
+  findstring   = argv[2];
+  replacestring = argv[3];
+
+  ffIn =  fopen(fileIn.c_str(),\"r\");
+  if (ffIn){
+        while(!feof(ffIn)){
+           fgets( strTmp , 255, ffIn );
+            lineStr=strTmp;
+           if( feof(ffIn) && (lineStr.length()==1) ) { 
+           } else {
+             replace( lineStr,findstring, replacestring );
+             std::cout << lineStr;
+            }
+        }
+       fclose(ffIn);   
+  } else {
+      std::cerr << \"ERROR. File : \"<< argv[1] <<\" Not exists.\" << std::endl;
+      return 1;
+  }
+
+
+  return 0;
+}
+"
+      associated_classes
+      end
+    end
+  end
+end
diff --git a/doc/bouml/bbtkk/139778.bodies b/doc/bouml/bbtkk/139778.bodies
new file mode 100644 (file)
index 0000000..59f7115
--- /dev/null
@@ -0,0 +1,24 @@
+class TreeMultiItemBase
+!!!161026.cpp!!!       TreeMultiItemBase(inout parent : TreeMultiItemNode)
+    // TODO: Enter your constructor code here
+!!!161154.cpp!!!       ~TreeMultiItemBase()
+    // TODO: Enter your destructor code here
+!!!163330.cpp!!!       IsVisible() : bool
+       // are we excluded? then we are not visible as well
+
+       if(IsExcluded())
+               return false;
+
+       // check every parent up until the last and if one of them is collapsed
+       // we are not visible
+
+       TreeMultiItemNode *p = GetParent();
+       while(p)
+       {
+               if(!p->IsExpanded())
+                       return false;
+               else
+                       p = p->GetParent();
+       }
+
+       return true;
diff --git a/doc/bouml/bbtkk/139906.bodies b/doc/bouml/bbtkk/139906.bodies
new file mode 100644 (file)
index 0000000..d2b0fa5
--- /dev/null
@@ -0,0 +1,94 @@
+class TreeMultiItemNode
+!!!164610.cpp!!!       TreeMultiItemNode(inout parent : TreeMultiItemNode, in caption : wxString = wxEmptyString, in name : wxString = wxEmptyString)
+       _name = name;
+       Clear();
+!!!164738.cpp!!!       ~TreeMultiItemNode()
+    // delete all items on this level
+    Clear();
+!!!164994.cpp!!!       AddNode(inout node : TreeMultiItemBase) : void
+       if(node)
+                _items.Add(node);
+
+!!!165122.cpp!!!       InsertNode(inout NodePtr : TreeMultiItemBase, in Position : size_t) : void
+
+
+        if (NodePtr != NULL)
+
+                this->_items.Insert(NodePtr,Position);
+
+!!!165250.cpp!!!       Clear() : void
+       _items.Clear();
+!!!165378.cpp!!!       DeleteNode(inout node : TreeMultiItemBase) : void
+       // this is wrong. The RemoveAt and Remove should delete
+       // the object
+       if(node)
+       {
+               _items.Detach(Index(node));
+               delete node;
+       }
+
+!!!165506.cpp!!!       DeleteNode(in index : int) : void
+       // this is wrong. The RemoveAt and Remove should delete
+       // the object
+       if(index < (int)_items.Count() && index >= 0)
+               _items.RemoveAt(index);
+!!!165634.cpp!!!       RemoveNode(inout node : TreeMultiItemBase) : TreeMultiItemBase
+       if(node)
+               _items.Detach(_items.Index(*node));
+
+       return node;
+!!!165762.cpp!!!       RemoveNode(in index : int) : TreeMultiItemBase
+       TreeMultiItemBase *value = 0;
+
+       if(index < (int)_items.Count() && index > 0)
+       {
+               value = &_items.Item(index);
+               _items.Detach(index);
+       }
+
+       return value;
+!!!165890.cpp!!!       GetNodeCount() : int
+       return _items.Count();
+!!!166018.cpp!!!       GetNode(in index : int) : TreeMultiItemBase
+       TreeMultiItemBase *value = 0;
+
+       if(index < (int)_items.Count() && index >= 0)
+               value = &_items.Item(index);
+
+       return value;
+!!!166146.cpp!!!       Index(inout node : TreeMultiItemBase, in searchFromEnd : bool = false) : int
+       wxCHECK(node, -1);
+
+       return _items.Index(*node, searchFromEnd);
+!!!166274.cpp!!!       GetNodeNext(inout cookie : int) : TreeMultiItemBase
+       TreeMultiItemBase *value = 0;
+
+       if(cookie >= 0 && cookie < (int)_items.Count())
+       {
+               value = &_items[cookie];
+               cookie++;
+       }
+
+       return value;
+!!!166402.cpp!!!       First() : TreeMultiItemBase
+
+
+  if (this->_items.GetCount() > 0)
+
+    return &(this->_items[0]);
+
+  else
+
+    return NULL;
+
+!!!166530.cpp!!!       Last() : TreeMultiItemBase
+
+
+        if(this->_items.GetCount() > 0)
+
+          return &(this->_items.Last());
+
+        else
+
+          return NULL;
+
diff --git a/doc/bouml/bbtkk/140034.bodies b/doc/bouml/bbtkk/140034.bodies
new file mode 100644 (file)
index 0000000..501a514
--- /dev/null
@@ -0,0 +1,11 @@
+class TreeMultiItemRoot
+!!!167042.cpp!!!       TreeMultiItemRoot()
+
+
+    // TODO: Enter your constructor code here
+
+!!!167170.cpp!!!       ~TreeMultiItemRoot()
+
+
+    // TODO: Enter your destructor code here
+
diff --git a/doc/bouml/bbtkk/140162.bodies b/doc/bouml/bbtkk/140162.bodies
new file mode 100644 (file)
index 0000000..f649183
--- /dev/null
@@ -0,0 +1,97 @@
+class TreeMultiItemWindow
+!!!167426.cpp!!!       TreeMultiItemWindow(inout parent : TreeMultiItemNode, in name : wxString = wxEmptyString)
+
+
+    _name = name;
+
+
+
+       // TODO: Enter your constructor code here
+
+!!!167554.cpp!!!       ~TreeMultiItemWindow()
+
+
+       if(_window)
+
+               _window->Destroy();
+
+!!!167810.cpp!!!       AssignWindow(inout wnd : wxWindow) : void
+
+
+       // delete previous, assign new (even if zero)
+
+       if(_window)
+
+               _window->Destroy();
+
+
+
+       _window = wnd;
+
+
+
+       // recalculate the size
+
+       if(wnd)
+
+       {
+
+               wxSize size; 
+
+
+
+               // resize the sized control by sizer or 
+
+               // by single window. For a sizer handled window
+
+               // GetBestSize returns the optimal size
+
+
+
+               /// \todo This might need rivision for retaining the sizer size
+
+               /// maybe we need to check whether size is <> 0,0 before get best size
+
+
+
+               if(wnd->GetSizer())
+
+                       size = wnd->GetBestSize();
+
+               else
+
+                       size = wnd->GetSize();
+
+
+
+               _height = size.GetHeight();
+
+               _width = size.GetWidth();
+
+
+
+       }
+
+       else
+
+       {
+
+               _height = 0;
+
+               _width = 0;
+
+       }
+
+!!!168834.cpp!!!       SetCheckboxState(in state : int) : void
+
+
+       TreeMultiItemBase::SetCheckboxState(state);
+
+
+
+       // enable or disable the window
+
+       if(GetCheckbox() && GetWindow() && state != 2)
+
+               GetWindow()->Enable(state == 1);
+
diff --git a/doc/bouml/bbtkk/140674.bodies b/doc/bouml/bbtkk/140674.bodies
new file mode 100644 (file)
index 0000000..3c3341d
--- /dev/null
@@ -0,0 +1,3414 @@
+class wxTreeMultiCtrl
+!!!172546.cpp!!!       DoFold(inout item : TreeMultiItemBase, in expand : bool, in recursive : bool) : void
+
+
+
+
+       // go through all node objects on this level, and expand or
+
+       // collapse them
+
+
+
+       if(item == 0)
+
+               return;
+
+
+
+       // if this is a node, use it to go through all the subnodes (if needed)
+
+       // if not, then just exit.
+
+
+
+       TreeMultiItemNode *node = item->IsTreeMultiItemNode();
+
+       if(node)
+
+       {
+
+               node->Fold(expand);
+
+
+
+               // go recursive
+
+               if(recursive)
+
+               {
+
+                       TreeMultiItemNode *p;
+
+                       for(int i = 0; i < node->GetNodeCount(); i++)
+
+                       {
+
+                               // get node, and if a real node, then call fold
+
+                               p = node->GetNode(i)->IsTreeMultiItemNode();
+
+                               if(p)
+
+                                       p->Fold(expand);
+
+
+
+                               // go recursive for every node
+
+                               DoFold(p, expand, recursive);
+
+                       }
+
+               }
+
+       }
+
+!!!172674.cpp!!!       RedrawFromNode(inout n : TreeMultiItemNode) : void
+
+
+       static int recalcMutex = 0;
+
+       bool visible = true;
+
+
+
+       if(recalcMutex > 0)
+
+               return;
+
+
+
+       recalcMutex ++;
+
+
+
+       // when node is not visible or excluded
+
+       // then don't redraw.
+
+
+
+       if(n)
+
+               visible = n->IsVisible();
+
+
+
+       if(visible)
+
+       {
+
+               int h, h1,w, w1;
+
+               GetVirtualSize(&w, &h);
+
+
+
+               UpdateAllWindowVisibility();
+
+               RecalculateNodePositions();
+
+               RecalculateVirtualSize();
+
+
+
+               // why is this needed? Because folding or collapsing can change
+
+               // the state. When the virtual area gets smaller, we need to keep
+
+               // the largest one and the other way atound. And since we do not
+
+               // know here we are folding or collapsing, we remember the biggest
+
+               GetVirtualSize(&w1, &h1);
+
+
+
+                if(h1 > h)
+
+                        h = h1;
+
+
+
+                // only refresh the part from x,y down
+
+                if(n)
+
+               {
+
+                       int x, y;
+
+                       CalcScrolledPosition(n->GetX(), n->GetY(), &x, &y);
+
+                       if(h - y > 0)
+
+                       {
+
+                               wxRect rect(0, y, w, h - y);
+
+                               RefreshRect(rect);
+
+                       }
+
+                       else
+
+                               Refresh();
+
+               }
+
+               else
+
+                       Refresh();      // do a full refresh
+
+       }
+
+
+
+       recalcMutex --;
+
+!!!172802.cpp!!!       RedrawFromParentNode(inout n : TreeMultiItemBase) : void
+
+
+        TreeMultiItemNode *p = 0;
+
+       if(n)
+
+               p = n->GetParent();
+
+
+
+       RedrawFromNode(p);
+
+!!!172930.cpp!!!       DrawCheckbox(inout b : TreeMultiItemBase, inout dc : wxDC, in convertScrolled : bool = false) : void
+
+
+       wxCHECK2(b, return);
+
+
+
+       wxBitmap *bmp;
+
+       int bmpOffsetX = b->GetX() - (_gutterWidth + _iconWidth);
+
+
+
+       switch(b->GetCheckboxState())
+
+       {
+
+       case 0:
+
+               bmp = _uncheckBmp;
+
+               break;
+
+       case 1:
+
+               bmp = _checkBmp;
+
+               break;
+
+       default:
+
+               bmp = _tristateBmp;
+
+               break;
+
+       }
+
+
+
+       int x, xx, y, yy;
+
+
+
+       if(b->IsTreeMultiItemWindow())
+
+       {
+
+               xx = x = bmpOffsetX - ((TreeMultiItemWindow *)b)->GetFrontSpacing() + _checkWidth;
+
+               yy = y = b->GetY() + _checkDeltaY;
+
+       }
+
+       else
+
+       {
+
+               xx = x = bmpOffsetX;
+
+               yy = y = b->GetY() + _checkDeltaY;
+
+       }
+
+
+
+       if(convertScrolled)
+
+               CalcScrolledPosition(x, y, &xx, &yy);
+
+
+
+       dc.DrawBitmap(*bmp, xx, yy, true);
+
+!!!173058.cpp!!!       RecalculateNodePositions() : void
+
+
+       int currentY = _spacingY;
+
+       // go recursive on every node, and store the information in the node
+
+
+
+       for(int i = 0; i < _root.GetNodeCount(); i++)
+
+        currentY += CalculateNodeDimensions(_root.GetNode(i), currentY, 0);
+
+!!!173186.cpp!!!       CalculateNodeDimensions(inout b : TreeMultiItemBase, in currentY : int, in level : int) : int
+
+
+       int gutter = (_gutterWidth * 2) + _iconWidth;
+
+       int y = 0, topSpacing = 0;
+
+
+
+       // return same if no proper object
+
+       wxCHECK(b, 0);
+
+
+
+#if(CHECKBOXVIEW)
+
+       if(b->GetCheckbox())
+
+               gutter += _checkWidth;
+
+#endif
+
+
+
+       // if we are not visible, skip recalculation and descending
+
+       if(b->IsVisible())
+
+       {
+
+               b->SetY(currentY);
+
+
+
+               // if level is 0, calculate with front gutter, else without
+
+               y = currentY + b->GetHeight();
+
+               if(b->IsTreeMultiItemNode())
+
+               {
+
+                       TreeMultiItemNode *n = (TreeMultiItemNode *)b;
+
+
+
+                       if(level == 0)
+
+                               b->SetX(gutter);
+
+                       else
+
+                               b->SetX(gutter + (level * (_gutterWidth + _iconWidth)));
+
+
+
+                       // now do children of this node
+
+
+
+                       for(int i = 0; i < n->GetNodeCount(); i++)
+
+                               y += CalculateNodeDimensions(n->GetNode(i), y + _spacingY, level+1);
+
+               }
+
+               else if(b->IsTreeMultiItemWindow())
+
+               {
+
+                       TreeMultiItemWindow *w = (TreeMultiItemWindow *)b;
+
+
+
+                       if(level == 0)
+
+                               b->SetX(gutter + w->GetFrontSpacing());
+
+                       else
+
+                               b->SetX(_gutterWidth + (level * (_gutterWidth + _iconWidth)) + w->GetFrontSpacing());
+
+
+
+                       topSpacing = w->GetTopSpacing();
+
+
+
+                       // reposition the window
+
+
+
+                       wxWindow *wnd = w->GetWindow();
+
+                       if(wnd)
+
+                       {
+
+                               int x = 0, y = 0;
+
+                               CalcScrolledPosition(w->GetX(), w->GetY(), &x, &y);
+
+                               wnd->SetSize(x, y, w->GetWidth(), w->GetHeight());
+
+                       }
+
+               }
+
+
+
+               if(y > 0)
+
+                       return (y - currentY) + _spacingY + topSpacing; // return delta
+
+               else
+
+                       return 0;
+
+       }
+
+
+
+       return 0;       // not visible, thus we skip calculations
+
+!!!173314.cpp!!!       DrawNode(inout b : TreeMultiItemBase, inout dc : wxDC) : void
+
+
+       // go through this item .. if it is a node, draw
+
+       // the caption, else reposition the window.
+
+
+
+       if(!b)
+
+               return;
+
+
+
+       // forget it if this node is not visible
+
+       if(b->IsVisible())
+
+       {
+
+               int bmpOffsetX = b->GetX() - (_gutterWidth + _iconWidth);
+
+
+
+#if(CHECKBOXVIEW)
+
+               // now draw the checkbox if there is any, in the proper state
+
+               if(b->GetCheckbox())
+
+               {
+
+                       DrawCheckbox(b, dc);
+
+
+
+                       // adjust the bmpOffset because we also have a checkbox
+
+                       bmpOffsetX -= _checkWidth;
+
+               }
+
+#endif
+
+
+
+               if(b->IsTreeMultiItemNode())
+
+                {
+
+                        // draw the node icon and the caption
+
+                        TreeMultiItemNode *n = (TreeMultiItemNode *)b;
+
+
+
+                 // set background of caption item
+
+                  if (n->IsSelected())
+
+                  {
+
+                    dc.SetBrush(*(this->m_HilightBrush));
+
+        dc.SetPen(wxPen(this->m_HilightBrush->GetColour(),1,wxSOLID));
+
+                  } /* if */
+
+                  else
+
+                  {
+
+                    dc.SetBrush(wxBrush(*wxWHITE,wxSOLID));
+
+        dc.SetPen(wxPen(*wxWHITE,1,wxSOLID));
+
+                  } /* if */
+
+                  dc.DrawRectangle(n->GetX(),n->GetY(),n->GetWidth(),n->GetHeight());
+
+                 // draw caption
+
+                        dc.DrawText(n->GetCaption(), n->GetX(), n->GetY());
+
+
+
+                        // draw the bitmap for the state
+
+                       if(n->IsExpanded())
+
+                               dc.DrawBitmap(*_expandBmp, bmpOffsetX, n->GetY() + _iconDeltaY, true);
+
+                       else
+
+                               dc.DrawBitmap(*_collBmp, bmpOffsetX, n->GetY() + _iconDeltaY, true);
+
+
+
+                       // now go through all the subnodes
+
+                       for(int i = 0; i < n->GetNodeCount(); i++)
+
+                               DrawNode(n->GetNode(i), dc);
+
+
+
+               }
+
+       }
+
+!!!173442.cpp!!!       SetWindowBackgroundColour(inout wnd : wxWindow, in col : wxColour, in flags : int) : void
+
+
+       if(wnd)
+
+       {
+
+               // if we cannot change a button, make sure all button
+
+               // classes are not changed
+
+
+
+               wxButton *btn = wxDynamicCast(wnd, wxButton);
+
+               if(!btn || ((flags & wxTMC_BG_ADJUST_BTN) != 0))
+
+                       wnd->SetBackgroundColour(col);
+
+
+
+               // get every window, and make the background equal to the given one
+
+               wxWindowListNode *node = wnd->GetChildren().GetFirst();
+
+               while (node)
+
+               {
+
+                       SetWindowBackgroundColour(node->GetData(), col, flags);
+
+                       node = node->GetNext();
+
+               }
+
+       }
+
+!!!173570.cpp!!!       ShowTreeMultiWindow(inout window : TreeMultiItemWindow, in show : bool = true) : void
+
+
+       // show or hide window
+
+       if(window && window->GetWindow())
+
+               window->GetWindow()->Show(show);
+
+!!!173698.cpp!!!       UpdateAllWindowVisibility() : void
+
+
+       // all roots are visible, but what lies beneath ... who knows
+
+       for(int i = 0; i < _root.GetNodeCount(); i++)
+
+               UpdateTreeMultiWindowVisibility(_root.GetNode(i), true);
+
+!!!173826.cpp!!!       UpdateTreeMultiWindowVisibility(inout b : TreeMultiItemBase, in show : bool) : void
+
+
+       if(b)
+
+       {
+
+               // this is done for performance issues. IsVisible can go all
+
+               // the way up the tree to check. However if show is already
+
+               // false, there is no need to check (some higher one is collapsed)
+
+               bool showMe = show;
+
+
+
+               if(showMe)
+
+                       showMe = b->IsVisible();
+
+
+
+               if(b->IsTreeMultiItemWindow())
+
+               {
+
+                       // if this level must be hidden, hide
+
+                       ShowTreeMultiWindow((TreeMultiItemWindow*)b, showMe);
+
+               }
+
+               else if(b->IsTreeMultiItemNode())
+
+               {
+
+                       TreeMultiItemNode *node = (TreeMultiItemNode *)b;
+
+
+
+                       // if hidden, descend and hide all windows
+
+                       for(int i = 0; i < node->GetNodeCount(); i++)
+
+                               UpdateTreeMultiWindowVisibility(node->GetNode(i), showMe);
+
+               }
+
+       }
+
+!!!173954.cpp!!!       RecalculateVirtualSize() : void
+
+
+       // go through all the nodes, and store the largest x and largest y
+
+
+
+       int x = 0, y = 0;
+
+       RecalculateVirtualSizeFromNode(&_root, x, y);
+
+
+
+       // now adjust virtual size
+
+       SetVirtualSize(x, y);
+
+       AdjustScrollbars(x, y);
+
+!!!174082.cpp!!!       AdjustScrollbars(in x : int, in y : int) : void
+
+
+       // adjust scrollbars
+
+       // courtesy of treectrlg.cpp
+
+
+
+       y += WXTMC_PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels
+
+    x += WXTMC_PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels
+
+    int x_pos = GetScrollPos( wxHORIZONTAL );
+
+    int y_pos = GetScrollPos( wxVERTICAL );
+
+    SetScrollbars( WXTMC_PIXELS_PER_UNIT, WXTMC_PIXELS_PER_UNIT, x/WXTMC_PIXELS_PER_UNIT,
+
+                          y/WXTMC_PIXELS_PER_UNIT, x_pos, y_pos, true );
+
+!!!174210.cpp!!!       RecalculateVirtualSizeFromNode(in node : TreeMultiItemNode, inout x : int, inout y : int) : void
+
+
+       if(node->IsExcluded())
+
+               return;
+
+
+
+       // if calulate this node's dimensions
+
+       if(x < (node->GetWidth() + node->GetX()))
+
+               x = node->GetWidth() + node->GetX();
+
+
+
+       y = node->GetY() + node->GetHeight();
+
+
+
+       // if this node is collapsed, no subnodes are visible, else
+
+       // go through all subnodes as well, node needs to be included as well
+
+       if(node->IsExpanded())
+
+       {
+
+               TreeMultiItemBase *b;
+
+               for(int i = 0; i < node->GetNodeCount(); i++)
+
+               {
+
+                       b = node->GetNode(i);
+
+
+
+                       // calculate x and y
+
+                       if(x < (b->GetWidth() + b->GetX()))
+
+                               x = b->GetWidth() + b->GetX();
+
+
+
+                       y = b->GetY() + b->GetHeight();
+
+
+
+                       if(b->IsTreeMultiItemNode())
+
+                               RecalculateVirtualSizeFromNode((TreeMultiItemNode *)b, x, y);
+
+               }
+
+       }
+
+!!!174338.cpp!!!       FindNodeByPoint(inout b : TreeMultiItemBase, in pt : wxPoint, inout area : int) : TreeMultiItemBase
+
+
+        wxCHECK(b, 0);
+
+
+
+       // if this layer is not visible, return with nothing.
+
+       if(!b->IsVisible())
+
+               return 0;
+
+
+
+       area = 0;
+
+
+
+       // now see if our y is matching the mouse
+
+       if(pt.y >= b->GetY() && pt.y < (b->GetY() + b->GetHeight()))
+
+       {
+
+#if(CHECKBOXVIEW)
+
+               // if we are checkboxed, calculate the checkbox position
+
+               if(b->GetCheckbox())
+
+               {
+
+                       int extraSpacing = 0, extraWidth = 0;
+
+
+
+                       // now for a windows item, this is minus the gutter. For a normal node it is X minus checkbox
+
+                       if(b->IsTreeMultiItemWindow())
+
+                       {
+
+                           extraWidth = _checkWidth;
+
+                               extraSpacing = ((TreeMultiItemWindow *)b)->GetFrontSpacing();
+
+                       }
+
+                       else
+
+                               extraSpacing = 4;
+
+
+
+                       if(pt.x > (b->GetX() - extraSpacing - _checkWidth) && pt.x < (b->GetX() - extraSpacing + extraWidth))
+
+                       {
+
+                               area = wxTMC_HITTEST_CHECKBOX;
+
+                               return b;
+
+                       }
+
+               }
+
+#endif
+
+
+
+               // allrighty we have something, now where and what is it (look with x)
+
+               if(pt.x < b->GetX())
+
+                       area = wxTMC_HITTEST_GUTTER;
+
+
+
+               /** \todo Match only the real part of the caption, window (we assume x > GetX() which is the rest)
+
+                       HOWEVER the window probably doesn't propagate the click event back to the parent, so we might
+
+                       leave it like this so the use can click behind a window so it will be selected.
+
+               */
+
+               else
+
+               {
+
+                       // inside area, return proper flag
+
+                       if(b->IsTreeMultiItemNode())
+
+                               area = wxTMC_HITTEST_CAPTION;
+
+                       else
+
+                               area = wxTMC_HITTEST_WINDOW;
+
+               }
+
+
+
+               return b;
+
+       }
+
+       else
+
+       {
+
+               // not found, let's try our children if we have some
+
+               TreeMultiItemNode *n = b->IsTreeMultiItemNode();
+
+               if(n)
+
+               {
+
+                       TreeMultiItemBase *bb = 0;
+
+                       for(int i = 0; i < n->GetNodeCount() && !bb; i++)
+
+                               bb = FindNodeByPoint(n->GetNode(i), pt, area);
+
+
+
+                       // keep returning result to caller
+
+                       return bb;
+
+               }
+
+       }
+
+
+
+       return 0;
+
+!!!174466.cpp!!!       FindWindowNode(inout wnd : wxWindow, inout n : TreeMultiItemNode = 0) : wxTreeMultiItem
+
+
+       wxCHECK(wnd, wxTreeMultiItem(0));
+
+
+
+       // take root node if not assigned one
+
+
+
+       if(!n)
+
+               n = (TreeMultiItemNode *)&_root;
+
+
+
+       // check on this level for the wxWindow pointer
+
+
+
+       TreeMultiItemWindow *w;
+
+       wxTreeMultiItem result(0);
+
+       for(int i = 0; i < n->GetNodeCount() && !result.IsOk(); i++)
+
+       {
+
+               // if window node
+
+               w = n->GetNode(i)->IsTreeMultiItemWindow();
+
+               if(w && w->GetWindow() == wnd)
+
+                       return wxTreeMultiItem(n);
+
+
+
+               // if node, go deeper
+
+               if(n->GetNode(i)->IsTreeMultiItemNode())
+
+                       result = FindWindowNode(wnd, (TreeMultiItemNode*)n->GetNode(i));
+
+       }
+
+
+
+       return result;
+
+!!!174594.cpp!!!       FindNextVisibleWindowItem(inout b : TreeMultiItemBase, in index : int = -1) : TreeMultiItemWindow
+
+
+       wxCHECK(b, 0);
+
+
+
+       // check on this level, go deeper with every node we got. When a node is not
+
+       // visible anymore, skip the node.
+
+
+
+       TreeMultiItemWindow *value = 0;
+
+       if(b->IsVisible())
+
+       {
+
+               // if we are already searching on a node with an index
+
+
+
+               TreeMultiItemBase *bn = 0;
+
+               TreeMultiItemNode *n = b->IsTreeMultiItemNode();
+
+               if(n)
+
+               {
+
+                       for(int i = index + 1; i < n->GetNodeCount() && !value; i++)
+
+                       {
+
+                               bn = n->GetNode(i);
+
+                               value = bn->IsTreeMultiItemWindow();
+
+
+
+                               // assume a node, root when not a a window
+
+                               if(!value)
+
+                                       value = FindNextVisibleWindowItem(bn, -1);
+
+                       }
+
+
+
+               }
+
+               else
+
+               {
+
+                       if(b->IsTreeMultiItemWindow())
+
+                       {
+
+                               // get parent first, and locate child as ptr
+
+                               TreeMultiItemNode *p = b->GetParent();
+
+                               wxCHECK(p, 0);
+
+
+
+                               // go scan the parent from the given index, if
+
+                               // the index is valid else there is no child with that index
+
+
+
+                               int idx = p->Index(b);
+
+                               wxCHECK(idx >= 0, 0);
+
+
+
+                               value = FindNextVisibleWindowItem(p, idx);
+
+                       }
+
+               }
+
+       }
+
+
+
+       return value;
+
+
+
+!!!174722.cpp!!!       AdjustIconsDeltaY() : void
+
+
+       int x = 0, y = 0;
+
+
+
+       if(_captionFont.Ok())
+
+      GetTextExtent(wxT("jG"), &x, &y, 0, 0, &_captionFont);
+
+       _captionHeight = y;
+
+
+
+       if(_maxHeight < _captionHeight)
+
+               _maxHeight = _captionHeight;
+
+
+
+       // determine the center pos for the [+]
+
+       _iconDeltaY = abs(_maxHeight - _iconHeight) / 2 + 1;
+
+       if(_iconDeltaY < 1)
+
+               _iconDeltaY = 1;
+
+
+
+#if(CHECKBOXVIEW)
+
+       // determine the center pos for the checkbox
+
+       _checkDeltaY = abs(_maxHeight - _checkHeight) / 2 + 1;
+
+       if(_checkDeltaY < 1)
+
+               _checkDeltaY = 1;
+
+#endif
+
+!!!174850.cpp!!!       CalculateNodeSpanning(inout b : TreeMultiItemBase) : void
+
+
+       // return same if no proper object
+
+       wxCHECK2(b, return);
+
+
+
+       if(b->IsTreeMultiItemNode())
+
+       {
+
+               TreeMultiItemNode *n = (TreeMultiItemNode *)b;
+
+
+
+               // now do children of this node
+
+
+
+               for(int i = 0; i < n->GetNodeCount(); i++)
+
+                       CalculateNodeSpanning(n->GetNode(i));
+
+       }
+
+       else if(b->IsTreeMultiItemWindow())
+
+       {
+
+               TreeMultiItemWindow *w = (TreeMultiItemWindow *)b;
+
+               wxWindow *wnd = w->GetWindow();
+
+               if(wnd)
+
+               {
+
+                       // if the window is spanning, we adjust the width to the max width of the control
+
+                       if(w->GetHorizontalSpan())
+
+                       {
+
+                               wxSize tmcsize = GetClientSize();
+
+                               int maxwidth = tmcsize.GetWidth() - w->GetX() - 8; // extract 3 for border
+
+
+
+                               wxSizer *sz = wnd->GetSizer();
+
+                               if(sz)
+
+                               {
+
+                                       if(maxwidth < sz->GetMinSize().GetWidth())
+
+                                               maxwidth = sz->GetMinSize().GetWidth();
+
+                               }
+
+
+
+                               // prevent a size of 0
+
+                               if(maxwidth < 1)
+
+                                       maxwidth = 1;
+
+
+
+                               // set the size
+
+                               w->SetWidth(maxwidth);
+
+                               wnd->SetSize(w->GetWidth(), w->GetHeight());
+
+
+
+                               // layout by sizer (not sure if this is needed)
+
+                               if(wnd->GetSizer())
+
+                                       wnd->GetSizer()->Layout();
+
+                       }
+
+               }
+
+       }
+
+!!!174978.cpp!!!       SetRecursiveCheckState(inout n : TreeMultiItemNode, in check : bool) : void
+
+
+       int state = 0;
+
+       if(check)
+
+               state++;
+
+
+
+       // go check all kids on this level
+
+       for(int i = 0; i < n->GetNodeCount(); i++)
+
+       {
+
+               // check all the nodes, and go deeper
+
+               n->GetNode(i)->SetCheckboxState(state);
+
+               if(n->GetNode(i)->IsTreeMultiItemNode())
+
+                       SetRecursiveCheckState((TreeMultiItemNode *)n->GetNode(i), check);
+
+       }
+
+!!!175106.cpp!!!       ScanTristateCheckstates(inout b : TreeMultiItemBase) : void
+
+
+       // check from the parent on, all node entries and see if they are
+
+       // checked or cleared or scattered
+
+       TreeMultiItemNode *p = b->GetParent();
+
+
+
+       if(p && p->GetCheckbox())
+
+       {
+
+               bool foundcheck = false, foundclear = false;
+
+               for(size_t i = 0; i < (size_t)p->GetNodeCount(); ++i)
+
+               {
+
+                       // only evaluate when checkboxed
+
+                       if(p->GetNode(i)->IsTreeMultiItemWindow() && p->GetNode(i)->GetCheckbox())
+
+                       {
+
+                               // record instance of a cleared checkbox
+
+                               if(!p->GetNode(i)->GetCheckboxState())
+
+                                       foundclear = true;
+
+                               // record instance of checked checkbox
+
+                               if(p->GetNode(i)->GetCheckboxState() == 1)
+
+                                       foundcheck = true;
+
+                       }
+
+               }
+
+
+
+               // if we have both check and clear, go tristate
+
+               // if all clear, clear parent and if all set, then set parent
+
+               if(foundclear && !foundcheck)
+
+                       p->SetCheckboxState(0);
+
+               else if(!foundclear && foundcheck)
+
+                       p->SetCheckboxState(1);
+
+               else if(foundclear && foundcheck)
+
+                       p->SetCheckboxState(2);
+
+
+
+               //wxClientDC dc;
+
+               //DrawCheckbox(p, dc, false);
+
+               RedrawFromNode(p);
+
+       }
+
+!!!175234.cpp!!!       InsertNode(inout ParentPtr : TreeMultiItemNode, in Position : size_t, in Caption : wxString, in Name : wxString) : wxTreeMultiItem
+
+
+        int extX, extY;
+
+
+
+  TreeMultiItemNode* NodePtr(new TreeMultiItemNode(ParentPtr,Caption,Name)); // generate new node pointer
+
+
+
+
+
+ // continue with initializing the new node:
+
+#if(CHECKBOXVIEW)
+
+ // if checkbox view is desired, tag this item as a checkbox
+
+ // and set the state as 'false'
+
+        NodePtr->SetCheckbox(_checkboxView);
+
+        NodePtr->SetCheckboxState(0);
+
+#endif
+
+ // calculate the height and width
+
+        this->GetTextExtent(Caption,&extX,&extY,0,0,&(this->_captionFont));
+
+        NodePtr->SetHeight(extY);
+
+        NodePtr->SetWidth(extX);
+
+ // finally, insert node:
+
+  if (Position < (size_t)ParentPtr->GetNodeCount())
+
+    ParentPtr->InsertNode(NodePtr,Position);
+
+  else
+
+    ParentPtr->AddNode(NodePtr);
+
+ // return the newly created node:
+
+  return wxTreeMultiItem(NodePtr);
+
+!!!175362.cpp!!!       InsertWindow(inout ParentPtr : TreeMultiItemNode, in Position : size_t, inout WindowPtr : wxWindow, in Name : wxString, in Info : wxTreeMultiWindowInfo, in Flags : int) : wxTreeMultiItem
+
+
+  int WindowFlags;
+
+
+
+        TreeMultiItemWindow* NewWindowPtr = new TreeMultiItemWindow(ParentPtr,Name); // generate new window pointer
+
+
+
+
+
+ // get flags from passed variable "Flags"; in case this variable does not contain any flags use the window's information flags:
+
+  if (Flags != 0)
+
+    WindowFlags = Flags;
+
+  else
+
+    WindowFlags = Info.GetFlags();
+
+
+
+ // continue with initializing the new window:
+
+#if(CHECKBOXVIEW)
+
+        // if checkbox view is desired, tag this item as a checkbox
+
+        // and set the state as 'false'
+
+        NewWindowPtr->SetCheckbox(_checkboxView);
+
+#endif
+
+ // if style wants us to change background, set it to our background
+
+        if (WindowFlags & wxTMC_BG_ADJUST_ALL)
+
+        {
+
+                // go through all children of this window, and set the
+
+                // background of it (recursively)
+
+                this->SetWindowBackgroundColour(WindowPtr,this->GetBackgroundColour(),WindowFlags);
+
+        } /* if */
+
+
+
+ // set the spacing:
+
+        NewWindowPtr->SetTopSpacing(Info.GetTopSpacing());
+
+#if(CHECKBOXVIEW)
+
+        // make sure that the checkboxes are at least indented enough
+
+        if (this->_checkboxView)
+
+               NewWindowPtr->SetFrontSpacing(Info.GetFrontSpacing() + this->_checkWidth);
+
+        else
+
+#endif
+
+               NewWindowPtr->SetFrontSpacing(Info.GetFrontSpacing());
+
+ // assign finally the window:
+
+        NewWindowPtr->AssignWindow(WindowPtr);
+
+
+
+#if(CHECKBOXVIEW)
+
+ // set the checkbox state after the window is assigned
+
+        NewWindowPtr->SetCheckboxState(Info.GetDefaultCheckState());
+
+#endif
+
+
+
+ // if the window is not visible, set hide flag
+
+        this->ShowTreeMultiWindow(NewWindowPtr,NewWindowPtr->IsVisible());
+
+
+
+ // finally, insert the newly constructed window:
+
+  if (Position < (size_t)ParentPtr->GetNodeCount())
+
+    ParentPtr->InsertNode(NewWindowPtr,Position);
+
+  else
+
+    ParentPtr->AddNode(NewWindowPtr);
+
+ // return the newly created window:
+
+        return wxTreeMultiItem(NewWindowPtr);
+
+!!!175490.cpp!!!       Init() : void
+
+
+       _root.Clear();
+
+
+
+       _expandBmp = 0;
+
+       _collBmp = 0;
+
+
+
+#if(CHECKBOXVIEW)
+
+       _checkBmp = 0;
+
+       _uncheckBmp = 0;
+
+       _tristateBmp = 0;
+
+
+
+       _checkHeight = 11;
+
+       _checkWidth = 11;
+
+
+
+       _checkboxView = false;
+
+#endif
+
+
+
+       _gutterWidth = WXTMC_GUTTER_DEFAULT;
+
+       _iconWidth = 11;
+
+       _iconHeight = 11;
+
+       _maxHeight = 1;;
+
+       _iconDeltaY = 2;
+
+       _spacingY = WXTMC_YSPACING_DEFAULT;
+
+       _captionHeight = 13;
+
+
+
+       // create two bitmap nodes for drawing
+
+
+
+       _expandBmp = new wxBitmap(expand_xpm);
+
+       _collBmp = new wxBitmap(collapse_xpm);
+
+
+
+       // calculate average font height for bitmap centering
+
+
+
+       _iconWidth = _expandBmp->GetWidth();
+
+       _iconHeight = _expandBmp->GetHeight();
+
+
+
+#if(CHECKBOXVIEW)
+
+       // create bitmaps for checkboxes
+
+       _checkBmp = new wxBitmap(checked_icon);
+
+       _uncheckBmp = new wxBitmap(unchecked_icon);
+
+       _tristateBmp = new wxBitmap(tristate_icon);
+
+
+
+       // adjust the height if the checkboxes are higher
+
+       // so that everything is alligned properly
+
+       _checkHeight = _checkBmp->GetHeight();
+
+       _checkWidth = _checkBmp->GetWidth();
+
+#endif
+
+
+
+       // remember the highest of the two bitmaps so there is
+
+       // always enough room
+
+       _maxHeight = _iconHeight;
+
+
+
+#if(CHECKBOXVIEW)
+
+       if(_maxHeight < _checkHeight)
+
+                _maxHeight = _checkHeight;
+
+#endif
+
+
+
+ // set standard highlighting brush
+
+  this->m_HilightBrush = new wxBrush(wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT),wxSOLID);
+
+
+
+        // set standard DC font
+
+    _captionFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
+
+
+
+        // adjust bitmap icon y position so they are centered
+
+        AdjustIconsDeltaY();
+
+
+
+       // set virtual size to this window size
+
+       if (_create_called) {
+
+               wxSize wndsize = GetSize();
+
+               SetVirtualSize(wndsize.GetWidth(), wndsize.GetWidth());
+
+       }
+
+!!!175746.cpp!!!       OnMouseClick(inout event : wxMouseEvent) : void
+
+
+       // react on double click and left mouse down
+
+       if(event.LeftDown() || event.LeftDClick())
+
+       {
+
+               // get translation point
+
+               wxPoint pt( event.GetPosition() );
+
+
+
+               int x = 0, y = 0;
+
+               CalcUnscrolledPosition( pt.x, pt.y, &x, &y );
+
+
+
+               // go check if we clicked a treenode
+
+               int flags;
+
+               wxPoint p(x,y);
+
+               wxTreeMultiItem id = HitTest(p, flags);
+
+
+
+#if(CHECKBOXVIEW)
+
+               if(flags == wxTMC_HITTEST_CHECKBOX)
+
+               {
+
+                       // toggle the checkbox, and redraw
+
+                       if(id.IsOk())
+
+                       {
+
+                               TreeMultiItemBase *b = id.GetItem();
+
+                               b->SetCheckboxState((b->GetCheckboxState()+1) & 0x1);
+
+
+
+                               TreeMultiItemWindow *w = b->IsTreeMultiItemWindow();
+
+                               if(w)
+
+                               {
+
+                                       // try to force a focus on the window. This could
+
+                                       // be extended by searching for the first edit control
+
+                                       // class but for now, just a focus is tried.
+
+                                       w->GetWindow()->Enable(b->GetCheckboxState() == 1);
+
+                                       w->GetWindow()->SetFocus();
+
+
+
+                                       // draw the checkbox in the state needed
+
+                                       wxClientDC dc(this);
+
+                                       DrawCheckbox(b, dc, true);
+
+
+
+                                       // TODO: determine if the upper parents should be
+
+                                       // tristated or not
+
+
+
+                                       ScanTristateCheckstates(b);
+
+
+
+                               }
+
+                               else if(b->IsTreeMultiItemNode())
+
+                               {
+
+                                       // descend to all the children and set the state of the parent
+
+                                       SetRecursiveCheckState((TreeMultiItemNode *)b, b->GetCheckboxState() == 1);
+
+                                       RedrawFromNode((TreeMultiItemNode *)b);
+
+                               }
+
+                       }
+
+               }
+
+               else
+
+#endif // #if(CHECKBOXVIEW)
+
+               {
+
+                       // react on left mouse button, to fold and on
+
+                       // right for caption doubleclick
+
+                       int area = -1;
+
+
+
+// adjust behaviour for Linux (single click = always fold)
+
+#ifndef LINUX
+
+                       if(event.LeftDClick())
+
+                               area = wxTMC_HITTEST_CAPTION;
+
+                       else
+
+                               area = wxTMC_HITTEST_GUTTER;
+
+#else
+
+                        area = flags;
+
+#endif
+
+
+
+// Linux (single or double click -> always fold
+
+      if (id.IsOk())
+
+      {
+
+#ifdef LINUX
+
+                                // we have a valid item, if it is a node, then fold
+
+                                TreeMultiItemNode *n = id.GetItem()->IsTreeMultiItemNode();
+
+                                if(n)
+
+                                {
+
+                                  this->SelectItem(id);
+
+                                        Fold(n, !n->IsExpanded());
+
+                                } /* if */
+
+#else
+
+        if (event.LeftDown())
+
+          if (flags == wxTMC_HITTEST_GUTTER)
+
+          {
+
+                                TreeMultiItemNode *n = id.GetItem()->IsTreeMultiItemNode(); // for some reasons also windows may have set the flag
+
+
+
+            if (n != NULL)
+
+                                        Fold(n, !n->IsExpanded());
+
+          } /* if */
+
+          else if (flags == wxTMC_HITTEST_CAPTION)
+
+          {
+
+                                TreeMultiItemNode *n = id.GetItem()->IsTreeMultiItemNode(); // for some reasons also windows may have set the flag
+
+
+
+                                if (n != NULL)
+
+                                {
+
+                                  this->SelectItem(id);
+
+                                this->RedrawFromNode(n);
+
+                                } /* if */
+
+          } /* if */
+
+#endif
+
+      } /* if */
+
+      else
+
+        this->UnselectAll();
+
+                }
+
+        }
+
+!!!175874.cpp!!!       OnRightMouseClick(inout Event : wxMouseEvent) : void
+
+
+  if (Event.RightDown())
+
+    if (Event.Dragging())
+
+      this->UnselectAll();
+
+    else
+
+    {
+
+     // variable definitions:
+
+        int Flags;
+
+        wxPoint Point;
+
+
+
+     // translate mouse coordinates:
+
+        CalcUnscrolledPosition(Event.GetPosition().x,Event.GetPosition().y,&(Point.x),&(Point.y));
+
+     // check if the mouse is above the caption of an item:
+
+      wxTreeMultiItem Item(this->HitTest(Point,Flags)); // variable definition and initialization
+
+
+
+      if (Item.IsOk() && (Flags == wxTMC_HITTEST_CAPTION))
+
+      {
+
+        this->SelectItem(Item);
+
+                                this->RedrawFromNode(Item.GetItem()->IsTreeMultiItemNode());
+
+          Event.Skip(); // window will convert right mouse click to a context menu event or proceed with
+
+                        // a right mouse click event if the context menu event cannot be processed
+
+      } /* if */
+
+      else
+
+        this->UnselectAll();
+
+    } /* if */
+
+  else
+
+    this->UnselectAll();
+
+!!!176002.cpp!!!       OnKey(inout event : wxKeyEvent) : void
+
+
+       // check if we need to traverse to upper or lower
+
+       // control in the list
+
+       if(event.GetKeyCode() == WXK_TAB)
+
+       {
+
+               wxTreeMultiItem item = GetFocus();
+
+               if(item.IsOk())
+
+               {
+
+                       // traverse down direction
+
+                       if(!event.ShiftDown())
+
+                               item = FindNextVisibleWindowItem(item.GetItem());
+
+                       //else // traverse in up direction
+
+                       //      item = FindPreviousVisibleWindowItem(item);
+
+
+
+                       if(item.IsOk())
+
+                       {
+
+                               TreeMultiItemWindow *w = item.GetItem()->IsTreeMultiItemWindow();
+
+                               if(w)
+
+                               {
+
+                                       wxWindow *wnd = w->GetWindow();
+
+                                       wnd->SetFocus();
+
+                               }
+
+                       }
+
+               }
+
+       }
+
+       else
+
+               event.Skip();
+
+!!!176258.cpp!!!       RecalculateSpanSizes() : void
+
+
+       for(int i = 0; i < _root.GetNodeCount(); i++)
+
+        CalculateNodeSpanning(_root.GetNode(i));
+
+!!!176642.cpp!!!       ~wxTreeMultiCtrl()
+
+
+       // delete the bitmap resources
+
+       delete _expandBmp;
+
+       delete _collBmp;
+
+
+
+#if(CHECKBOXVIEW)
+
+       delete _checkBmp;
+
+       delete _uncheckBmp;
+
+       delete _tristateBmp;
+
+#endif
+
+!!!176898.cpp!!!       AddRoot(in caption : wxString, in name : wxString = wxEmptyString) : wxTreeMultiItem
+
+
+       wxTreeMultiItem result((TreeMultiItemBase *)&_root);
+
+       result = AppendNode(result, caption, name);
+
+
+
+        return result;
+
+!!!177026.cpp!!!       AppendWindow(in ParentItem : wxTreeMultiItem, inout window : wxWindow = NULL, in name : wxString = wxEmptyString, in info : wxTreeMultiWindowInfo = wxTreeMultiWindowInfoDefault, in flags : int = 0) : wxTreeMultiItem
+
+
+ // add window only if the parent item is valid and...
+
+        wxCHECK(ParentItem.IsOk(), wxTreeMultiItem(0));
+
+
+
+        TreeMultiItemNode* parent = ParentItem.GetItem()->IsTreeMultiItemNode(); // also roots are nodes
+
+
+
+ // ... is a node
+
+  wxCHECK(parent != NULL, wxTreeMultiItem(0));
+
+
+
+ // now, append node to the tree control:
+
+  wxTreeMultiItem NewWindowItem(this->InsertWindow(parent,wx_static_cast(size_t,parent->GetNodeCount()),window,name,info,flags));
+
+ // redraw the stucture:
+
+        this->RedrawFromNode(parent);
+
+ // return the new window
+
+        return NewWindowItem;
+
+!!!177154.cpp!!!       InsertWindow(in ParentItem : wxTreeMultiItem, in Position : size_t, inout window : wxWindow = NULL, in name : wxString = wxEmptyString, in info : wxTreeMultiWindowInfo = wxTreeMultiWindowInfoDefault, in flags : int = 0) : wxTreeMultiItem
+
+
+ // add window only if the parent item is valid and...
+
+        wxCHECK(ParentItem.IsOk(), wxTreeMultiItem(0));
+
+
+
+        TreeMultiItemNode* parent = ParentItem.GetItem()->IsTreeMultiItemNode(); // also roots are nodes
+
+
+
+ // ... is a node
+
+  wxCHECK(parent != NULL, wxTreeMultiItem(0));
+
+
+
+ // now, append node to the tree control:
+
+  wxTreeMultiItem NewWindowItem(this->InsertWindow(parent,Position,window,name,info,flags));
+
+ // redraw the stucture:
+
+        this->RedrawFromNode(parent);
+
+ // return the new window
+
+        return NewWindowItem;
+
+!!!177282.cpp!!!       PrependWindow(in ParentItem : wxTreeMultiItem, inout window : wxWindow = NULL, in name : wxString = wxEmptyString, in info : wxTreeMultiWindowInfo = wxTreeMultiWindowInfoDefault, in flags : int = 0) : wxTreeMultiItem
+
+
+ // add window only if the parent item is valid and...
+
+        wxCHECK(ParentItem.IsOk(), wxTreeMultiItem(0));
+
+
+
+        TreeMultiItemNode* parent = ParentItem.GetItem()->IsTreeMultiItemNode(); // also roots are nodes
+
+
+
+ // ... is a node
+
+  wxCHECK(parent != NULL, wxTreeMultiItem(0));
+
+
+
+ // now, append node to the tree control:
+
+  wxTreeMultiItem NewWindowItem(this->InsertWindow(parent,0,window,name,info,flags));
+
+ // redraw the stucture:
+
+        this->RedrawFromNode(parent);
+
+ // return the new window
+
+        return NewWindowItem;
+
+!!!177410.cpp!!!       AppendNode(in ParentItem : wxTreeMultiItem, in caption : wxString = wxEmptyString, in name : wxString = wxEmptyString) : wxTreeMultiItem
+
+
+ // add window only if the parent item is valid and...
+
+        wxCHECK(ParentItem.IsOk(), wxTreeMultiItem(0));
+
+
+
+        TreeMultiItemNode* parent = ParentItem.GetItem()->IsTreeMultiItemNode(); // also roots are nodes
+
+
+
+ // ... is a node
+
+  wxCHECK(parent != NULL, wxTreeMultiItem(0));
+
+
+
+ // now, append node to the tree control:
+
+  wxTreeMultiItem NewNodeItem(this->InsertNode(parent,wx_static_cast(size_t,parent->GetNodeCount()),caption,name));
+
+ // redraw the structure:
+
+        this->RedrawFromNode(parent);
+
+ // return the new node:
+
+        return NewNodeItem;
+
+!!!177538.cpp!!!       InsertNode(in ParentItem : wxTreeMultiItem, in Position : size_t, in caption : wxString, in name : wxString) : wxTreeMultiItem
+
+
+ // add window only if the parent item is valid and...
+
+        wxCHECK(ParentItem.IsOk(), wxTreeMultiItem(0));
+
+
+
+        TreeMultiItemNode* parent = ParentItem.GetItem()->IsTreeMultiItemNode(); // also roots are nodes
+
+
+
+ // ... is a node
+
+  wxCHECK(parent != NULL, wxTreeMultiItem(0));
+
+
+
+ // now, append node to the tree control:
+
+  wxTreeMultiItem NewNodeItem(this->InsertNode(parent,Position,caption,name));
+
+ // redraw the structure:
+
+        this->RedrawFromNode(parent);
+
+ // return the new node:
+
+        return NewNodeItem;
+
+!!!177666.cpp!!!       PrependNode(in ParentItem : wxTreeMultiItem, in caption : wxString = wxEmptyString, in name : wxString = wxEmptyString) : wxTreeMultiItem
+
+
+ // add window only if the parent item is valid and...
+
+        wxCHECK(ParentItem.IsOk(), wxTreeMultiItem(0));
+
+
+
+        TreeMultiItemNode* parent = ParentItem.GetItem()->IsTreeMultiItemNode(); // also roots are nodes
+
+
+
+ // ... is a node
+
+  wxCHECK(parent != NULL, wxTreeMultiItem(0));
+
+
+
+ // now, append node to the tree control:
+
+  wxTreeMultiItem NewNodeItem(this->InsertNode(parent,0,caption,name));
+
+ // redraw the structure:
+
+        this->RedrawFromNode(parent);
+
+ // return the new node:
+
+        return NewNodeItem;
+
+!!!177794.cpp!!!       Delete(inout item : wxTreeMultiItem) : bool
+
+
+       bool redraw = true;
+
+       wxCHECK(item.IsOk(), false);
+
+
+
+        wxTreeMultiItem nullItem(0);
+
+
+
+
+
+ // if item has been selected, remove it from the selected list:
+
+  size_t ItemIndex(this->GetSelectedItemIndex(item));
+
+
+
+  if (ItemIndex != this->GetSelectedItemCount())
+
+    this->m_SelectedItems.RemoveAt(ItemIndex);
+
+
+
+        // get parent, to delete item from
+
+        TreeMultiItemNode *p = item.GetItem()->GetParent();
+
+
+
+       // first check if it was visible, if so from the parent off
+
+       // it needs redrawing
+
+       redraw = item.GetItem()->IsVisible();
+
+       if(p)
+
+               p->DeleteNode(item.GetItem());
+
+       else
+
+               _root.DeleteNode(item.GetItem());
+
+
+
+       item = nullItem;
+
+
+
+       // do redraw when node was visible
+
+       if(redraw)
+
+               RedrawFromNode(p);
+
+
+
+       return true;
+
+!!!178050.cpp!!!       DeleteChildren(in item : wxTreeMultiItem) : void
+
+
+        if(item.IsNodeItem())
+
+        {
+
+                TreeMultiItemNode *n = (TreeMultiItemNode *)item.GetItem();
+
+
+
+   // remove all children from the selected item list:
+
+          if (n->GetNodeCount() > 0)
+
+          {
+
+           // variable definitions and initializations:
+
+            int Cookie;
+
+            wxTreeMultiItem FirstItemIterator(this->GetFirstChild(item,Cookie)), LastItemIterator(this->GetLastChild(item));
+
+
+
+            for (;;)
+
+            {
+
+              size_t ItemIndex(this->GetSelectedItemIndex(item)); // variable definition and initialization
+
+
+
+              if (ItemIndex != this->GetSelectedItemCount())
+
+                this->m_SelectedItems.RemoveAt(ItemIndex);
+
+              if (FirstItemIterator == LastItemIterator)
+
+                break; // all children checked
+
+              else
+
+                FirstItemIterator = this->GetNext(FirstItemIterator);
+
+            } /* for */
+
+          } /* if */
+
+         // delete children:
+
+                n->Clear();
+
+        // redraw:
+
+                RedrawFromNode(n);
+
+        }
+
+!!!178178.cpp!!!       ExpandNodes(in recursive : bool = false) : void
+
+
+       // go through all children and call DoFold recursively
+
+       for(int i = 0; i < _root.GetNodeCount(); i++)
+
+               DoFold(_root.GetNode(i), true, recursive);
+
+       RedrawFromNode(0);
+
+!!!178306.cpp!!!       CollapseNodes(in recursive : bool = false) : void
+
+
+       // go through all children and call DoFold recursively
+
+       for(int i = 0; i < _root.GetNodeCount(); i++)
+
+               DoFold(_root.GetNode(i), false, recursive);
+
+       RedrawFromNode(0);
+
+!!!178434.cpp!!!       Expand(in item : wxTreeMultiItem, in recursive : bool) : void
+
+
+       if(item.IsOk())
+
+       {
+
+        TreeMultiItemNode *n = item.GetItem()->IsTreeMultiItemNode();
+
+               if(!n)
+
+                       n = item.GetItem()->GetParent();
+
+        DoFold(n, true, recursive);
+
+               RedrawFromNode(item.GetItem()->IsTreeMultiItemNode());
+
+       }
+
+!!!178562.cpp!!!       Collapse(in item : wxTreeMultiItem, in recursive : bool) : void
+
+
+       if(item.IsOk())
+
+       {
+
+        TreeMultiItemNode *n = item.GetItem()->IsTreeMultiItemNode();
+
+               if(!n)
+
+                       n = item.GetItem()->GetParent();
+
+               DoFold(n, false, recursive);
+
+               RedrawFromNode(item.GetItem()->IsTreeMultiItemNode());
+
+       }
+
+!!!178690.cpp!!!       CollapseAndReset(in item : wxTreeMultiItem) : void
+
+
+       if(item.IsNodeItem())
+
+       {
+
+                TreeMultiItemNode *n = (TreeMultiItemNode *)item.GetItem();
+
+
+
+                // delete all kids
+
+                n->Clear();
+
+                Collapse(item, false);
+
+        }
+
+!!!179074.cpp!!!       GetFirstSelectedItem(in  : void) : wxTreeMultiItem
+
+
+  if (this->GetSelectedItemCount() > 0)
+
+    return this->m_SelectedItems[0];
+
+  else
+
+    return wxTreeMultiItem();
+
+!!!179202.cpp!!!       GetLastSelectedItem(in  : void) : wxTreeMultiItem
+
+
+  if (this->GetSelectedItemCount() > 0)
+
+    return this->m_SelectedItems[this->GetSelectedItemCount()-1];
+
+  else
+
+    return wxTreeMultiItem();
+
+!!!179330.cpp!!!       GetSelectedItem(in Index : size_t) : wxTreeMultiItem
+
+
+  if (Index < this->GetSelectedItemCount())
+
+    return this->m_SelectedItems[Index];
+
+  else
+
+    return wxTreeMultiItem();
+
+!!!179458.cpp!!!       GetSelectedItemIndex(in Item : wxTreeMultiItem) : size_t
+
+
+ // attention: the function wxArray::Index() can NOT be used in a save manner as it only checks the address of an item
+
+ //            element but it is not guaranteed that Item may not be a copy of the originally inserted item
+
+  const size_t NoOfSelectedItems = this->GetSelectedItemCount();
+
+
+
+  size_t Index(0);
+
+
+
+
+
+  while ((Index < NoOfSelectedItems) && (this->m_SelectedItems[Index] != Item))
+
+    ++Index;
+
+  return Index;
+
+!!!179586.cpp!!!       SelectItem(in Item : wxTreeMultiItem, in UnselectOthers : bool = true, in ExpandSelection : bool = false) : void
+
+
+  TreeMultiItemNode* NodePtr(Item.GetItem()->IsTreeMultiItemNode());
+
+
+
+
+
+ // only nodes can be selected and they can only be selected if they are not already selected:
+
+  if ((NodePtr == NULL) || NodePtr->IsSelected())
+
+   return;
+
+
+
+ // inform that we are about to change:
+
+  wxTreeMultiEvent Event(wxEVT_COMMAND_TREE_MULTI_SEL_CHANGING,Item); // variable definition and initialization
+
+
+
+  if (this->m_SelectedItems.GetCount() > 0) // the last item in the array is always the latest inserted item
+
+    Event.SetOldItem(this->m_SelectedItems.Last());
+
+  Event.SetEventObject(this);
+
+  if (this->GetEventHandler()->ProcessEvent(Event) && !(Event.IsAllowed()))
+
+      return; // vetoed
+
+
+
+ // make sure that the to be selected item can be seen:
+
+  this->Include(Item);
+
+
+
+ // variable definition and initialization:
+
+  wxTreeMultiItem ExcludedParent(this->GetExcludedParent(Item));
+
+
+
+  while (ExcludedParent.IsOk())
+
+  {
+
+    this->Include(ExcludedParent);
+
+    ExcludedParent = this->GetExcludedParent(Item);
+
+  } /* while */
+
+
+
+ // unselect items if necessary:
+
+  if (UnselectOthers)
+
+    this->UnselectAll();
+
+ // expand selection if necessary:
+
+  if (ExpandSelection)
+
+  {
+
+   // variable definition:
+
+    wxTreeMultiItem FirstItemIterator, LastItemIterator;
+
+    wxTreeMultiItem LastSelectedItem;
+
+
+
+   // determine the last selected item or the first item in case nothing has been selected before:
+
+    if (this->m_SelectedItems.GetCount() > 0)
+
+      LastSelectedItem = this->m_SelectedItems.Last();
+
+    else
+
+      LastSelectedItem = this->GetFirstRoot();
+
+   // determine the item from which to start and the one with which to end the selection:
+
+    if (Item.GetItem()->GetY() > LastSelectedItem.GetItem()->GetY())
+
+    {
+
+      FirstItemIterator = LastSelectedItem;
+
+      LastItemIterator  = Item;
+
+    } /* if */
+
+    else
+
+    {
+
+      FirstItemIterator = Item;
+
+      LastItemIterator  = LastSelectedItem;
+
+    } /* if */
+
+   // select all items that are a node and are placed between the two limiting iterators (included the limits):
+
+    for (;;)
+
+    {
+
+      if (!(FirstItemIterator.IsSelected()) && FirstItemIterator.IsNodeItem())
+
+      {
+
+        FirstItemIterator.GetItem()->Select();
+
+        this->m_SelectedItems.Add(FirstItemIterator);
+
+        this->RefreshRect(wxRect(FirstItemIterator.GetItem()->GetX(),    FirstItemIterator.GetItem()->GetY(),
+
+                                 FirstItemIterator.GetItem()->GetWidth(),FirstItemIterator.GetItem()->GetHeight()));
+
+      } /* if */
+
+      if (FirstItemIterator == LastItemIterator)
+
+        break; // done
+
+     // continue iterating:
+
+      FirstItemIterator = this->GetNext(FirstItemIterator);
+
+    } /* for */
+
+  } /* if */
+
+  else // select passed item only
+
+  {
+
+    NodePtr->Select();
+
+    this->m_SelectedItems.Add(NodePtr);
+
+    this->RefreshRect(wxRect(NodePtr->GetX(),NodePtr->GetY(),NodePtr->GetWidth(),NodePtr->GetHeight()));
+
+  } /* if */
+
+
+
+ // inform that we have selected the item:
+
+  Event.SetEventType(wxEVT_COMMAND_TREE_MULTI_SEL_CHANGED);
+
+  this->GetEventHandler()->ProcessEvent(Event);
+
+!!!179714.cpp!!!       UnselectAll(in  : void) : void
+
+
+  const size_t NoOfSelectedItems = this->m_SelectedItems.GetCount();
+
+
+
+
+
+  for (size_t i=0; i<NoOfSelectedItems; ++i)
+
+  {
+
+    this->RefreshRect(wxRect(this->m_SelectedItems[i].GetItem()->GetX(),    this->m_SelectedItems[i].GetItem()->GetY(),
+
+                             this->m_SelectedItems[i].GetItem()->GetWidth(),this->m_SelectedItems[i].GetItem()->GetHeight()));
+
+    this->m_SelectedItems[i].GetItem()->Unselect();
+
+  } /* for */
+
+  this->m_SelectedItems.Clear();
+
+!!!179842.cpp!!!       Unselect(in Item : wxTreeMultiItem) : void
+
+
+  size_t ItemIndex(this->GetSelectedItemIndex(Item));
+
+
+
+
+
+  if (ItemIndex != this->GetSelectedItemCount())
+
+  {
+
+    Item.GetItem()->Unselect();
+
+    this->m_SelectedItems.RemoveAt(ItemIndex);
+
+    this->RefreshRect(wxRect(Item.GetItem()->GetX(),Item.GetItem()->GetY(),Item.GetItem()->GetWidth(),Item.GetItem()->GetHeight()));
+
+  } /* if */
+
+!!!179970.cpp!!!       Exclude(in item : wxTreeMultiItem) : void
+
+
+       wxCHECK2(item.IsOk(), return);
+
+
+
+       // exclude the item, and refresh
+
+       // if already excluded, skip
+
+
+
+       if(!item.GetItem()->IsExcluded())
+
+       {
+
+               item.GetItem()->SetExcluded(true);
+
+               RedrawFromParentNode(item.GetItem());
+
+       }
+
+!!!180098.cpp!!!       Include(in item : wxTreeMultiItem) : void
+
+
+       wxCHECK2(item.IsOk(), return);
+
+
+
+       // include the item, and refresh. If not
+
+       // excluded, do nothing
+
+
+
+       if(item.GetItem()->IsExcluded())
+
+       {
+
+               item.GetItem()->SetExcluded(false);
+
+               RedrawFromParentNode(item.GetItem());
+
+       }
+
+!!!180226.cpp!!!       GetExcludedParent(in item : wxTreeMultiItem) : wxTreeMultiItem
+
+
+       wxCHECK(item.IsOk(), wxTreeMultiItem(0));
+
+
+
+       // go find the parent (including this one) that
+
+       // can be the excluded one
+
+
+
+       TreeMultiItemNode *n = item.GetItem()->IsTreeMultiItemNode();
+
+       if(n && n->IsExcluded())
+
+               return wxTreeMultiItem(n);
+
+
+
+       n = item.GetItem()->GetParent();
+
+       while(n)
+
+       {
+
+               if(n->IsExcluded())
+
+                       return wxTreeMultiItem(n);
+
+               else
+
+                       n = n->GetParent();
+
+       }
+
+
+
+        return wxTreeMultiItem(0);
+
+!!!180354.cpp!!!       HitTest(in pt : wxPoint, inout flags : int) : wxTreeMultiItem
+
+
+        // scan all nodes to see which one matches
+
+        TreeMultiItemBase *b = 0;
+
+       for(int i = 0; i < _root.GetNodeCount() && !b; i++)
+
+               b = FindNodeByPoint(_root.GetNode(i), pt, flags);
+
+
+
+       if(!b)
+
+       {
+
+               // none found, reset
+
+               flags = 0;
+
+               return wxTreeMultiItem(0);
+
+       }
+
+
+
+       // return an item
+
+        return wxTreeMultiItem(b);
+
+!!!180482.cpp!!!       FindItem(in item : wxTreeMultiItem, in name : wxString, in ignoreCase : bool = false, in skipFirst : bool = false) : wxTreeMultiItem
+
+
+       if(item.IsOk())
+
+       {
+
+               TreeMultiItemBase *b = item.GetItem();
+
+
+
+               // check this item first (or not)
+
+
+
+               if(!skipFirst)
+
+               {
+
+                       if(b->GetName().IsSameAs(name, !ignoreCase))
+
+                               return wxTreeMultiItem(b);
+
+               }
+
+
+
+               if(b->IsTreeMultiItemNode())
+
+               {
+
+                       // now check whether we are a node, then go check children
+
+
+
+                       TreeMultiItemNode *n = (TreeMultiItemNode *)b;
+
+                       wxTreeMultiItem result(0);
+
+                       for(int i = 0; i < n->GetNodeCount() && !result.IsOk(); i++)
+
+                               result = FindItem(wxTreeMultiItem(n->GetNode(i)), name, ignoreCase, false);
+
+
+
+                       return result;
+
+               }
+
+       }
+
+
+
+       return wxTreeMultiItem(0);
+
+!!!180866.cpp!!!       GetFocus() : wxTreeMultiItem
+
+
+       wxWindow *wnd = wxWindow::FindFocus();
+
+
+
+       // now find window that holds this item. if not
+
+       // visible it cannot have focus (should not have)
+
+
+
+       wxTreeMultiItem item = FindWindowNode(wnd);
+
+       if(item.IsOk() && item.GetItem()->IsVisible())
+
+               return item;
+
+
+
+       return wxTreeMultiItem(0);
+
+!!!180994.cpp!!!       GetBooleanValue(in wndId : int) : bool
+
+
+       wxWindow *wnd = wxWindow::FindWindow(wndId);
+
+       wxCHECK(wnd, false);
+
+
+
+       // try a radio button
+
+       wxRadioButton *b = wxDynamicCast(wnd, wxRadioButton);
+
+       if(b)
+
+               return b->GetValue();
+
+
+
+       // try a check box
+
+       wxCheckBox *c = wxDynamicCast(wnd, wxCheckBox);
+
+       if(c)
+
+               return c->GetValue();
+
+
+
+       /** \todo For custom controls we should put something in wxMultiTreeItemData class
+
+           which can be overridden to retrieve the boolean value. It will also be passed
+
+           the pointer to the window, so the derived class can figure out how to get a boolean
+
+           value.
+
+       */
+
+
+
+       // generate assert or just return with false
+
+       wxCHECK(0, false);
+
+!!!181122.cpp!!!       GetTextValue(in wndId : int) : wxString
+
+
+       wxWindow *wnd = wxWindow::FindWindow(wndId);
+
+       wxCHECK(wnd, wxEmptyString);
+
+
+
+       // try a radio button
+
+       wxTextCtrl *t = wxDynamicCast(wnd, wxTextCtrl);
+
+       if(t)
+
+               return t->GetValue();
+
+
+
+       // try a choice box
+
+       wxChoice *c1 = wxDynamicCast(wnd, wxChoice);
+
+       if(c1)
+
+               return c1->GetStringSelection();
+
+
+
+       // try a combo box
+
+       wxComboBox *c2 = wxDynamicCast(wnd, wxComboBox);
+
+       if(c2)
+
+               return c2->GetStringSelection();
+
+
+
+       // try a listbox
+
+       wxListBox *l = wxDynamicCast(wnd, wxListBox);
+
+       if(l)
+
+               return l->GetStringSelection();
+
+
+
+       /** \todo For custom controls we should put something in wxMultiTreeItemData class
+
+           which can be overridden to retrieve the boolean value. It will also be passed
+
+           the pointer to the window, so the derived class can figure out how to get a boolean
+
+           value.
+
+       */
+
+
+
+       // generate assert or just return with string
+
+       wxCHECK(0, wxEmptyString);
+
+!!!181250.cpp!!!       SetBooleanValue(in wndId : int, in value : bool = true) : void
+
+
+       wxWindow *wnd = wxWindow::FindWindow(wndId);
+
+       wxCHECK2(wnd, return);
+
+
+
+       // try a radio button
+
+       wxRadioButton *b = wxDynamicCast(wnd, wxRadioButton);
+
+       if(b)
+
+       {
+
+               b->SetValue(value);
+
+               return;
+
+       }
+
+
+
+       // try a check box
+
+       wxCheckBox *c = wxDynamicCast(wnd, wxCheckBox);
+
+       if(c)
+
+       {
+
+               c->SetValue(value);
+
+               return;
+
+       }
+
+
+
+       /** \todo For custom controls we should put something in wxMultiTreeItemData class
+
+                   which can be overridden to retrieve the boolean value. It will also be passed
+
+                   the pointer to the window, so the derived class can figure out how to get a boolean
+
+                   value.
+
+       */
+
+
+
+       // generate assert
+
+       wxCHECK2(0, return);
+
+!!!181378.cpp!!!       SetTextValue(in wndId : int, in value : wxString = wxEmptyString) : void
+
+
+       wxWindow *wnd = wxWindow::FindWindow(wndId);
+
+       wxCHECK2(wnd, return);
+
+
+
+       // try a radio button
+
+       wxTextCtrl *t = wxDynamicCast(wnd, wxTextCtrl);
+
+       if(t)
+
+       {
+
+               t->SetValue(value);
+
+               return;
+
+       }
+
+
+
+       /** \todo For custom controls we should put something in wxMultiTreeItemData class
+
+                   which can be overridden to retrieve the boolean value. It will also be passed
+
+                   the pointer to the window, so the derived class can figure out how to get a boolean
+
+                   value.
+
+       */
+
+
+
+       // generate assert
+
+       wxCHECK2(0, return);
+
+!!!181634.cpp!!!       SetSelectionValue(in wndId : int, in sel : int) : void
+
+
+       wxWindow *wnd = wxWindow::FindWindow(wndId);
+
+       wxCHECK2(wnd, return);
+
+
+
+       // try a choice box
+
+       wxChoice *c1 = wxDynamicCast(wnd, wxChoice);
+
+       if(c1)
+
+       {
+
+               c1->SetSelection(sel);
+
+               return;
+
+       }
+
+
+
+       // try a combo box
+
+       wxComboBox *c2 = wxDynamicCast(wnd, wxComboBox);
+
+       if(c2)
+
+       {
+
+               c2->SetSelection(sel);
+
+               return;
+
+       }
+
+
+
+       // try a listbox
+
+       wxListBox *l = wxDynamicCast(wnd, wxListBox);
+
+       if(l)
+
+       {
+
+               l->SetSelection(sel);
+
+               return;
+
+       }
+
+
+
+       /** \todo For custom controls we should put something in wxMultiTreeItemData class
+
+           which can be overridden to retrieve the boolean value. It will also be passed
+
+           the pointer to the window, so the derived class can figure out how to get a boolean
+
+           value.
+
+       */
+
+
+
+       // generate assert or just return with string
+
+       wxCHECK2(0, return);
+
+!!!181762.cpp!!!       GetSelectionValue(in wndId : int) : int
+
+
+       wxWindow *wnd = wxWindow::FindWindow(wndId);
+
+       wxCHECK(wnd, -1);
+
+
+
+       // try a choice box
+
+       wxChoice *c1 = wxDynamicCast(wnd, wxChoice);
+
+       if(c1)
+
+               return c1->GetSelection();
+
+
+
+       // try a combo box
+
+       wxComboBox *c2 = wxDynamicCast(wnd, wxComboBox);
+
+       if(c2)
+
+               return c2->GetSelection();
+
+
+
+       // try a listbox
+
+       wxListBox *l = wxDynamicCast(wnd, wxListBox);
+
+       if(l)
+
+               return l->GetSelection();
+
+
+
+       /** \todo For custom controls we should put something in wxMultiTreeItemData class
+
+           which can be overridden to retrieve the boolean value. It will also be passed
+
+           the pointer to the window, so the derived class can figure out how to get a boolean
+
+           value.
+
+       */
+
+
+
+       // generate assert or just return with string
+
+       wxCHECK(0, -1);
+
+!!!181890.cpp!!!       GetSelectionValues(in wndId : int, inout sels : wxArrayInt) : void
+
+
+       sels.Clear();
+
+
+
+       wxWindow *wnd = wxWindow::FindWindow(wndId);
+
+       wxCHECK2(wnd, return);
+
+
+
+       // try a listbox
+
+       wxListBox *l = wxDynamicCast(wnd, wxListBox);
+
+       if(l)
+
+       {
+
+               l->GetSelections(sels);
+
+               return;
+
+       }
+
+
+
+       /** \todo For custom controls we should put something in wxMultiTreeItemData class
+
+           which can be overridden to retrieve the boolean value. It will also be passed
+
+           the pointer to the window, so the derived class can figure out how to get a boolean
+
+           value.
+
+       */
+
+
+
+       // generate assert or just return with string
+
+       wxCHECK2(0, return);
+
+!!!183042.cpp!!!       GetParent(in item : wxTreeMultiItem) : wxTreeMultiItem
+
+
+ // check if valid or root item has been passed, both do not have parents:
+
+  if (!(item.IsOk()) || item.GetItem()->IsTreeMultiItemRoot())
+
+    return wxTreeMultiItem();
+
+  else
+
+    return wxTreeMultiItem(item.GetItem()->GetParent()); // GetParent() returns a valid pointer in case of a root item!!
+
+                                                         // therefore, the check if the passed item is a root item is necessary
+
+!!!183170.cpp!!!       GetFirstChild(in item : wxTreeMultiItem, inout cookie : int) : wxTreeMultiItem
+
+
+       if(item.IsNodeItem())
+
+       {
+
+               TreeMultiItemNode *n = (TreeMultiItemNode *)item.GetItem();
+
+
+
+               if(n->GetNodeCount() > 0)
+
+               {
+
+                       cookie = 0;
+
+                       return wxTreeMultiItem(n->GetNode(0));
+
+               }
+
+       }
+
+
+
+       // no children or no valid node
+
+       cookie = -1;
+
+       return wxTreeMultiItem(0);
+
+!!!183298.cpp!!!       GetNextChild(in item : wxTreeMultiItem, inout cookie : int) : wxTreeMultiItem
+
+
+       if(item.IsNodeItem())
+
+       {
+
+               TreeMultiItemNode *n = (TreeMultiItemNode *)item.GetItem();
+
+
+
+               if(cookie >= 0 && cookie < (n->GetNodeCount()-1))
+
+               {
+
+                       // increment cookie, return node
+
+                       cookie ++;
+
+                       return wxTreeMultiItem(n->GetNode(cookie));
+
+               }
+
+       }
+
+
+
+       // end of query, or no valid node
+
+       cookie = -1;
+
+       return wxTreeMultiItem(0);
+
+!!!183426.cpp!!!       GetLastChild(in item : wxTreeMultiItem) : wxTreeMultiItem
+
+
+       if(item.IsNodeItem())
+
+       {
+
+               TreeMultiItemNode *n = (TreeMultiItemNode *)item.GetItem();
+
+
+
+               if(n->GetNodeCount() > 0)
+
+                       return wxTreeMultiItem(n->GetNode(n->GetNodeCount()-1));
+
+       }
+
+
+
+        return wxTreeMultiItem(0);
+
+!!!183554.cpp!!!       GetNextSibling(in item : wxTreeMultiItem) : wxTreeMultiItem
+
+
+ // check if a valid item has been passed:
+
+  if (!(item.IsOk()))
+
+    return wxTreeMultiItem();
+
+
+
+  TreeMultiItemNode* ParentPtr(item.GetItem()->GetParent());
+
+
+
+
+
+  if (ParentPtr != NULL) // the parent pointer is only null if the passed item is the root
+
+  {
+
+   // find the current item in the parent's list; the next sibling has an index that is one higher than the one of the current item:
+
+    int NextItemIndex(ParentPtr->Index(item.GetItem())+1); // variable definition and initialization
+
+
+
+    if (NextItemIndex < ParentPtr->GetNodeCount())
+
+      return ParentPtr->GetNode(NextItemIndex);
+
+    else
+
+      return wxTreeMultiItem();
+
+  } /* if */
+
+  else
+
+    return wxTreeMultiItem();
+
+!!!183682.cpp!!!       GetPrevSibling(in item : wxTreeMultiItem) : wxTreeMultiItem
+
+
+ // check if a valid item has been passed:
+
+  if (!(item.IsOk()))
+
+    return wxTreeMultiItem();
+
+
+
+  TreeMultiItemNode* ParentPtr(item.GetItem()->GetParent());
+
+
+
+
+
+  if (ParentPtr != NULL)
+
+  {
+
+   // find the current item in the parent's list; the next sibling has an index that is one higher than the one of the current item:
+
+    int PrevItemIndex(ParentPtr->Index(item.GetItem())-1); // variable definition and initialization
+
+
+
+    if (PrevItemIndex >= 0)
+
+      return ParentPtr->GetNode(PrevItemIndex);
+
+    else
+
+      return wxTreeMultiItem();
+
+  } /* if */
+
+  else
+
+    return wxTreeMultiItem();
+
+!!!183810.cpp!!!       GetNext(in item : wxTreeMultiItem) : wxTreeMultiItem
+
+
+ // check if a valid item has been passed:
+
+  if (!(item.IsOk()))
+
+    return wxTreeMultiItem();
+
+
+
+  TreeMultiItemNode* NodePtr(item.GetItem()->IsTreeMultiItemNode()); // variable definition and initialization
+
+
+
+  if ((NodePtr != NULL) && (NodePtr->GetNodeCount() > 0))
+
+    return wxTreeMultiItem(NodePtr->First());
+
+  else
+
+  {
+
+   // variable definitions and initializations:
+
+    wxTreeMultiItem Parent(item);
+
+    wxTreeMultiItem Sibling;
+
+
+
+    do
+
+    {
+
+      Sibling = this->GetNextSibling(Parent); // try to find next sibling
+
+      Parent = this->GetParent(Parent);       // get next ancestor
+
+    } while (!(Sibling.IsOk()) && Parent.IsOk());
+
+   // in case the loop ended with Sibling.IsOk() "Sibling" contains a valid sibling otherwise an invalid
+
+    return Sibling;
+
+  } /* if */
+
+!!!183938.cpp!!!       GetPrevious(in item : wxTreeMultiItem) : wxTreeMultiItem
+
+
+ // check if a valid item has been passed:
+
+  if (!(item.IsOk()))
+
+    return wxTreeMultiItem();
+
+
+
+  TreeMultiItemNode* NodePtr(item.GetItem()->IsTreeMultiItemNode()); // variable definition and initialization
+
+
+
+  if ((NodePtr != NULL) && (NodePtr->GetNodeCount() > 0))
+
+    return wxTreeMultiItem(NodePtr->Last());
+
+  else
+
+  {
+
+   // variable definitions and initializations:
+
+    wxTreeMultiItem Parent(item);
+
+    wxTreeMultiItem Sibling;
+
+
+
+    do
+
+    {
+
+      Sibling = this->GetPrevSibling(Parent); // try to find next sibling
+
+      Parent = this->GetParent(Parent);       // get next ancestor
+
+    } while (!(Sibling.IsOk()) && Parent.IsOk());
+
+   // in case the loop ended with Sibling.IsOk() "Sibling" contains a valid sibling otherwise an invalid
+
+    return Sibling;
+
+  } /* if */
+
+!!!184194.cpp!!!       SetCaptionFont(in font : wxFont) : void
+
+
+       _captionFont = font;
+
+
+
+       // adjust the icons so that they are in the middle
+
+       AdjustIconsDeltaY();
+
+
+
+       RedrawFromNode(0);
+
+!!!184322.cpp!!!       OnDraw(inout dc : wxDC) : void
+
+
+        // go recursive and draw the whole visible tree.
+
+        dc.SetFont(_captionFont);
+
+        for(int i = 0; i < _root.GetNodeCount(); i++)
+
+                DrawNode(_root.GetNode(i), dc);
+
diff --git a/doc/bouml/bbtkk/141186.bodies b/doc/bouml/bbtkk/141186.bodies
new file mode 100644 (file)
index 0000000..abb1f10
--- /dev/null
@@ -0,0 +1,13 @@
+class AnyImageToTypedImage
+!!!185218.cpp!!!       DoIt() : void
+    if ( bbGetInputIn().type() == typeid(itkImageTypePointer) )
+      {
+       bbSetOutputOut ( bbGetInputIn().template unsafe_get < itkImageTypePointer >() );
+      }
+    else 
+      {
+       bbtkError(this->bbGetFullName()<<+" : transform of <"
+                 <<bbtk::TypeName(bbGetInputIn().type())<<"> into <"
+                 <<bbtk::TypeName<itkImageTypePointer>()<<"> not implemented");
+      }
+  
diff --git a/doc/bouml/bbtkk/141442.bodies b/doc/bouml/bbtkk/141442.bodies
new file mode 100644 (file)
index 0000000..786e688
--- /dev/null
@@ -0,0 +1,17 @@
+class AnyImageToConstTypedImage
+!!!185346.cpp!!!       DoIt() : void
+    if ( bbGetInputIn().type() == typeid(itkImageTypeConstPointer) )
+      {
+       bbSetOutputOut ( bbGetInputIn().template unsafe_get < itkImageTypeConstPointer >() );
+      }
+    else if ( bbGetInputIn().type() == typeid(itkImageTypePointer) )
+      {
+       bbSetOutputOut ( bbGetInputIn().template unsafe_get < itkImageTypePointer >() );
+      }
+    else 
+      {
+       bbtkError(this->bbGetFullName()<<+" : transform of <"
+                 <<bbtk::TypeName(bbGetInputIn().type())<<"> into <"
+                 <<bbtk::TypeName<itkImageTypeConstPointer>()<<"> not implemented");
+      }
+  
diff --git a/doc/bouml/bbtkk/141954.bodies b/doc/bouml/bbtkk/141954.bodies
new file mode 100644 (file)
index 0000000..0c35714
--- /dev/null
@@ -0,0 +1,27 @@
+class BinaryThresholdImageFilterGeneric
+!!!185474.cpp!!!       ProcessSwitch() : void
+    BBTK_TEMPLATE_ITK_IMAGE_SWITCH(bbGetInputIn().type(), this->Process);
+  
+!!!185602.cpp!!!       Process() : void
+    bbtkDebugMessageInc("Core",9,
+                       "bbitk::BinaryThresholdImageFilterGeneric::Process<"
+                       <<bbtk::TypeName<T>()<<">()"<<std::endl);
+    typedef BinaryThresholdImageFilter<T> FilterType;
+    typename FilterType::Pointer f = FilterType::New("Temp");
+         typedef T* TPointer; 
+         f->bbSetInputIn( this->bbGetInputIn().get < TPointer > () );
+    f->bbSetInputLowerThreshold ( (typename T::PixelType)
+                                 this->bbGetInputLowerThreshold() );
+    f->bbSetInputUpperThreshold ( (typename T::PixelType)
+                                 this->bbGetInputUpperThreshold() );
+    f->bbSetInputInsideValue ( (typename T::PixelType)
+                              this->bbGetInputInsideValue() );
+    f->bbSetInputOutsideValue ( (typename T::PixelType)
+                               this->bbGetInputOutsideValue() );
+    f->bbExecute();
+    f->bbGetOutputOut()->Register();
+    this->bbSetOutputOut( f->bbGetOutputOut() );
+
+    bbtkDebugDecTab("Core",9);
+  
diff --git a/doc/bouml/bbtkk/142466.bodies b/doc/bouml/bbtkk/142466.bodies
new file mode 100644 (file)
index 0000000..1dfcf56
--- /dev/null
@@ -0,0 +1,39 @@
+class ExtractImageFilterGeneric
+!!!185858.cpp!!!       Process() : void
+    bbtkDebugMessageInc("Core",9,
+                       "bbitk::ExtractImageFilterGeneric::Process<"
+                       <<bbtk::TypeName<T>()<<">()"<<std::endl);
+    // T is the type of input image
+    typedef T ImageType;
+    // We define the type of the filter to use which is template 
+    // on the image type
+    typedef ExtractImageFilter<ImageType> FilterType;
+    // Allocate the filter
+    typename FilterType::Pointer f = FilterType::New("Temp");
+
+    // Set the input In of the filter
+    // Here we :
+    // 1) Get **OUR** input 'In' by bbGetInputIn()
+    //    It is a anyImagePointer
+    // 2) We **KNOW** that the actual type stored by the anyImagePointer
+    //    is ImageType* hence we get the value stored using the 
+    //    unsafe_get method (which is a template method on the return type)
+    f->bbSetInputIn( this->bbGetInputIn().unsafe_get<ImageType*>() );
+    
+    // The same for the ImageRegion except that we use 'get' and not 
+    // 'unsafe get' because the region dimension passed by the user may not be 
+    // compatible with the image dimension.
+    // If get fails it throws an exception which must be caught outside 
+    f->bbSetInputExtractionRegion ( this->bbGetInputRegion().get<typename T::RegionType>() );
+
+    // Execute the filter
+    f->bbExecute();
+    // Register its output or it will be deleted we delete the filter
+    f->bbGetOutputOut()->Register();
+    // Set OUR output
+    this->bbSetOutputOut( f->bbGetOutputOut() );
+    // Delete the temporary filter
+    f->bbDelete();
+
+    bbtkDebugDecTab("Core",9);
+  
diff --git a/doc/bouml/bbtkk/148098.bodies b/doc/bouml/bbtkk/148098.bodies
new file mode 100644 (file)
index 0000000..128ef37
--- /dev/null
@@ -0,0 +1,89 @@
+class ResampleImageFilter
+!!!188162.cpp!!!       ProcessSwitch() : void
+    bbtk::TypeInfo t = bbGetInputIn().type();
+    BBTK_TEMPLATE_ITK_IMAGE_SWITCH(t, this->Process);
+  
+!!!188290.cpp!!!       Process() : void
+    bbtkDebugMessageInc("Core",9,
+                       "bbitk::ResampleImageFilter::Process<"
+                       <<bbtk::TypeName<T>()<<">()"<<std::endl);
+    typedef T ImageType;
+    typedef itk::ResampleImageFilter<ImageType,ImageType> FilterType;
+    typename FilterType::Pointer filter = FilterType::New();
+    const unsigned int Dimension = ImageType::ImageDimension;
+
+    // Input
+    T* in = this->bbGetInputIn().get<T*>();
+    filter->SetInput( in );
+
+    // Size, Spacing, Origin and DefaultPixelVal
+    typename ImageType::SizeType size;
+    typename ImageType::SpacingType spacing;
+    typename ImageType::PointType origin;
+    typename ImageType::RegionType LPR;
+    LPR = in->GetLargestPossibleRegion();
+    size = LPR.GetSize();
+    //    origin = LPR.GetIndex(); //in->GetOrigin();
+     for (unsigned int i=0;i<Dimension;++i) 
+      {
+       origin[i] = LPR.GetIndex()[i]*in->GetSpacing()[i];
+       spacing[i] = bbGetInputSpacing()[i];
+       double tmp = (LPR.GetSize()[i]*in->GetSpacing()[i]/spacing[i] ) + 0.5;
+       size[i] = (long)floor(tmp);
+//     size[i] = (long)lrint(LPR.GetSize()[i]*in->GetSpacing()[i]/spacing[i]);
+       }
+   
+    filter->SetOutputOrigin (origin);
+    filter->SetSize (size);
+    filter->SetOutputSpacing( spacing );
+
+    filter->SetDefaultPixelValue (0);
+    filter->SetOutputDirection( in->GetDirection() );
+
+
+
+    // Transform
+    typedef itk::AffineTransform < double, Dimension> TransformType;
+    
+    // Instance of the transform object to be passed to the resample filter
+    // By default, identity transform is applied
+    typename TransformType::Pointer transform =  TransformType::New();
+    filter->SetTransform ( transform );
+
+    
+    if  ( bbGetInputInterpolation() == "NearestNeighbor" ) {
+      typedef itk::NearestNeighborInterpolateImageFunction < ImageType, double > InterpolatorType;     
+      // We create an interpolator of the found type 
+      typename InterpolatorType::Pointer interpolator = InterpolatorType::New();
+      filter->SetInterpolator( interpolator );
+    }
+    else if  ( bbGetInputInterpolation() == "BSpline") { 
+      typedef itk::BSplineInterpolateImageFunction < ImageType, double > InterpolatorType; 
+      // We create an interpolator of the found type 
+      typename InterpolatorType::Pointer interpolator = InterpolatorType::New();
+      filter->SetInterpolator(interpolator);    
+      // When handling unsigned data, it is possible that the interpolated value is negative
+      // if ( (m_InputImage->GetComponentTypeAsString() == "uchar")   || 
+      //          (m_InputImage->GetComponentTypeAsString() == "ushort")  ||
+      //          (m_InputImage->GetComponentTypeAsString() == "uint") ) {   
+      //       std::cout << "Warning! you're using unsigned data ! The interpolated value may result negative! "<< std::endl;
+      // }
+    } //end else if
+    // Interpolation 
+    else { // if ( bbGetInputInterpolation() == "Linear" ) {
+      typedef itk::LinearInterpolateImageFunction < ImageType, double > InterpolatorType;     
+      // We create an interpolator of the found type 
+      typename InterpolatorType::Pointer interpolator =  InterpolatorType::New();
+      filter->SetInterpolator( interpolator );
+    }
+
+    filter->Update();
+    filter->GetOutput()->Register();
+    if (mOutput) mOutput->UnRegister();
+    this->bbSetOutputOut( filter->GetOutput() );
+    mOutput = filter->GetOutput();
+
+    bbtkDebugDecTab("Core",9);
+  
diff --git a/doc/bouml/bbtkk/152962.bodies b/doc/bouml/bbtkk/152962.bodies
new file mode 100644 (file)
index 0000000..4004ab4
--- /dev/null
@@ -0,0 +1,943 @@
+class bbfy
+!!!202626.cpp!!!       bbfy(in filename : std::string, in package : std::string = "PACKAGE_NAME", in output_path : std::string = "", in verbose : bool = false)
+  mIsWidget = false;
+  
+  mFilename = filename;
+  mPackage = package;
+  mNamespace = "bb" + mPackage;
+
+  mOutputPath = output_path;
+  mVerbose = verbose;
+
+  CreateBlackBox();
+!!!202754.cpp!!!       CreateBlackBox() : void
+  // Parse XML input file
+  ParseXML();
+  // Create output files
+  CreateHeader();
+  CreateCode();
+!!!202882.cpp!!!       ParseXML() : void
+  XMLResults* res = new XMLResults;
+  XMLNode BB = XMLNode::parseFile(mFilename.c_str(),"blackbox",res);
+
+  if ( res->error != eXMLErrorNone ) 
+    {
+      std::ostringstream str;
+      str << XMLNode::getError(res->error);
+      str << " [line " << res->nLine << ", col "<<res->nColumn<<"]"; 
+      delete res;
+      throw bbfyException(str.str());
+    }
+  delete res;
+
+  // Name
+  if (!BB.isAttributeSet("name")) 
+    {
+      throw bbfyException("Error : <blackbox> tag : no 'name' attribute found (mandatory)");
+    }
+  mName = BB.getAttribute("name");
+
+  if (mVerbose) std::cout << "* Creating BlackBox '"<<mName<<"'"<<std::endl;
+
+  // Type 
+  mGeneric = false;
+  mType = STD;
+
+
+  if (BB.isAttributeSet("type")) 
+    {
+      std::string bbtype = BB.getAttribute("type");
+      if (bbtype=="standard")
+       {
+         mGeneric = false;
+         mType = STD;
+       }
+      else if (bbtype==itkImageToImageFilterString)
+       {
+         mType = itkImageToImageFilter;
+         // Looks for <itkparent> tag
+         if (!BB.nChildNode("itkparent")) 
+           {
+             throw bbfyException("Error : blackbox type '"+itkImageToImageFilterString+"' but no <itkparent> tag found (mandatory)");
+           }
+         bbtk::GetTextOrClear(BB.getChildNode("itkparent"),mItkParent);
+         // 
+         mGeneric = false;
+         if (BB.isAttributeSet("generic")) mGeneric=true;
+       }
+      else if (bbtype == vtkImageAlgorithmString)
+       {
+         mType = vtkImageAlgorithm;
+         // Looks for <vtkobject> tag
+         if (!BB.nChildNode("vtkobject")) 
+           {
+             throw bbfyException("Error : blackbox type '"
+                                 +vtkImageAlgorithmString
+                                 +"' but no <vtkobject> tag found (mandatory)");
+           }
+         bbtk::GetTextOrClear(BB.getChildNode("vtkobject"),mVtkObject);
+         // 
+       }
+    else if (bbtype == vtkPolyDataAlgorithmString )
+       {
+         mType = vtkPolyDataAlgorithm;
+         // Looks for <vtkobject> tag
+         if (!BB.nChildNode("vtkobject")) 
+           {
+             throw bbfyException("Error : blackbox type '"
+                                 +vtkPolyDataAlgorithmString
+                                 +"' but no <vtkobject> tag found (mandatory)");
+           }
+         bbtk::GetTextOrClear(BB.getChildNode("vtkobject"),mVtkObject);
+         // 
+       }
+     else 
+       {
+         std::string mess("Error : blackbox type '");
+         mess += bbtype;
+         mess += "' unknown. Known types :";
+         mess += "'" + itkImageToImageFilterString + "' ";
+         mess += "'" + vtkImageAlgorithmString + "' ";
+         mess += "'" + vtkPolyDataAlgorithmString + "' ";
+         throw bbfyException(mess);
+       }
+    }
+
+  // Is a widget box ?
+  if (BB.isAttributeSet("widget")) 
+    {
+      mIsWidget = true;
+      mParentBlackBox = "bbtk::WxBlackBox";
+      mInclude.push_back("bbtkWxBlackBox.h");
+    }
+  else 
+    {
+      mIsWidget = false;
+      mParentBlackBox = "bbtk::AtomicBlackBox";
+      mInclude.push_back("bbtkAtomicBlackBox.h");
+    }
+
+  // Author
+  int i,j;
+  for (i=0,j=0; i<BB.nChildNode("author"); i++) 
+    {
+      std::string val;
+      bbtk::GetTextOrClear(BB.getChildNode("author",&j),val);
+      mAuthor += val;
+    }
+
+  // Description
+  for (i=0,j=0; i<BB.nChildNode("description"); i++) 
+    {
+      std::string val;
+      bbtk::GetTextOrClear(BB.getChildNode("description",&j),val);
+      mDescription += val;
+    }
+  
+  // Category
+  for (i=0,j=0; i<BB.nChildNode("category"); i++) 
+    {
+      std::string val;
+      bbtk::GetTextOrClear(BB.getChildNode("category",&j),val);
+      mCategory += val;
+    }
+
+  // Namespace
+  if (BB.nChildNode("namespace"))
+    {
+      bbtk::GetTextOrClear(BB.getChildNode("namespace"),mNamespace);
+    }
+
+  // UserSetDefaultValues body
+  if (BB.nChildNode("defaultValues"))
+    {
+      bbtk::GetTextOrClear(BB.getChildNode("defaultValues"),
+                          mUserSetDefaultValues);
+    }
+    
+  // UserInitializeProcessing body
+  if (BB.nChildNode("initializeProcessing"))
+    {
+      bbtk::GetTextOrClear(BB.getChildNode("initializeProcessing"),
+                          mUserInitializeProcessing);
+    }
+    
+ // UserFinalizeProcessing body
+  if (BB.nChildNode("finalizeProcessing"))
+    {
+      bbtk::GetTextOrClear(BB.getChildNode("finalizeProcessing"),
+                          mUserFinalizeProcessing);
+    }
+
+
+
+     // Template parameters
+  //  mNbTemplateParam = BB.nChildNode("template");
+
+  if ( BB.nChildNode("template") > 0)
+    {
+      mTemplateDeclaration = "<";
+      mTemplateImplementation = "<";
+      
+      for (i=0,j=0; i<BB.nChildNode("template")-1; i++) 
+       {
+         mTemplateDeclaration += "class ";
+         std::string val;
+         bbtk::GetTextOrClear(BB.getChildNode("template",&j),val);
+         mTemplateDeclaration += val;
+         mTemplateDeclaration +=  ",";
+         mTemplateImplementation += val;
+         mTemplateImplementation +=  ",";
+         mTemplateParam.push_back(val);
+       }
+      mTemplateDeclaration += "class ";
+      std::string val;
+      bbtk::GetTextOrClear(BB.getChildNode("template",&j),val);
+      mTemplateDeclaration += val;
+      mTemplateDeclaration +=  ">";
+      mTemplateImplementation += val;
+      mTemplateImplementation +=  ">";
+      mTemplateParam.push_back(val);
+    }
+
+  // Includes 
+  for (i=0,j=0; i<BB.nChildNode("include"); i++) 
+    {
+      std::string val;
+      bbtk::GetTextOrClear(BB.getChildNode("include",&j),val);
+      mInclude.push_back(val);
+    }
+  // Typedef
+  for (i=0,j=0; i<BB.nChildNode("typedef"); i++) 
+    {
+      std::string val;
+      bbtk::GetTextOrClear(BB.getChildNode("typedef",&j),val);
+      mTypedef.push_back(val);
+    }
+  
+  // Inputs
+  for (i=0,j=0; i<BB.nChildNode("input"); i++) 
+    {
+      IO io;
+      XMLNode n = BB.getChildNode("input",&j); 
+      if (!n.isAttributeSet("name"))
+       {
+         throw bbfyException("Error : <input> attribute 'name' not found (mandatory)");
+       }
+      io.name = n.getAttribute("name");
+      if (!n.isAttributeSet("type"))
+       {
+         throw bbfyException("Error : <input name=\""+io.name+"\"> attribute 'type' not found (mandatory)");
+       }
+      io.type = n.getAttribute("type"); 
+      if (!n.isAttributeSet("description"))
+       {
+         throw bbfyException("Error : <input name=\""+io.name+"\"> attribute 'description' not found (mandatory)");
+       }
+      io.descr = n.getAttribute("description"); 
+
+      if (n.isAttributeSet("special")) 
+       {
+         io.special =  n.getAttribute("special");  
+       }
+
+      if (n.isAttributeSet("nature")) 
+       {
+         io.nature =  n.getAttribute("nature");  
+       }
+
+      if (n.isAttributeSet("generic_type")) 
+       {
+         io.generic_type =  n.getAttribute("generic_type");  
+       }
+
+      mInput.push_back(io);
+    }
+  
+  // Outputs
+  for (i=0,j=0; i<BB.nChildNode("output"); i++) 
+    {
+      IO io;
+      XMLNode n = BB.getChildNode("output",&j); 
+      if (!n.isAttributeSet("name"))
+       {
+         throw bbfyException("Error : <output> attribute 'name' not found (mandatory)");
+       }
+      io.name = n.getAttribute("name"); 
+      if (!n.isAttributeSet("type"))
+       {
+         throw bbfyException("Error : <output name=\""+io.name+"\"> attribute 'type' not found (mandatory)");
+       }
+      io.type = n.getAttribute("type"); 
+      if (!n.isAttributeSet("description"))
+       {
+         throw bbfyException("Error : <output name=\""+io.name+"\"> attribute 'description' not found (mandatory)");
+       }
+      io.descr = n.getAttribute("description"); 
+
+      if (n.isAttributeSet("special")) 
+       {
+         io.special =  n.getAttribute("special");  
+       }
+
+      if (n.isAttributeSet("nature")) 
+       {
+         io.nature =  n.getAttribute("nature");  
+       }
+
+      if (n.isAttributeSet("generic_type")) 
+       {
+         io.generic_type =  n.getAttribute("generic_type");  
+       }
+
+      mOutput.push_back(io);
+    }
+
+
+  // Process
+  // process tag given ?
+   if (BB.nChildNode("process"))
+     {
+       bbtk::GetTextOrClear(BB.getChildNode("process"),mProcess);
+     }
+     
+  // CreateWidget
+  // createwidget tag given ?
+   if (BB.nChildNode("createwidget"))
+     {
+       bbtk::GetTextOrClear(BB.getChildNode("createwidget"),mCreateWidget);
+     }
+
+
+
+
+
+
+
+   // OBSOLETE/UNSUPPORTED TAGS
+  // WARN IF OBSOLETE TAGS PROVIDED
+  if (BB.nChildNode("constructor"))
+    {
+      std::cout << "WARNING !!! The tag <constructor> is obsolete !!"<<std::endl;
+    }
+  if (BB.nChildNode("destructor"))
+    {
+      std::cout << "WARNING !!! The tag <destructor> is obsolete !!"<<std::endl;
+    }
+  if (BB.nChildNode("copy_constructor"))
+    {
+      std::cout << "WARNING !!! The tag <copy_constructor> is obsolete !!"<<std::endl;
+    }
+
+
+
+!!!203010.cpp!!!       CreateHeader() : void
+
+  mHName = "bb";
+  mHName += mPackage;
+  mHName += mName;
+  mHName += ".h";
+  if (mVerbose) std::cout << " - Creating header '"<<mHName<<"'"<<std::endl;
+  std::string fullname = mOutputPath + mHName;
+  mFile.open(fullname.c_str());
+  if (!mFile.good())
+    {
+      std::string mess("Error : could not open file \"");
+      mess += fullname + "\"";
+      throw bbfyException(mess);
+    }
+  
+  // If is widget 
+  if (mIsWidget)
+    {
+      mFile << "#ifdef _USE_WXWIDGETS_\n";
+    }
+
+  // Prevent multiple inclusions
+  std::string included("__bb");
+  included += mPackage + mName + "_h_INCLUDED__";
+  mFile << "#ifndef " << included <<"\n";
+  mFile << "#define " << included <<"\n";
+
+  // Includes 
+  mFile << "#include \"bb" << mPackage << "_EXPORT.h\"\n";
+  std::vector<std::string>::iterator i;
+  for (i=mInclude.begin(); i!=mInclude.end(); ++i) 
+    {
+      mFile << "#include \"" << *i <<"\"\n";
+    }
+  if (mGeneric) mFile << "#include \"bbitkImage.h\"\n";
+  mFile << "\n";
+
+  if (mType == itkImageToImageFilter )
+    {
+      mFile << "#include \"bbtkItkBlackBoxMacros.h\"\n";
+    }
+  else if ( (mType == vtkImageAlgorithm) ||
+           (mType == vtkPolyDataAlgorithm) )
+    {
+      mFile << "#include \"bbtkVtkBlackBoxMacros.h\"\n";
+    }
+  // Namespace
+  BeginNamespace();
+
+  // Interface
+
+  // If it is a template class
+  if (mTemplateParam.size() > 0)
+    {
+      mFile << "template " << mTemplateDeclaration <<"\n";
+    }
+  
+  // Class declaration and parents
+  mFile << "class bb"<<mPackage<<"_EXPORT "<<mName<<"\n";
+  mFile << " : \n";
+
+  /*
+  if (mBB.nChildNode("inherits"))
+    {
+      mFile << ",\n";
+      for (i=0,j=0; i<mBB.nChildNode("inherits")-1; i++) 
+       {
+         mFile << "   public " 
+               << mBB.getChildNode("inherits",&j).getText()
+               << ",\n";
+       }
+      mFile << "   public " 
+           << mBB.getChildNode("Inherits",&j).getText()
+           <<"\n";
+    }
+  */
+
+  if (mType == itkImageToImageFilter )
+    {
+      mFile << "   public " << mItkParent <<",\n";
+    }
+
+  mFile << "   public "<<mParentBlackBox << "\n";
+
+  mFile << "{\n";
+
+  // Interface
+
+  // ITK 
+  if (mType == itkImageToImageFilter)
+    {
+      mFile << "  BBTK_ITK_BLACK_BOX_INTERFACE("
+           << mName << ","
+           << mParentBlackBox << ","
+           << mItkParent 
+           << ");\n";
+    }
+  // VTK
+  else if ( (mType == vtkImageAlgorithm) ||
+       (mType == vtkPolyDataAlgorithm) )
+    {
+      mFile << "  BBTK_VTK_BLACK_BOX_INTERFACE("
+           << mName << ","
+           << mParentBlackBox << ","
+           << mVtkObject
+           << ");\n";
+    }
+       
+  // Default
+  else 
+    {
+      mFile << "  BBTK_BLACK_BOX_INTERFACE("
+           << mName << ","
+           << mParentBlackBox << ");\n";
+    }
+
+  for (i=mTypedef.begin(); i!=mTypedef.end(); ++i) 
+    {
+      mFile << *i <<"\n";
+    }
+
+
+
+  // Inputs
+  std::vector<IO>::iterator ioi;
+  for (ioi=mInput.begin(); ioi!=mInput.end(); ++ioi) 
+    {
+      if (ioi->special=="") 
+       {
+         mFile << "  BBTK_DECLARE_INPUT(" 
+               << ioi->name
+               << ","
+               << ioi->type
+               << ");\n";
+       }
+      else if (ioi->special=="itk input")
+       {
+         mFile << "  BBTK_DECLARE_ITK_INPUT(" 
+               << ioi->name
+               << ","
+               << ioi->type
+               << ");\n";
+       }
+      else if (ioi->special=="vtk input")
+       {
+         if (mType == vtkImageAlgorithm) {
+         mFile << "  BBTK_DECLARE_VTK_IMAGE_ALGORITHM_INPUT(" 
+               << ioi->name
+               << ","
+               << ioi->type
+               << ");\n";
+         } 
+         else if (mType == vtkPolyDataAlgorithm) {
+         mFile << "  BBTK_DECLARE_POLY_DATA_ALGORITHM_INPUT(" 
+               << ioi->name
+               << ","
+               << ioi->type
+               << ");\n";
+         }
+       }
+      else if (ioi->special=="itk parameter")
+       {
+         mFile << "  BBTK_DECLARE_ITK_PARAM(" 
+               << ioi->name
+               << ","
+               << ioi->type
+               << ");\n";
+       }
+      else if (ioi->special=="vtk parameter")
+       {
+         mFile << "  BBTK_DECLARE_VTK_PARAM(" 
+               << ioi->name
+               << ","
+               << ioi->type
+               << ");\n";
+       }
+      else 
+       {
+         std::string mess("Error : input '");
+         mess += ioi->name;
+         mess += "', 'special' attribute '";
+         mess += ioi->special;
+         mess += "' unknown";
+         throw bbfyException(mess);
+       }
+    }
+  
+  // Outputs
+  for (ioi=mOutput.begin(); ioi!=mOutput.end(); ++ioi) 
+    {
+      if (ioi->special=="") 
+       {
+         mFile << "  BBTK_DECLARE_OUTPUT(" 
+               << ioi->name
+               << ","
+               << ioi->type
+               << ");\n";
+       }
+      else if (ioi->special=="itk output")
+       {
+         mFile << "  BBTK_DECLARE_ITK_OUTPUT(" 
+               << ioi->name
+               << ","
+               << ioi->type
+               << ");\n";
+       }  
+      else if (ioi->special=="vtk output")
+       {
+         mFile << "  BBTK_DECLARE_VTK_OUTPUT(" 
+               << ioi->name
+               << ","
+               << ioi->type
+               << ");\n";
+       }  
+      else 
+       {
+         std::string mess("Error : output '");
+         mess += ioi->name;
+         mess += "', 'special' attribute '";
+         mess += ioi->special;
+         mess += "' unknown";
+         throw bbfyException(mess);
+       }
+    }
+  
+  // Process
+  if ((mType == STD)||(mProcess.size()))
+    {
+      mFile << "  BBTK_PROCESS(Process);\n" ;
+      mFile << "  void Process();\n";
+    }
+  else if (mType == itkImageToImageFilter)
+    {   
+      mFile << "  BBTK_ITK_PROCESS();\n" ;
+    }
+  else if ((mType == vtkImageAlgorithm) ||
+          (mType == vtkPolyDataAlgorithm) )
+
+    {   
+      mFile << "  BBTK_VTK_PROCESS();\n" ;
+    }
+
+  // CreateWidget
+  if (mIsWidget) 
+    {
+       mFile << "  BBTK_CREATE_WIDGET(CreateWidget);\n" ;
+       mFile << "  void CreateWidget(wxWindow*);\n";
+    }
+
+
+  // EO black box declaration
+  mFile << "};\n\n";
+
+  // BO black box description
+  if (mTemplateParam.size()==0)
+    {
+      mFile << "BBTK_BEGIN_DESCRIBE_BLACK_BOX("
+           << mName << ","
+           << mParentBlackBox << ");\n";
+      mFile << "BBTK_NAME(\"" << mName <<"\");\n";
+    }
+  else if (mTemplateParam.size()==1)
+    {
+      mFile << "BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX("
+           << mName //<< ","
+       //<< mParentBlackBox //<< ","
+       //   << mTemplateParam[0] 
+           << ");\n";
+      mFile << "BBTK_NAME(\"" << mName 
+           << "<\"+bbtk::TypeName<" << mTemplateParam[0]
+           <<">()+\">\");\n";
+    }
+ else 
+    {
+      throw bbfyException("template bb with more than 1 templ param not impl");
+    } 
+  
+  // Author
+  mFile << "BBTK_AUTHOR(\""<<mAuthor<< "\");\n";
+
+  // Description
+  mFile << "BBTK_DESCRIPTION(\""<<mDescription<< "\");\n"; 
+  
+  // Category
+  mFile << "BBTK_CATEGORY(\""<<mCategory<< "\");\n"; 
+
+  for (i=mTypedef.begin(); i!=mTypedef.end(); ++i) 
+    {
+      mFile << *i <<"\n";
+    }
+  
+  // Inputs
+  for (ioi=mInput.begin(); ioi!=mInput.end(); ++ioi) 
+    {
+      if (mTemplateParam.size()>0)
+       {
+         mFile << "BBTK_TEMPLATE_INPUT(";
+       } 
+      else 
+       {
+         mFile << "BBTK_INPUT(";
+       } 
+      mFile << mName << "," << ioi->name << ",\""
+           << ioi->descr << "\"," <<  ioi->type << ",\"" 
+           << ioi->nature<<"\");\n";
+    }
+  
+  // Outputs
+  for (ioi=mOutput.begin(); ioi!=mOutput.end(); ++ioi) 
+    {
+      if (mTemplateParam.size()>0)
+       {
+         mFile << "BBTK_TEMPLATE_OUTPUT(";
+       } 
+      else 
+       {
+         mFile << "BBTK_OUTPUT(";
+       } 
+      mFile << mName << "," << ioi->name << ",\""
+           << ioi->descr << "\"," <<  ioi->type << ",\"" 
+           << ioi->nature<<"\");\n";
+    }
+  
+  // EO black box description
+  if (mTemplateParam.size()==0)
+    {
+      mFile << "BBTK_END_DESCRIBE_BLACK_BOX("
+           << mName << ");\n";
+    }
+  else if (mTemplateParam.size()==1)
+    {
+      mFile << "BBTK_END_DESCRIBE_TEMPLATE_BLACK_BOX("
+           << mName //<< ","
+       // << mTemplateParam[0] 
+           << ");\n";
+    }
+  else 
+    {
+      throw bbfyException("template bb with more than 1 templ param not impl");
+     
+    } 
+  
+  // Untemplatization of itk filters
+  if ( mGeneric )
+    {
+      WriteGenericITKFilterHeader();
+    }
+
+
+  // EO namespace
+  EndNamespace();
+  
+  // Prevent multiple inclusions
+  mFile << "#endif // " << included <<"\n";
+  // If is widget 
+  if (mIsWidget)
+    {
+      mFile << "#endif // _USE_WXWIDGETS_\n";
+    }
+
+  // EOF
+  mFile << "\n";
+
+  mFile.close();
+!!!203138.cpp!!!       CreateCode() : void
+  mCxxName = "bb";
+  mCxxName += mPackage;
+  mCxxName += mName;
+  mCxxName += ".cxx";
+  if (mVerbose) std::cout << " - Creating code   '"<<mCxxName<<"'"<<std::endl;
+  std::string fullname = mOutputPath + mCxxName;
+  mFile.open(fullname.c_str());
+  if (!mFile.good()) 
+    {
+      std::string mess("Error : could not open file \"");
+      mess += fullname;
+      mess += "\"";
+      throw bbfyException(mess);
+    }
+  
+  // Includes
+  // Header of the class
+  mFile << "#include \"" << mHName << "\"\n";
+
+  // Include Package header
+  mFile << "#include \"bb"<<mPackage << "Package.h\"\n";
+
+  // BO namespace
+  BeginNamespace();
+  
+  // Template class ?
+  if (mTemplateParam.size()>0) 
+    {
+      // Implementation
+      mFile << "BBTK_BLACK_BOX_TEMPLATE_IMPLEMENTATION("
+           << mName << ","  
+           << mParentBlackBox << ");\n";
+     
+      if (mGeneric) 
+       {       
+         // Implementation
+         mFile << "BBTK_BLACK_BOX_IMPLEMENTATION("
+               << mName << "Generic,bbtk::AtomicBlackBox);\n";
+         // Package
+         mFile << "BBTK_ADD_BLACK_BOX_TO_PACKAGE("
+               << mPackage << ","
+               << mName << "Generic)\n";
+       }
+    }
+  else 
+    {
+      // Non template class
+      // Package
+      mFile << "BBTK_ADD_BLACK_BOX_TO_PACKAGE("
+           << mPackage << ","
+           << mName << ")\n";
+
+      // Implementation
+      mFile << "BBTK_BLACK_BOX_IMPLEMENTATION("
+           << mName << ","  
+           << mParentBlackBox << ");\n"; 
+    }
+  // Process
+  if ((mType == STD)||(mProcess.size()))
+    {
+      mFile << "void "<<mName<<"::Process()\n{\n";
+      mFile << mProcess << "\n";
+      mFile << "}\n";
+    }
+  // CreateWidget
+  if (mIsWidget)
+    {
+      mFile << "void "<<mName<<"::CreateWidget(wxWindow* parent)\n{\n";
+      mFile << mCreateWidget << "\n";
+      mFile << "}\n";
+    }
+
+               
+  // User Set Default Values  
+  mFile <<"void "<<mName<<"::bbUserSetDefaultValues()"<<std::endl;
+  mFile << "{"<<std::endl;  
+       if ( (mType == vtkImageAlgorithm) || (mType == vtkPolyDataAlgorithm) )
+       {
+               mFile << "   BBTK_VTK_SET_DEFAULT_VALUES();\n";
+       }
+       mFile << mUserSetDefaultValues << std::endl;
+  mFile << "}" << std::endl;
+
+  // User Initialize Processing
+  mFile <<"void "<<mName<<"::bbUserInitializeProcessing()"
+       <<std::endl;
+  mFile << "{"<<std::endl;
+       if ( (mType == vtkImageAlgorithm) || (mType == vtkPolyDataAlgorithm) )
+       {
+               mFile <<  "  BBTK_VTK_INITIALIZE_PROCESSING();\n";
+       }
+       mFile << mUserInitializeProcessing << std::endl;
+  mFile << "}" << std::endl;
+
+       // User Finalize Processing
+  mFile <<"void "<<mName<<"::bbUserFinalizeProcessing()"<<std::endl;
+  mFile << "{"<<std::endl;
+       if ( (mType == vtkImageAlgorithm) || (mType == vtkPolyDataAlgorithm) )
+       {
+               mFile << "   BBTK_VTK_FINALIZE_PROCESSING();\n";
+       }
+       mFile << mUserFinalizeProcessing << std::endl;
+  mFile << "}" << std::endl;
+
+
+  // EO namespace
+  EndNamespace();
+
+  mFile << "\n";
+  
+  // EOF
+  mFile.close();
+  
+!!!203266.cpp!!!       WriteGenericITKFilterHeader() : void
+  mFile << "\n//===================================================\n";
+  mFile << "// Generic \"untemplatized\" filter\n";
+  mFile << "//===================================================\n";
+
+  // Class declaration and parents
+  mFile << "class /*BBTK_EXPORT*/ "<<mName<<"Generic\n";
+  mFile << " : \n";
+  mFile << "   public bbtk::AtomicBlackBox\n";
+  mFile << "{\n";
+
+  // Interface
+  mFile << "  BBTK_BLACK_BOX_INTERFACE("
+       << mName << "Generic,bbtk::AtomicBlackBox);\n";
+
+  // Inputs
+  std::vector<IO>::iterator ioi;
+  for (ioi=mInput.begin(); ioi!=mInput.end(); ++ioi) 
+    {
+      mFile << "  BBTK_DECLARE_INPUT(" 
+           << ioi->name
+           << ","
+           << ioi->generic_type
+           << ");\n";
+    }
+  
+  // Outputs
+  for (ioi=mOutput.begin(); ioi!=mOutput.end(); ++ioi) 
+    {
+      mFile << "  BBTK_DECLARE_OUTPUT(" 
+           << ioi->name
+           << ","
+           << ioi->generic_type
+           << ");\n";
+    }
+    
+  // Process
+  mFile << "  BBTK_PROCESS(ProcessSwitch);\n";
+  mFile << "  private :\n";
+  mFile << "    inline void ProcessSwitch();\n";
+  mFile << "    template <class T, unsigned int D> void Process();\n";
+  // EO black box declaration
+  mFile << "};\n\n";
+
+
+
+  // BO black box description
+  mFile << "BBTK_BEGIN_DESCRIBE_BLACK_BOX("
+       << mName << "Generic,bbtk::AtomicBlackBox);\n";
+  mFile << "BBTK_NAME(\"" << mName <<"\");\n";
+
+  // Author
+  mFile << "BBTK_AUTHOR(\""<<mAuthor<< "\");\n";
+
+  // Description
+  mFile << "BBTK_DESCRIPTION(\""<<mDescription<< "\");\n"; 
+  
+  // Inputs
+  for (ioi=mInput.begin(); ioi!=mInput.end(); ++ioi) 
+    {
+      mFile << "BBTK_INPUT(";
+      mFile << mName << "Generic," << ioi->name << ",\""
+           << ioi->descr << "\"," <<  ioi->generic_type <<");\n";
+    }
+  
+  // Outputs
+  for (ioi=mOutput.begin(); ioi!=mOutput.end(); ++ioi) 
+    {
+      mFile << "BBTK_OUTPUT(";
+      mFile << mName << "Generic," << ioi->name << ",\""
+           << ioi->descr << "\"," <<  ioi->generic_type <<");\n";
+    }
+  
+  // EO black box description
+  mFile << "BBTK_END_DESCRIBE_BLACK_BOX("
+       << mName << "Generic);\n";
+
+
+  //=================================================================
+  // ProcessSwitch implementation
+  mFile << "void "<< mName <<"Generic::ProcessSwitch()\n"
+       << "{\n"
+       << "CALL_FOR_ALL_TYPES_AND_DIM(bbGetInputIn()->GetType(),\n"
+       << "                           bbGetInputIn()->GetDimension(),\n"
+       << "                           Process);\n"
+       << "}\n";
+  //=================================================================
+
+
+  //=================================================================
+  // Template process implementation
+  mFile << "template <class T, unsigned int D>\n"
+       << "void "<<mName<<"Generic::Process()\n"
+       << "{\n"
+       << "  bbtkDebugMessageInc(\"Kernel\",9,\n"
+       << "      \""<<mName 
+       << "Generic::Process<\"<<TypeName<T>()<<\",\"<<D<<\">()\"<<std::endl);\n"
+    
+       << "  typedef itk::Image<T,D> ImageType;\n"
+       << "  typedef "<<mName<<"<ImageType> FilterType;\n"
+    
+       << "  FilterType* f = new FilterType(\"Temp\");\n"
+    
+       << "  f->bbSetInputIn( this->bbGetInputIn()->GetImage<T,D>() );\n";
+  
+  for (ioi=mInput.begin(); ioi!=mInput.end(); ++ioi) 
+    {
+      if (ioi->name == "In") continue;
+      mFile << "  f->bbSetInput"<<ioi->name<<" ( this->bbGetInput" 
+           << ioi->name << "() );\n";
+    }
+  
+  mFile << "  f->bbUpdate();\n"
+       << "  this->bbSetOutputOut( new itkImage( f->bbGetOutputOut() ) );\n"
+       << "  f->UnRegister();\n"
+       << "  bbtkDebugDecTab(\"Kernel\",9);\n"
+       << "}\n\n";
+  //=================================================================
+
+
+!!!203394.cpp!!!       BeginNamespace() : void
+  //  if (mIsInNamespace)
+  // {
+  mFile << "namespace "<<mNamespace <<"\n{\n\n";
+  //  }
+!!!203522.cpp!!!       EndNamespace() : void
+  // if (mIsInNamespace)
+  //  {
+  mFile << "}\n// EO namespace "<<mNamespace<<"\n\n";
+  //  }
diff --git a/doc/bouml/bbtkk/2.session b/doc/bouml/bbtkk/2.session
new file mode 100644 (file)
index 0000000..5c639f6
--- /dev/null
@@ -0,0 +1,16 @@
+window_sizes 1397 856 356 1035 799 0
+diagrams
+  active  classdiagram_ref 128002 // bbtk-Class-Diagram
+    1031 779 100 4 22 0
+end
+show_stereotypes
+selected class_ref 154754 // ComplexBlackBoxDescriptor
+open
+  classdiagram_ref 128002 // bbtk-Class-Diagram
+  class_ref 129026 // floating_point
+  deploymentview_ref 128002 // src
+  classview_ref 128130 // src
+  deploymentview_ref 128130 // src
+  class_ref 149890 // MagicBoxSetFunctor
+end
+end
diff --git a/doc/bouml/bbtkk/bbtkk.prj b/doc/bouml/bbtkk/bbtkk.prj
new file mode 100644 (file)
index 0000000..bd139e9
--- /dev/null
@@ -0,0 +1,40 @@
+format 66
+"bbtkk"
+  revision 1
+  modified_by 2 "davila"
+
+
+  
+  // class settings
+  default_attribute_visibility private default_relation_visibility private default_operation_visibility public
+  //class diagram settings
+  draw_all_relations yes hide_attributes no hide_operations no show_members_full_definition no show_members_visibility no show_members_stereotype no show_members_multiplicity no show_members_initialization no show_attribute_modifiers no member_max_width 127 show_parameter_dir yes show_parameter_name yes package_name_in_tab no class_drawing_mode natural drawing_language uml show_context_mode no auto_label_position yes show_relation_modifiers no show_infonote no shadow yes show_stereotype_properties no
+  //use case diagram settings
+  package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes class_drawing_mode actor shadow yes show_stereotype_properties no
+  //sequence diagram settings
+  show_full_operations_definition no write_horizontally yes class_drawing_mode natural drawing_language uml draw_all_relations yes shadow yes show_stereotype_properties no
+  //collaboration diagram settings
+  show_full_operations_definition no show_hierarchical_rank no write_horizontally yes drawing_language uml package_name_in_tab no show_context no draw_all_relations yes shadow yes show_stereotype_properties no
+  //object diagram settings
+   write_horizontally yes package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes show_stereotype_properties no
+  //component diagram settings
+  package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
+  draw_component_as_icon no show_component_req_prov no show_component_rea no show_stereotype_properties no
+  //deployment diagram settings
+  package_name_in_tab no show_context no write_horizontally yes auto_label_position yes draw_all_relations yes shadow yes
+  draw_component_as_icon no show_component_req_prov no show_component_rea no show_stereotype_properties no
+  //state diagram settings
+  package_name_in_tab no show_context no auto_label_position yes write_trans_label_horizontally yes show_trans_definition no draw_all_relations yes shadow yes
+  show_activities yes region_horizontally yes drawing_language uml show_stereotype_properties no
+  //activity diagram settings
+  package_name_in_tab no show_context no show_opaque_action_definition no auto_label_position yes write_flow_label_horizontally no draw_all_relations yes shadow yes
+  show_infonote yes drawing_language uml show_stereotype_properties no
+  
+  class_color yellow duration_color transparent continuation_color gray note_color blue fragment_color transparent subject_color transparent usecase_color yellow package_color transparent component_color green artifact_color green deploymentnode_color gray state_color yellow stateaction_color transparent activity_color transparent activityregion_color transparent activitypartition_color transparent activityaction_color transparent parameterpin_color white 
+  font_size 13
+  diagram_format A4
+
+  mark_for_import
+  
+  package_ref 128002 // bbtk
+end
diff --git a/doc/bouml/bbtkk/cpp_includes b/doc/bouml/bbtkk/cpp_includes
new file mode 100644 (file)
index 0000000..531b86f
--- /dev/null
@@ -0,0 +1,13 @@
+// "a type" "needed cpp_includes"
+"vector" "#include <vector>
+using namespace std;"
+
+"list" "#include <list>
+using namespace std;"
+
+"map" "#include <map>
+using namespace std;"
+
+"string" "#include <string>
+using namespace std;"
+
diff --git a/doc/bouml/bbtkk/generation_settings b/doc/bouml/bbtkk/generation_settings
new file mode 100644 (file)
index 0000000..1417434
--- /dev/null
@@ -0,0 +1,309 @@
+
+  cpp_default_defs 
+  cpp_h_extension "h" cpp_src_extension "cpp" java_extension "java" php_extension "php" python_extension "py" idl_extension "idl"
+
+  type_forms 15 // uml cpp java idl cpp_in cpp_out cpp_inout cpp_return
+    "void" "void" "void" "void" "${type}" "${type} &" "${type}" "${type}"
+    "any" "void *" "Object" "any" "const ${type}" "${type}" "${type} &" "${type}"
+    "bool" "bool" "boolean" "boolean" "${type}" "${type} &" "${type} &" "${type}"
+    "char" "char" "char" "char" "${type}" "${type} &" "${type} &" "${type}"
+    "uchar" "unsigned char" "char" "octet" "${type}" "${type} &" "${type} &" "${type}"
+    "byte" "unsigned char" "byte" "octet" "${type}" "${type} &" "${type} &" "${type}"
+    "short" "short" "short" "short" "${type}" "${type} &" "${type} &" "${type}"
+    "ushort" "unsigned short" "short" "unsigned short" "${type}" "${type} &" "${type} &" "${type}"
+    "int" "int" "int" "long" "${type}" "${type} &" "${type} &" "${type}"
+    "uint" "unsigned int" "int" "unsigned long" "${type}" "${type} &" "${type} &" "${type}"
+    "long" "long" "long" "long" "${type}" "${type} &" "${type} &" "${type}"
+    "ulong" "unsigned long" "long" "unsigned long" "${type}" "${type} &" "${type} &" "${type}"
+    "float" "float" "float" "float" "${type}" "${type} &" "${type} &" "${type}"
+    "double" "double" "double" "double" "${type}" "${type} &" "${type} &" "${type}"
+    "string" "string" "String" "string" "${type}" "${type} &" "${type} &" "${type}"
+  
+  relations_stereotypes 5 // uml cpp java pythonidl
+    "sequence" "vector" "Vector" "list" "sequence"
+    "vector" "vector" "Vector" "list" "sequence"
+    "list" "list" "List" "list" "sequence"
+    "set" "set" "Set" "set" "sequence"
+    "map" "map" "Map" "dict" "sequence"
+  
+  classes_stereotypes 14 // uml cpp java php python idl
+    "class" "class" "class" "class" "class" "valuetype"
+    "interface" "class" "interface" "interface" "class" "interface"
+    "exception" "class" "class" "class" "class" "exception"
+    "enum" "enum" "enum" "enum" "enum" "enum"
+    "enum_pattern" "enum" "enum_pattern" "enum" "enum" "enum"
+    "struct" "struct" "class" "class" "class" "struct"
+    "union" "union" "class" "class" "class" "union"
+    "typedef" "typedef" "ignored" "ignored" "ignored" "typedef"
+    "boundary" "class" "class" "class" "class" "interface"
+    "control" "class" "class" "class" "class" "valuetype"
+    "entity" "class" "class" "class" "class" "valuetype"
+    "actor" "ignored" "ignored" "ignored" "ignored" "ignored"
+    "@interface" "ignored" "@interface" "ignored" "ignored" "ignored"
+    "stereotype" "ignored" "ignored" "ignored" "ignored" "ignored"
+  
+  cpp_enum_default_type_forms "${type}" "${type} &" "${type} &" "${type}" // in out inout return
+  other_cpp_types_default_type_forms "const ${type} &" "${type} &" "${type} &" "${type}" // in out inout return
+
+  cpp_default_h_content "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+  cpp_default_src_content "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+  cpp_default_class_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+  cpp_default_external_class_decl "${name}
+#include <${name}.h>
+"
+  cpp_default_struct_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+  cpp_default_union_decl "${comment}${template}union ${name} {
+${members}};
+${inlines}
+"
+  cpp_default_enum_decl "${comment}enum ${name} {
+${items}
+};
+"
+  cpp_default_typedef_decl "${comment}typedef ${type} ${name};
+"
+  cpp_default_attribute_declaration "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+" // multiplicity 1
+  "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+  "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
+" // multiplicity [..]
+  cpp_default_enum_item_declaration "  ${name}${value},${comment}"
+  cpp_association_aggregation_declaration
+    "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+" // multiplicity 1
+    "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
+" // multiplicity * a..b
+    "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
+" // multiplicity [..]
+  cpp_aggregation_by_value_declaration
+    "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+" // multiplicity 1
+    "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+    "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
+" // multiplicity [..]
+  cpp_get "get_${name}" inline const value_const public
+  cpp_set "set_${name}" public
+  cpp_default_operation_declaration "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+  cpp_default_operation_definition "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+  java_default_src_content "${comment}
+${package}
+${imports}
+${definition}"
+  java_default_class_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+  java_default_external_class_decl "${name}"
+  java_default_interface_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+  java5_default_enum_decl "${comment}${@}${visibility}${final}${abstract}enum ${name}${implements} {
+${items};
+${members}}
+"
+  java_default_enum_decl "${comment}${@}${visibility}final class ${name} {
+${members}
+  private final int value;
+
+  public int value() {
+    return value;
+  }
+
+  public static ${name} fromInt(int value) {
+    switch (value) {
+${cases}    default: throw new Error();
+    }
+
+  }
+  private ${name}(int v) { value = v; };
+}
+"
+  java_default_attribute_declaration "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+" // multiplicity 1
+  "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+  "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
+" // multiplicity N
+  java5_default_enum_item_declaration "  ${@}${name}${value},${comment}"
+  java_default_enum_item_declaration "  ${comment}${@}public static final int _${name}${value};
+public static final ${class} ${name} = new ${class}(_${name});
+"
+  java_default_enum_case "    case _${name}: return ${name};
+"
+  java_association_aggregation_declaration
+    "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+" // multiplicity 1
+    "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+    "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
+" // multiplicity N
+  java_get "get${Name}" final public
+  java_set "set${Name}" public
+  java_default_operation_definition "  ${comment}${@}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
+  ${body}}
+"
+  php_default_src_content "<?php
+${comment}
+${definition}
+?>
+"
+  php_default_class_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+  php_default_enum_decl "${comment}${visibility}final class ${name} {
+${items}}
+"
+  php_default_external_class_decl "${name}"
+  php_default_interface_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+  php_default_attribute_declaration "  ${comment}${visibility}${const}${static}${var}${name}${value};
+"
+  php_default_enum_item_decl "  const ${name}${value};${comment}
+"
+  php_default_relation_declaration"  ${comment}${visibility}${const}${static}${var}${name}${value};
+"
+  php_get "get${Name}" final
+  php_set "set${Name}"
+  php_default_operation_definition "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
+{
+  ${body}}
+"
+  python_2_2
+  python_indent_step "    "
+  python_default_src_content "${comment}
+${import}
+${definition}"
+  python_default_class_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+  python_default_enum_decl "class ${name}:
+${docstring}${members}
+"
+  python_default_external_class_decl "${name}"
+  python_default_attribute_declaration "${comment}${self}${name} = ${value}
+" // multiplicity 1
+  "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+  python_default_enum_item_decl "${comment}${self}${name} = ${value}
+"
+  python_default_relation_declaration"${comment}${self}${name} = ${value}
+" // multiplicity 1
+  "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+  python_default_composition_declaration"${comment}${self}${name} = ${type}()
+" // multiplicity 1
+  "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+  python_default_operation_definition "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+  python_default_initoperation_definition "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}:
+${docstring}super(${class}, ${p0}).__init__()
+${body}
+"
+  python_get "get${Name}"
+  python_set "set${Name}"
+  idl_default_src_content "#ifndef ${MODULE}_${NAME}_H
+#define ${MODULE}_${NAME}_H
+
+${comment}
+${includes}
+${module_start}
+${definition}
+${module_end}
+#endif
+"
+  idl_default_interface_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+  idl_default_valuetype_decl "${comment}${abstract}${custom}valuetype ${name}${inherit} {
+${members}};
+"
+  idl_default_struct_decl "${comment}struct ${name} {
+${members}};
+"
+  idl_default_typedef_decl "${comment}typedef ${type} ${name};
+"
+  idl_default_exception_decl "${comment}exception ${name} {
+${members}};
+"
+  idl_default_union_decl "${comment}union ${name} switch(${switch}) {
+${members}};
+"
+  idl_default_enum_decl "${comment}enum ${name} {
+${items}};
+"
+  idl_default_external_class_decl "${name}
+#include \"${name}.idl\"
+"
+  idl_default_attribute_declaration "  ${comment}${readonly}${attribute}${type} ${name};
+" // multiplicity 1
+  "  ${comment}${readonly}${attribute}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+  "  ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_default_valuetype_attribute_declaration "  ${comment}${visibility}${type} ${name};
+" // multiplicity 1
+  "  ${comment}${visibility}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+  "  ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_default_const_declaration "  ${comment}const ${type} ${name}${value};
+" // multiplicity 1
+  "  ${comment}const ${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+  "  ${comment}const ${stereotype}<${type},${multiplicity}> ${name}${value};
+" // multiplicity N
+  idl_default_enum_item_declaration "  ${name},${comment}"
+  idl_default_union_item_declaration "  ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1
+  "  ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b
+  "  ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N
+  idl_association_aggregation_declaration
+    "  ${comment}${readonly}${attribute}${type} ${name};
+" // multiplicity 1
+    "  ${comment}${readonly}${attribute}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+    "  ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_valuetype_association_aggregation_declaration
+    "  ${comment}${visibility}${type} ${name};
+" // multiplicity 1
+    "  ${comment}${visibility}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+    "  ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_union_association_aggregation_declaration
+    "  ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1
+    "  ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b
+    "  ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N
+  idl_get "get_${name}"
+  idl_set "set_${name}"  twoways
+  idl_default_operation_declaration "  ${comment}${oneway}${type} ${name}${(}${)}${raisesnl}${raises};
+"
+  uml_get_name uml uml_set_name uml
+end
diff --git a/doc/bouml/bbtkk/idl_includes b/doc/bouml/bbtkk/idl_includes
new file mode 100644 (file)
index 0000000..fceab64
--- /dev/null
@@ -0,0 +1 @@
+// "a type" "needed idl_includes"
diff --git a/doc/bouml/bbtkk/java_imports b/doc/bouml/bbtkk/java_imports
new file mode 100644 (file)
index 0000000..bbd370a
--- /dev/null
@@ -0,0 +1 @@
+// "a type" "needed java_imports"
diff --git a/doc/bouml/bbtkk/python_imports b/doc/bouml/bbtkk/python_imports
new file mode 100644 (file)
index 0000000..4a1bd3a
--- /dev/null
@@ -0,0 +1 @@
+// "a type" "needed python_imports"
diff --git a/doc/bouml/bbtkk/stereotypes b/doc/bouml/bbtkk/stereotypes
new file mode 100644 (file)
index 0000000..0ac476c
--- /dev/null
@@ -0,0 +1,58 @@
+
+  package_stereotypes  6 "facade" "framework" "model library" "stub" "toplevel" "profile"
+    -_-> 3 "access" "import" "from"
+  end
+  
+  class_stereotypes  19 "actor" "auxiliary" "boundary" "control" "entity" "enum" "enum_pattern" "exception" "focus" "implementationClass" "interface" "@interface" "metaclass" "stereotype" "struct" "type" "typedef" "union" "utility"
+    ---- 4 "list" "set" "vector" "map"
+    ---> 4 "list" "set" "vector" "map"
+    ---|> 4 "{complete,disjoint}" "{incomplete,disjoint}" "{complete,overlapping}" "{incomplete,overlapping}"
+    o--- 4 "list" "set" "vector" "map"
+    *--- 4 "list" "set" "vector" "map"
+    o--> 4 "list" "set" "vector" "map"
+    *--> 4 "list" "set" "vector" "map"
+    -_-> 4 "friend" "from" "import" "instantiate"
+    -_-|> 1 "bind"
+  end
+  
+  use_case_stereotypes 1 "realization"
+  
+    ---|> 4 "{complete,disjoint}" "{incomplete,disjoint}" "{complete,overlapping}" "{incomplete,overlapping}"
+    -_-> 2 "include" "extend"
+  end
+  
+  artifact_stereotypes  7 "document" "file" "script" "source" "text" "library" "executable"
+    -_-> 4 "deploy" "manifest" "import" "from"
+  end
+  
+  attribute_stereotypes  4 "list" "set" "vector" "map"
+  operation_stereotypes  0
+  state_stereotypes  3 "machine" "submachine" "top"
+  activity_stereotypes  0
+  flow_stereotypes  3 "interrupt" "multicast" "multireceive"
+  interruptibleactivityregion_stereotypes  0
+  pseudostate_stereotypes  0
+  stateaction_stereotypes  2 "send-signal" "receive-signal"
+  parameter_stereotypes  0
+  parameterset_stereotypes  0
+  activitynode_stereotypes  0
+  activityaction_stereotypes  0
+  activityobject_stereotypes  2 "datastore" "centralBuffer"
+  expansionregion_stereotypes  0
+  activitypartition_stereotypes  0
+  pin_stereotypes  0
+  component_stereotypes  6 "buildComponent" "entity" "implement" "process" "service" "subsystem"
+  deploymentnode_stereotypes  3 "cpu" "device" "executionEnvironment"
+  classview_stereotypes  0
+  usecaseview_stereotypes  0
+  componentview_stereotypes  0
+  deploymentview_stereotypes  0
+  classdiagram_stereotypes  0
+  seqdiagram_stereotypes  0
+  coldiagram_stereotypes  0
+  usecasediagram_stereotypes  0
+  statediagram_stereotypes  0
+  activitydiagram_stereotypes  0
+  componentdiagram_stereotypes  0
+  deploymentdiagram_stereotypes  0
+end
diff --git a/doc/bouml/bbtkk/tools b/doc/bouml/bbtkk/tools
new file mode 100644 (file)
index 0000000..3579028
--- /dev/null
@@ -0,0 +1,18 @@
+// 'tool' "the executable" "displayed string" {target}+
+tool "HTML documentation" "ghtml" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (flat)" "ghtml -flat" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (svg)" "ghtml -svg" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (flat, svg)" "ghtml -flat -svg" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "Generate .pro" "gpro" Artifact
+tool "Import Rose" "irose" Project Package
+tool "C++ utilities" "cpp_util" Class
+tool "Generate XMI 1.2" "gxmi" Project
+tool "Generate XMI 2.1" "gxmi2" Project
+tool "Import XMI 2.1" "ixmi2" Project Package
+tool "C++ state machine" "stmgen" State
+tool "Use case wizard" "usecasewizard" UseCase
+tool "Check-in" "file_control ci" Project Package
+tool "Check-out" "file_control co" Project Package
+tool "Deploy classes" "deplcl" ClassView
+tool "Global Change" "global_change" Class Project Package ClassView DeploymentView
+tool "Uml projection" "uml_proj" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue Project Package ClassView