/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!

GacGen.exe Resource.xml

This file is generated by Workflow compiler
https://github.com/vczh-libraries
***********************************************************************/

#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DEMOPARTIALCLASSES
#define VCZH_WORKFLOW_COMPILER_GENERATED_DEMOPARTIALCLASSES

#include "GacUI.h"

#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#endif

namespace vl_workflow_global
{
	struct __vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
	struct __vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
	struct __vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
	struct __vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
	struct __vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
	struct __vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
	struct __vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
	struct __vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_;
	struct __vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_;
	struct __vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_;
	struct __vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
	struct __vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
	struct __vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
	struct __vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
	struct __vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
	struct __vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
	struct __vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
	struct __vwsnf8_Demo_demo_ListViewTabPage___vwsn_instance_ctor__;
	struct __vwsnf9_Demo_demo_ListViewTabPage___vwsn_instance_ctor__;
}

namespace demo
{
	class ListViewTabPageConstructor;
	class ListViewTabPage;
	class MainWindowConstructor;
	class MainWindow;
	class MyTextItem;
	class TextListTabPageConstructor;
	class TextListTabPage;
	class TreeViewTabPageConstructor;
	class TreeViewTabPage;

	class ListViewTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description<ListViewTabPageConstructor>
	{
		friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
		friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<ListViewTabPageConstructor>;
#endif
	protected:
		::demo::ListViewTabPage* self;
		::vl::presentation::controls::GuiComboBoxListControl* comboView;
		::vl::presentation::controls::GuiListView* listView;
		::vl::presentation::controls::GuiBindableListView* bindableListView;
		::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0;
		::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1;
		::vl::presentation::controls::GuiTextList* __vwsn_precompile_2;
		::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_3;
		::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_4;
		::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_5;
		::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_6;
		::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_7;
		::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_8;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_9;
		::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_10;
		::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_11;
		::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_12;
		::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_13;
		::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_14;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_15;
		::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_16;
		::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_17;
		::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_18;
		::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_19;
		::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_20;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_21;
		void __vwsn_demo_ListViewTabPage_Initialize(::demo::ListViewTabPage* __vwsn_this_);
	public:
		ListViewTabPageConstructor();
	};

	class ListViewTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::ListViewTabPageConstructor, public ::vl::reflection::Description<ListViewTabPage>
	{
		friend struct ::vl_workflow_global::__vwsnf8_Demo_demo_ListViewTabPage___vwsn_instance_ctor__;
		friend struct ::vl_workflow_global::__vwsnf9_Demo_demo_ListViewTabPage___vwsn_instance_ctor__;
		friend class ::demo::ListViewTabPageConstructor;
		friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_;
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
		friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<ListViewTabPage>;
#endif
	public:
		ListViewTabPage();
		void __vwsn_instance_ctor_();
		~ListViewTabPage();
	};

	class MainWindowConstructor : public ::vl::Object, public ::vl::reflection::Description<MainWindowConstructor>
	{
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
		friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<MainWindowConstructor>;
#endif
	protected:
		::demo::MainWindow* self;
		::vl::presentation::controls::GuiTab* __vwsn_precompile_0;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_1;
		::demo::TextListTabPage* __vwsn_precompile_2;
		::demo::ListViewTabPage* __vwsn_precompile_3;
		::demo::TreeViewTabPage* __vwsn_precompile_4;
		::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_5;
		void __vwsn_demo_MainWindow_Initialize(::demo::MainWindow* __vwsn_this_);
	public:
		MainWindowConstructor();
	};

	class MainWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::MainWindowConstructor, public ::vl::reflection::Description<MainWindow>
	{
		friend class ::demo::MainWindowConstructor;
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
		friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<MainWindow>;
#endif
	public:
		MainWindow();
		~MainWindow();
	};

	class MyTextItem : public ::vl::Object, public ::vl::reflection::Description<MyTextItem>
	{
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
		friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<MyTextItem>;
#endif
	private:
		::vl::WString __vwsn_prop_Name;
	public:
		::vl::WString GetName();
		void SetName(const ::vl::WString& __vwsn_value_);
	private:
		bool __vwsn_prop_Checked;
	public:
		bool GetChecked();
		void SetChecked(bool __vwsn_value_);
		MyTextItem();
	};

	class TextListTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description<TextListTabPageConstructor>
	{
		friend struct ::vl_workflow_global::__vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
		friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<TextListTabPageConstructor>;
#endif
	protected:
		::demo::TextListTabPage* self;
		::vl::presentation::controls::GuiComboBoxListControl* comboView;
		::vl::presentation::controls::GuiTextList* textList;
		::vl::presentation::controls::GuiBindableTextList* bindableTextList;
		::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0;
		::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1;
		::vl::presentation::controls::GuiTextList* __vwsn_precompile_2;
		::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_3;
		::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_4;
		::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_5;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_6;
		::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_7;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_8;
		::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_9;
		::vl::presentation::compositions::GuiStackComposition* __vwsn_precompile_10;
		::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_11;
		::vl::presentation::controls::GuiButton* __vwsn_precompile_12;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_13;
		::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_14;
		::vl::presentation::controls::GuiButton* __vwsn_precompile_15;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_16;
		::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_17;
		::vl::presentation::controls::GuiButton* __vwsn_precompile_18;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_19;
		::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_20;
		::vl::presentation::controls::GuiButton* __vwsn_precompile_21;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_22;
		::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_23;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_24;
		void __vwsn_demo_TextListTabPage_Initialize(::demo::TextListTabPage* __vwsn_this_);
	public:
		TextListTabPageConstructor();
	};

	class TextListTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::TextListTabPageConstructor, public ::vl::reflection::Description<TextListTabPage>
	{
		friend class ::demo::TextListTabPageConstructor;
		friend struct ::vl_workflow_global::__vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_;
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
		friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<TextListTabPage>;
#endif
	public:
		::vl::vint counter;
		::vl::Ptr<::vl::reflection::description::IValueObservableList> itemsToBind;
		TextListTabPage();
		~TextListTabPage();
	};

	class TreeViewTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description<TreeViewTabPageConstructor>
	{
		friend struct ::vl_workflow_global::__vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_;
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
		friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<TreeViewTabPageConstructor>;
#endif
	protected:
		::demo::TreeViewTabPage* self;
		::vl::presentation::controls::GuiTreeView* treeView;
		::vl::presentation::controls::GuiBindableTreeView* bindableTreeView;
		::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0;
		::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_2;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_3;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_4;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_5;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_6;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_7;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_8;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_9;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_10;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_11;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_12;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_13;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_14;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_15;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_16;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_17;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_18;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_19;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_20;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_21;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_22;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_23;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_24;
		::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_25;
		::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_26;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_27;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_28;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_29;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_30;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_31;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_32;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_33;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_34;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_35;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_36;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_37;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_38;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_39;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_40;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_41;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_42;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_43;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_44;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_45;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_46;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_47;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_48;
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_49;
		void __vwsn_demo_TreeViewTabPage_Initialize(::demo::TreeViewTabPage* __vwsn_this_);
	public:
		TreeViewTabPageConstructor();
	};

	class TreeViewTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::TreeViewTabPageConstructor, public ::vl::reflection::Description<TreeViewTabPage>
	{
		friend class ::demo::TreeViewTabPageConstructor;
		friend struct ::vl_workflow_global::__vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_;
		friend struct ::vl_workflow_global::__vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_;
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
		friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<TreeViewTabPage>;
#endif
	public:
		::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> nodesToBind;
		TreeViewTabPage();
		void __vwsn_instance_ctor_();
		~TreeViewTabPage();
	};

}
/***********************************************************************
Global Variables and Functions
***********************************************************************/

namespace vl_workflow_global
{
	class Demo
	{
	public:

		void LoadListView(::vl::presentation::controls::GuiInstanceRootObject* root, const ::vl::Func<void(::vl::Ptr<::vl::presentation::controls::list::ListViewItem>)>& callback);

		static Demo& Instance();
	};

/***********************************************************************
Closures
***********************************************************************/

	struct __vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_
	{
		::demo::TextListTabPageConstructor* __vwsnthis_0;

		__vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_(::demo::TextListTabPageConstructor* __vwsnctorthis_0);

		bool operator()(const ::vl::reflection::description::Value& __vwsn_item_, bool __vwsn_value_, bool __vwsn_update_) const;
	};

	struct __vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_
	{
		::demo::TextListTabPageConstructor* __vwsnthis_0;

		__vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_(::demo::TextListTabPageConstructor* __vwsnctorthis_0);

		::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
	};

	struct __vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_
	{
		::demo::TextListTabPageConstructor* __vwsnthis_0;

		__vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_(::demo::TextListTabPageConstructor* __vwsnctorthis_0);

		void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
	};

	struct __vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_
	{
		::demo::TextListTabPageConstructor* __vwsnthis_0;

		__vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_(::demo::TextListTabPageConstructor* __vwsnctorthis_0);

		void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
	};

	struct __vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_
	{
		::demo::TextListTabPageConstructor* __vwsnthis_0;

		__vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_(::demo::TextListTabPageConstructor* __vwsnctorthis_0);

		void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
	};

	struct __vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_
	{
		::demo::TextListTabPageConstructor* __vwsnthis_0;

		__vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_(::demo::TextListTabPageConstructor* __vwsnctorthis_0);

		void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
	};

	struct __vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_
	{
		::demo::TextListTabPageConstructor* __vwsnthis_0;

		__vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_demo_TextListTabPage_Initialize_(::demo::TextListTabPageConstructor* __vwsnctorthis_0);

		void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
	};

	struct __vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_
	{
		::demo::TreeViewTabPageConstructor* __vwsnthis_0;

		__vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0);

		::vl::Ptr<::vl::reflection::description::IValueEnumerable> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
	};

	struct __vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_
	{
		::demo::TreeViewTabPageConstructor* __vwsnthis_0;

		__vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0);

		::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
	};

	struct __vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_
	{
		::demo::TreeViewTabPageConstructor* __vwsnthis_0;

		__vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_demo_TreeViewTabPage_Initialize_(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0);

		::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
	};

	struct __vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_
	{
		::demo::ListViewTabPageConstructor* __vwsnthis_0;

		__vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);

		::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
	};

	struct __vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_
	{
		::demo::ListViewTabPageConstructor* __vwsnthis_0;

		__vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);

		::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
	};

	struct __vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_
	{
		::demo::ListViewTabPageConstructor* __vwsnthis_0;

		__vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);

		::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
	};

	struct __vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_
	{
		::demo::ListViewTabPageConstructor* __vwsnthis_0;

		__vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);

		::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
	};

	struct __vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_
	{
		::demo::ListViewTabPageConstructor* __vwsnthis_0;

		__vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);

		::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
	};

	struct __vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_
	{
		::demo::ListViewTabPageConstructor* __vwsnthis_0;

		__vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);

		::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
	};

	struct __vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_
	{
		::demo::ListViewTabPageConstructor* __vwsnthis_0;

		__vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);

		void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
	};

	struct __vwsnf8_Demo_demo_ListViewTabPage___vwsn_instance_ctor__
	{
		::demo::ListViewTabPage* __vwsnthis_0;

		__vwsnf8_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(::demo::ListViewTabPage* __vwsnctorthis_0);

		void operator()(::vl::Ptr<::vl::presentation::controls::list::ListViewItem> item) const;
	};

	struct __vwsnf9_Demo_demo_ListViewTabPage___vwsn_instance_ctor__
	{
		::vl::Ptr<::vl::reflection::description::IValueObservableList> itemsToBind;
		::demo::ListViewTabPage* __vwsnthis_0;

		__vwsnf9_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(::vl::Ptr<::vl::reflection::description::IValueObservableList> __vwsnctor_itemsToBind, ::demo::ListViewTabPage* __vwsnctorthis_0);

		void operator()(::vl::Ptr<::vl::presentation::controls::list::ListViewItem> item) const;
	};
}

#if defined( _MSC_VER)
#pragma warning(pop)
#elif defined(__clang__)
#pragma clang diagnostic pop
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

#endif
