diff --git a/Tutorial/Codegen.bat b/Tutorial/Codegen.bat
index 0ce376c0..78b58592 100644
--- a/Tutorial/Codegen.bat
+++ b/Tutorial/Codegen.bat
@@ -1,97 +1,15 @@
pushd GacUI_HelloWorlds
-pushd Xml\UI
call Codegen.bat
popd
-pushd CppXml\UI
-call Codegen.bat
-popd
-pushd MVVM\UI
-call Codegen.bat
-popd
-popd
pushd GacUI_Layout
-pushd Alignment\UI
call Codegen.bat
popd
-pushd Stack\UI
-call Codegen.bat
-popd
-pushd Table\UI
-call Codegen.bat
-popd
-pushd TableSplitter\UI
-call Codegen.bat
-popd
-pushd Flow\UI
-call Codegen.bat
-popd
-pushd RichTextEmbedding\UI
-call Codegen.bat
-popd
-popd
pushd GacUI_Controls
-pushd ContainersAndButtons\UI
call Codegen.bat
popd
-pushd TextEditor\UI
-call Codegen.bat
-popd
-pushd ColorPicker\UI
-call Codegen.bat
-popd
-pushd AddressBook\UI
-call Codegen.bat
-popd
-pushd ProgressAndAsync\UI
-call Codegen.bat
-popd
-popd
pushd GacUI_ControlTemplate
-pushd BlackSkin\UI
call Codegen.bat
popd
-popd
pushd GacUI_Xml
-pushd Instance_Window\UI
call Codegen.bat
-popd
-pushd Instance_MultipleWindows\UI
-call Codegen.bat
-popd
-pushd Instance_Control\UI
-call Codegen.bat
-popd
-pushd Binding_Uri\UI
-call Codegen.bat
-popd
-pushd Binding_Eval\UI
-call Codegen.bat
-popd
-pushd Binding_Bind\UI
-call Codegen.bat
-popd
-pushd Binding_Format\UI
-call Codegen.bat
-popd
-pushd Binding_ViewModel\UI
-call Codegen.bat
-popd
-pushd Event_Cpp\UI
-call Codegen.bat
-popd
-pushd Event_Script\UI
-call Codegen.bat
-popd
-pushd Event_ViewModel\UI
-call Codegen.bat
-popd
-pushd Member_Field\UI
-call Codegen.bat
-popd
-pushd Member_Property\UI
-call Codegen.bat
-popd
-pushd Member_Parameter\UI
-call Codegen.bat
-popd
popd
\ No newline at end of file
diff --git a/Tutorial/GacUI_ControlTemplate/Codegen.bat b/Tutorial/GacUI_ControlTemplate/Codegen.bat
new file mode 100644
index 00000000..39f12014
--- /dev/null
+++ b/Tutorial/GacUI_ControlTemplate/Codegen.bat
@@ -0,0 +1,3 @@
+pushd BlackSkin\UI
+call Codegen.bat
+popd
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/Codegen.bat b/Tutorial/GacUI_Controls/Codegen.bat
new file mode 100644
index 00000000..324f1f4c
--- /dev/null
+++ b/Tutorial/GacUI_Controls/Codegen.bat
@@ -0,0 +1,18 @@
+pushd ContainersAndButtons\UI
+call Codegen.bat
+popd
+pushd TextEditor\UI
+call Codegen.bat
+popd
+pushd ColorPicker\UI
+call Codegen.bat
+popd
+pushd AddressBook\UI
+call Codegen.bat
+popd
+pushd ProgressAndAsync\UI
+call Codegen.bat
+popd
+pushd ListControls\UI
+call Codegen.bat
+popd
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/GacUI_Controls.sln b/Tutorial/GacUI_Controls/GacUI_Controls.sln
index 714815e1..7699fd65 100644
--- a/Tutorial/GacUI_Controls/GacUI_Controls.sln
+++ b/Tutorial/GacUI_Controls/GacUI_Controls.sln
@@ -17,6 +17,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AddressBook", "AddressBook\
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProgressAndAsync", "ProgressAndAsync\ProgressAndAsync.vcxproj", "{32CC91B1-D3A5-4030-9355-EAE1B87E12AB}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ListControls", "ListControls\ListControls.vcxproj", "{3E4357C6-179C-457E-ACCD-7ADE1887183F}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -63,6 +65,14 @@ Global
{32CC91B1-D3A5-4030-9355-EAE1B87E12AB}.Release|Win32.Build.0 = Release|Win32
{32CC91B1-D3A5-4030-9355-EAE1B87E12AB}.Release|x64.ActiveCfg = Release|x64
{32CC91B1-D3A5-4030-9355-EAE1B87E12AB}.Release|x64.Build.0 = Release|x64
+ {3E4357C6-179C-457E-ACCD-7ADE1887183F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3E4357C6-179C-457E-ACCD-7ADE1887183F}.Debug|Win32.Build.0 = Debug|Win32
+ {3E4357C6-179C-457E-ACCD-7ADE1887183F}.Debug|x64.ActiveCfg = Debug|x64
+ {3E4357C6-179C-457E-ACCD-7ADE1887183F}.Debug|x64.Build.0 = Debug|x64
+ {3E4357C6-179C-457E-ACCD-7ADE1887183F}.Release|Win32.ActiveCfg = Release|Win32
+ {3E4357C6-179C-457E-ACCD-7ADE1887183F}.Release|Win32.Build.0 = Release|Win32
+ {3E4357C6-179C-457E-ACCD-7ADE1887183F}.Release|x64.ActiveCfg = Release|x64
+ {3E4357C6-179C-457E-ACCD-7ADE1887183F}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Tutorial/GacUI_Controls/ListControls/ListControls.vcxproj b/Tutorial/GacUI_Controls/ListControls/ListControls.vcxproj
new file mode 100644
index 00000000..366b774c
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/ListControls.vcxproj
@@ -0,0 +1,174 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {3E4357C6-179C-457E-ACCD-7ADE1887183F}
+ Win32Proj
+ ListControls
+ 8.1
+
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ true
+ Unicode
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ $(ProjectDir)..\..\..\Import;$(IncludePath)
+
+
+ true
+ $(ProjectDir)..\..\..\Import;$(IncludePath)
+
+
+ false
+ $(ProjectDir)..\..\..\Import;$(IncludePath)
+
+
+ false
+ $(ProjectDir)..\..\..\Import;$(IncludePath)
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION
+ true
+
+
+ Windows
+ true
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+ {96c559ca-9718-4bec-a053-28a0ab6a8ca2}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/ListControls/ListControls.vcxproj.filters b/Tutorial/GacUI_Controls/ListControls/ListControls.vcxproj.filters
new file mode 100644
index 00000000..d3b3a524
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/ListControls.vcxproj.filters
@@ -0,0 +1,50 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {34bbdbd4-025a-4230-96f2-1db9a7557cdc}
+
+
+
+
+ Source Files
+
+
+ UI
+
+
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+
+
+ UI
+
+
+ UI
+
+
+
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/ListControls/Main.cpp b/Tutorial/GacUI_Controls/ListControls/Main.cpp
new file mode 100644
index 00000000..243edfdd
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/Main.cpp
@@ -0,0 +1,51 @@
+#define GAC_HEADER_USE_NAMESPACE
+#include "UI/Source/Demo.h"
+#include
+
+using namespace vl::collections;
+using namespace vl::stream;
+using namespace vl::reflection::description;
+using namespace demo;
+
+int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int CmdShow)
+{
+ return SetupWindowsDirect2DRenderer();
+}
+
+class ViewModel : public Object, public IViewModel
+{
+public:
+ list::ObservableList> textItems;
+
+ Ptr GetTextItems()override
+ {
+ return textItems.GetWrapper();
+ }
+
+ void AddTextItem(Ptr item)override
+ {
+ textItems.Add(item);
+ }
+
+ void RemoveTextItem(vint32_t index)override
+ {
+ textItems.RemoveAt(index);
+ }
+
+ void ClearTextItems()override
+ {
+ textItems.Clear();
+ }
+};
+
+void GuiMain()
+{
+ {
+ FileStream fileStream(L"../UIRes/ListControls.bin", FileStream::ReadOnly);
+ auto resource = GuiResource::LoadPrecompiledBinary(fileStream);
+ GetResourceManager()->SetResource(L"Resource", resource);
+ }
+ demo::MainWindow window(new ViewModel);
+ window.MoveToScreenCenter();
+ GetApplication()->Run(&window);
+}
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Codegen.bat b/Tutorial/GacUI_Controls/ListControls/UI/Codegen.bat
new file mode 100644
index 00000000..27f6654b
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Codegen.bat
@@ -0,0 +1 @@
+..\..\..\..\Tools\GacGen.exe Resource.xml
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/005_Task_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/005_Task_16x16_72.png
new file mode 100644
index 00000000..d7af8828
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/005_Task_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/005_Task_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/005_Task_32x32_72.png
new file mode 100644
index 00000000..bb7cfe33
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/005_Task_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/008_Reminder_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/008_Reminder_16x16_72.png
new file mode 100644
index 00000000..ad4014e2
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/008_Reminder_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/008_Reminder_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/008_Reminder_32x32_72.png
new file mode 100644
index 00000000..1769cd01
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/008_Reminder_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/023_Tip_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/023_Tip_16x16_72.png
new file mode 100644
index 00000000..c1a56087
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/023_Tip_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/023_Tip_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/023_Tip_32x32_72.png
new file mode 100644
index 00000000..07f9f517
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/023_Tip_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Left_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Left_16x16_72.png
new file mode 100644
index 00000000..6ddc813b
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Left_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Left_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Left_32x32_72.png
new file mode 100644
index 00000000..6f9e97c0
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Left_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Right_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Right_16x16_72.png
new file mode 100644
index 00000000..db11dad8
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Right_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Right_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Right_32x32_72.png
new file mode 100644
index 00000000..3d536edc
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_ArrowCurve_Blue_Right_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Blue_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Blue_16x16_72.png
new file mode 100644
index 00000000..0e969d40
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Blue_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Blue_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Blue_32x32_72.png
new file mode 100644
index 00000000..007a26b1
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Blue_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Green_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Green_16x16_72.png
new file mode 100644
index 00000000..07b3b064
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Green_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Green_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Green_32x32_72.png
new file mode 100644
index 00000000..4a75e635
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Green_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Grey_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Grey_16x16_72.png
new file mode 100644
index 00000000..7461e9cc
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Grey_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Grey_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Grey_32x32_72.png
new file mode 100644
index 00000000..973665d8
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Grey_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Orange_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Orange_16x16_72.png
new file mode 100644
index 00000000..61a69e9d
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Orange_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Orange_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Orange_32x32_72.png
new file mode 100644
index 00000000..ee7d79d7
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_DownArrowLong_Orange_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Blue_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Blue_16x16_72.png
new file mode 100644
index 00000000..a672c62c
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Blue_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Blue_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Blue_32x32_72.png
new file mode 100644
index 00000000..565004bd
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Blue_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Green_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Green_16x16_72.png
new file mode 100644
index 00000000..ac19079d
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Green_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Green_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Green_32x32_72.png
new file mode 100644
index 00000000..6f92598d
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Green_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Grey_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Grey_16x16_72.png
new file mode 100644
index 00000000..59bbedd8
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Grey_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Grey_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Grey_32x32_72.png
new file mode 100644
index 00000000..69231e63
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Grey_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Orange_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Orange_16x16_72.png
new file mode 100644
index 00000000..3ae8fa21
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Orange_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Orange_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Orange_32x32_72.png
new file mode 100644
index 00000000..3d70fa74
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_LeftArrowLong_Orange_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Blue_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Blue_16x16_72.png
new file mode 100644
index 00000000..de7f12c9
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Blue_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Blue_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Blue_32x32_72.png
new file mode 100644
index 00000000..5861f448
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Blue_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Green_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Green_16x16_72.png
new file mode 100644
index 00000000..571b90b9
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Green_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Green_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Green_32x32_72.png
new file mode 100644
index 00000000..7b4ded75
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Green_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Grey_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Grey_16x16_72.png
new file mode 100644
index 00000000..e7924f47
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Grey_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Grey_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Grey_32x32_72.png
new file mode 100644
index 00000000..5c99ab88
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Grey_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Orange_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Orange_16x16_72.png
new file mode 100644
index 00000000..bb723b19
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Orange_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Orange_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Orange_32x32_72.png
new file mode 100644
index 00000000..05b87d44
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Minus_Orange_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Blue_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Blue_16x16_72.png
new file mode 100644
index 00000000..e5b964d9
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Blue_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Blue_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Blue_32x32_72.png
new file mode 100644
index 00000000..16f2c951
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Blue_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Green_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Green_16x16_72.png
new file mode 100644
index 00000000..bad13b66
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Green_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Green_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Green_32x32_72.png
new file mode 100644
index 00000000..20c407f7
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Green_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Grey_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Grey_16x16_72.png
new file mode 100644
index 00000000..45f3ac6b
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Grey_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Grey_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Grey_32x32_72.png
new file mode 100644
index 00000000..5588275b
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Grey_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Orange_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Orange_16x16_72.png
new file mode 100644
index 00000000..b0c9224c
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Orange_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Orange_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Orange_32x32_72.png
new file mode 100644
index 00000000..8d7b1316
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_Plus_Orange_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Blue_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Blue_16x16_72.png
new file mode 100644
index 00000000..a83b8d68
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Blue_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Blue_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Blue_32x32_72.png
new file mode 100644
index 00000000..2db50954
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Blue_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Green_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Green_16x16_72.png
new file mode 100644
index 00000000..d4ff45ce
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Green_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Green_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Green_32x32_72.png
new file mode 100644
index 00000000..54ffe611
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Green_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Grey_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Grey_16x16_72.png
new file mode 100644
index 00000000..7a4f60a0
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Grey_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Grey_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Grey_32x32_72.png
new file mode 100644
index 00000000..e210cce1
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Grey_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Orange_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Orange_16x16_72.png
new file mode 100644
index 00000000..f5ade76e
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Orange_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Orange_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Orange_32x32_72.png
new file mode 100644
index 00000000..6598a230
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_RightArrowLong_Orange_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Blue_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Blue_16x16_72.png
new file mode 100644
index 00000000..574759d1
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Blue_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Blue_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Blue_32x32_72.png
new file mode 100644
index 00000000..4991ca7b
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Blue_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Green_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Green_16x16_72.png
new file mode 100644
index 00000000..922c5301
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Green_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Green_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Green_32x32_72.png
new file mode 100644
index 00000000..6da6f2eb
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Green_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Grey_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Grey_16x16_72.png
new file mode 100644
index 00000000..8572c505
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Grey_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Grey_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Grey_32x32_72.png
new file mode 100644
index 00000000..1130ee4e
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Grey_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Orange_16x16_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Orange_16x16_72.png
new file mode 100644
index 00000000..7383684a
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Orange_16x16_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Orange_32x32_72.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Orange_32x32_72.png
new file mode 100644
index 00000000..9ac4f217
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/112_UpArrowLong_Orange_32x32_72.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/Build.bat b/Tutorial/GacUI_Controls/ListControls/UI/Images/Build.bat
new file mode 100644
index 00000000..40650474
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Images/Build.bat
@@ -0,0 +1,5 @@
+cls
+@echo off
+call Build_WriteFolder.bat _32x32_72.png > LargeImages.xml
+call Build_WriteFolder.bat _16x16_72.png > SmallImages.xml
+call Build_WriteImageLoader.bat > ImageLoader.xml
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/Build_WriteFolder.bat b/Tutorial/GacUI_Controls/ListControls/UI/Images/Build_WriteFolder.bat
new file mode 100644
index 00000000..51ed445a
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Images/Build_WriteFolder.bat
@@ -0,0 +1,10 @@
+setlocal enabledelayedexpansion
+
+echo.^
+for %%f in (*_16x16_*.png) do (
+ set "name=%%f"
+ set "prefix=!name:~0,4!"
+ set "id=!name:~4,-13!"
+ echo. ^!prefix!!id!%1^
+)
+echo.^
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/Build_WriteImageLoader.bat b/Tutorial/GacUI_Controls/ListControls/UI/Images/Build_WriteImageLoader.bat
new file mode 100644
index 00000000..ef623e4d
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Images/Build_WriteImageLoader.bat
@@ -0,0 +1,30 @@
+setlocal enabledelayedexpansion
+
+echo.^
+echo. ^<^^![CDATA[
+echo. module imageloader;
+echo.
+echo. using presentation::*;
+echo. using presentation::controls::*;
+echo. using presentation::controls::list::*;
+echo.
+echo. func LoadListView^(root : GuiInstanceRootObject*, callback : func^(ListViewItem^^^):void^) : void
+echo. {
+for %%f in (*_16x16_*.png) do (
+ set "name=%%f"
+ set "id=!name:~4,-13!"
+ echo. {
+ echo. var item = new ListViewItem^^^(^);
+ echo. item.Text = "!id!";
+ echo. item.LargeImage = cast ^(GuiImageData^^^^^) root.ResolveResource^("res", "LargeImages/!id!", true^);
+ echo. item.SmallImage = cast ^(GuiImageData^^^^^) root.ResolveResource^("res", "SmallImages/!id!", true^);
+ echo. item.SubItems.Add^("!name:~0,3!"^);
+ echo. item.SubItems.Add^("!name:~-12,-7!"^);
+ echo. item.SubItems.Add^("!name!"^);
+ echo. callback^(item^);
+ echo. }
+)
+echo. }
+echo.
+echo. ]]^>
+echo.^
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/Female.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/Female.png
new file mode 100644
index 00000000..f24069b2
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/Female.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/ImageLoader.xml b/Tutorial/GacUI_Controls/ListControls/UI/Images/ImageLoader.xml
new file mode 100644
index 00000000..cd6d58a2
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Images/ImageLoader.xml
@@ -0,0 +1,304 @@
+
+
+
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/LargeImages.xml b/Tutorial/GacUI_Controls/ListControls/UI/Images/LargeImages.xml
new file mode 100644
index 00000000..7d23c23f
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Images/LargeImages.xml
@@ -0,0 +1,31 @@
+
+ 005_Task_32x32_72.png
+ 008_Reminder_32x32_72.png
+ 023_Tip_32x32_72.png
+ 112_ArrowCurve_Blue_Left_32x32_72.png
+ 112_ArrowCurve_Blue_Right_32x32_72.png
+ 112_DownArrowLong_Blue_32x32_72.png
+ 112_DownArrowLong_Green_32x32_72.png
+ 112_DownArrowLong_Grey_32x32_72.png
+ 112_DownArrowLong_Orange_32x32_72.png
+ 112_LeftArrowLong_Blue_32x32_72.png
+ 112_LeftArrowLong_Green_32x32_72.png
+ 112_LeftArrowLong_Grey_32x32_72.png
+ 112_LeftArrowLong_Orange_32x32_72.png
+ 112_Minus_Blue_32x32_72.png
+ 112_Minus_Green_32x32_72.png
+ 112_Minus_Grey_32x32_72.png
+ 112_Minus_Orange_32x32_72.png
+ 112_Plus_Blue_32x32_72.png
+ 112_Plus_Green_32x32_72.png
+ 112_Plus_Grey_32x32_72.png
+ 112_Plus_Orange_32x32_72.png
+ 112_RightArrowLong_Blue_32x32_72.png
+ 112_RightArrowLong_Green_32x32_72.png
+ 112_RightArrowLong_Grey_32x32_72.png
+ 112_RightArrowLong_Orange_32x32_72.png
+ 112_UpArrowLong_Blue_32x32_72.png
+ 112_UpArrowLong_Green_32x32_72.png
+ 112_UpArrowLong_Grey_32x32_72.png
+ 112_UpArrowLong_Orange_32x32_72.png
+
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/Male.png b/Tutorial/GacUI_Controls/ListControls/UI/Images/Male.png
new file mode 100644
index 00000000..25d6ea91
Binary files /dev/null and b/Tutorial/GacUI_Controls/ListControls/UI/Images/Male.png differ
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/MiscImages.xml b/Tutorial/GacUI_Controls/ListControls/UI/Images/MiscImages.xml
new file mode 100644
index 00000000..f798734e
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Images/MiscImages.xml
@@ -0,0 +1,4 @@
+
+ Male.png
+ Female.png
+
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Images/SmallImages.xml b/Tutorial/GacUI_Controls/ListControls/UI/Images/SmallImages.xml
new file mode 100644
index 00000000..25c99f95
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Images/SmallImages.xml
@@ -0,0 +1,31 @@
+
+ 005_Task_16x16_72.png
+ 008_Reminder_16x16_72.png
+ 023_Tip_16x16_72.png
+ 112_ArrowCurve_Blue_Left_16x16_72.png
+ 112_ArrowCurve_Blue_Right_16x16_72.png
+ 112_DownArrowLong_Blue_16x16_72.png
+ 112_DownArrowLong_Green_16x16_72.png
+ 112_DownArrowLong_Grey_16x16_72.png
+ 112_DownArrowLong_Orange_16x16_72.png
+ 112_LeftArrowLong_Blue_16x16_72.png
+ 112_LeftArrowLong_Green_16x16_72.png
+ 112_LeftArrowLong_Grey_16x16_72.png
+ 112_LeftArrowLong_Orange_16x16_72.png
+ 112_Minus_Blue_16x16_72.png
+ 112_Minus_Green_16x16_72.png
+ 112_Minus_Grey_16x16_72.png
+ 112_Minus_Orange_16x16_72.png
+ 112_Plus_Blue_16x16_72.png
+ 112_Plus_Green_16x16_72.png
+ 112_Plus_Grey_16x16_72.png
+ 112_Plus_Orange_16x16_72.png
+ 112_RightArrowLong_Blue_16x16_72.png
+ 112_RightArrowLong_Green_16x16_72.png
+ 112_RightArrowLong_Grey_16x16_72.png
+ 112_RightArrowLong_Orange_16x16_72.png
+ 112_UpArrowLong_Blue_16x16_72.png
+ 112_UpArrowLong_Green_16x16_72.png
+ 112_UpArrowLong_Grey_16x16_72.png
+ 112_UpArrowLong_Orange_16x16_72.png
+
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/ListViewTabPage.xml b/Tutorial/GacUI_Controls/ListControls/UI/ListViewTabPage.xml
new file mode 100644
index 00000000..61728b3b
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/ListViewTabPage.xml
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+ <_>composeType:MinSize
+ <_>composeType:Percentage percentage:1.0
+
+
+ <_>composeType:Percentage percentage:0.5
+ <_>composeType:Percentage percentage:0.5
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ <_ Text="Id"/>
+ <_ Text="Category"/>
+ <_ Text="Size"/>
+ <_ Text="File"/>
+
+
+
+ <_>0
+ <_>1
+ <_>2
+
+
+ |
+
+
+
+
+ LargeImage
+ SmallImage
+
+
+ <_ Text="Id" TextProperty="Text"/>
+ <_ Text="Category" TextProperty="itemToBind.SubItems[0]"/>
+ <_ Text="Size" TextProperty="itemToBind.SubItems[1]"/>
+ <_ Text="File" TextProperty="itemToBind.SubItems[2]"/>
+
+
+
+ <_>0
+ <_>1
+ <_>2
+
+
+ |
+
+
+
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Resource.xml b/Tutorial/GacUI_Controls/ListControls/UI/Resource.xml
new file mode 100644
index 00000000..0f7275ac
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Resource.xml
@@ -0,0 +1,65 @@
+
+
+
+ Source
+ ..\..\UIRes\ListControls.bin
+ GacUI.h
+ GacUIReflection.h
+ Demo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TextListTabPage.xml
+ ListViewTabPage.xml
+ TreeViewTabPage.xml
+ Images/LargeImages.xml
+ Images/SmallImages.xml
+ Images/MiscImages.xml
+
+
+
+
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Source/Demo.h b/Tutorial/GacUI_Controls/ListControls/UI/Source/Demo.h
new file mode 100644
index 00000000..3ba62d65
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Source/Demo.h
@@ -0,0 +1,62 @@
+/***********************************************************************
+!!!!!! DO NOT MODIFY !!!!!!
+
+GacGen.exe Resource.xml
+
+This file is generated by Workflow compiler
+https://github.com/vczh-libraries
+***********************************************************************/
+
+#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DEMO
+#define VCZH_WORKFLOW_COMPILER_GENERATED_DEMO
+
+#include "DemoPartialClasses.h"
+
+/***********************************************************************
+Reflection
+***********************************************************************/
+
+namespace vl
+{
+ namespace reflection
+ {
+ namespace description
+ {
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ DECL_TYPE_INFO(::demo::IViewModel)
+ DECL_TYPE_INFO(::demo::ListViewTabPage)
+ DECL_TYPE_INFO(::demo::ListViewTabPageConstructor)
+ DECL_TYPE_INFO(::demo::MainWindow)
+ DECL_TYPE_INFO(::demo::MainWindowConstructor)
+ DECL_TYPE_INFO(::demo::MyTextItem)
+ DECL_TYPE_INFO(::demo::TextListTabPage)
+ DECL_TYPE_INFO(::demo::TextListTabPageConstructor)
+ DECL_TYPE_INFO(::demo::TreeViewTabPage)
+ DECL_TYPE_INFO(::demo::TreeViewTabPageConstructor)
+
+ BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::demo::IViewModel)
+ void AddTextItem(::vl::Ptr<::demo::MyTextItem> item) override
+ {
+ INVOKE_INTERFACE_PROXY(AddTextItem, item);
+ }
+ void ClearTextItems() override
+ {
+ INVOKE_INTERFACE_PROXY_NOPARAMS(ClearTextItems);
+ }
+ ::vl::Ptr<::vl::reflection::description::IValueObservableList> GetTextItems() override
+ {
+ INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetTextItems);
+ }
+ void RemoveTextItem(::vl::vint32_t index) override
+ {
+ INVOKE_INTERFACE_PROXY(RemoveTextItem, index);
+ }
+ END_INTERFACE_PROXY(::demo::IViewModel)
+#endif
+
+ extern bool LoadDemoTypes();
+ }
+ }
+}
+
+#endif
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_Controls/ListControls/UI/Source/DemoPartialClasses.cpp
new file mode 100644
index 00000000..6a9a661d
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Source/DemoPartialClasses.cpp
@@ -0,0 +1,1994 @@
+/***********************************************************************
+!!!!!! DO NOT MODIFY !!!!!!
+
+GacGen.exe Resource.xml
+
+This file is generated by Workflow compiler
+https://github.com/vczh-libraries
+***********************************************************************/
+
+#include "Demo.h"
+
+#if defined( _MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#elif defined(__GNUC__)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wparentheses-equality"
+#elif defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wparentheses-equality"
+#endif
+
+#define GLOBAL_SYMBOL ::vl_workflow_global::Demo::
+#define GLOBAL_NAME ::vl_workflow_global::Demo::Instance().
+#define GLOBAL_OBJ &::vl_workflow_global::Demo::Instance()
+#define USERIMPL(...)
+
+/***********************************************************************
+Global Variables
+***********************************************************************/
+
+BEGIN_GLOBAL_STORAGE_CLASS(vl_workflow_global_Demo)
+ vl_workflow_global::Demo instance;
+ INITIALIZE_GLOBAL_STORAGE_CLASS
+ FINALIZE_GLOBAL_STORAGE_CLASS
+END_GLOBAL_STORAGE_CLASS(vl_workflow_global_Demo)
+
+namespace vl_workflow_global
+{
+/***********************************************************************
+Global Functions
+***********************************************************************/
+
+ void Demo::LoadListView(::vl::presentation::controls::GuiInstanceRootObject* root, const ::vl::Func)>& callback)
+ {
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Task", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Task", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Task", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"005", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"005_Task_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Reminder", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Reminder", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Reminder", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"008", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"008_Reminder_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Tip", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Tip", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Tip", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"023", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"023_Tip_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"ArrowCurve_Blue_Left", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/ArrowCurve_Blue_Left", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Left", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_ArrowCurve_Blue_Left_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"ArrowCurve_Blue_Right", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/ArrowCurve_Blue_Right", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Right", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_ArrowCurve_Blue_Right_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"DownArrowLong_Blue", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/DownArrowLong_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_DownArrowLong_Blue_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"DownArrowLong_Green", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/DownArrowLong_Green", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Green", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_DownArrowLong_Green_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"DownArrowLong_Grey", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/DownArrowLong_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_DownArrowLong_Grey_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"DownArrowLong_Orange", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/DownArrowLong_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_DownArrowLong_Orange_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"LeftArrowLong_Blue", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/LeftArrowLong_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_LeftArrowLong_Blue_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"LeftArrowLong_Green", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/LeftArrowLong_Green", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Green", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_LeftArrowLong_Green_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"LeftArrowLong_Grey", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/LeftArrowLong_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_LeftArrowLong_Grey_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"LeftArrowLong_Orange", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/LeftArrowLong_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_LeftArrowLong_Orange_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Minus_Blue", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Minus_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Minus_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Minus_Blue_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Minus_Green", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Minus_Green", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Minus_Green", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Minus_Green_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Minus_Grey", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Minus_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Minus_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Minus_Grey_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Minus_Orange", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Minus_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Minus_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Minus_Orange_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Plus_Blue", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Plus_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Plus_Blue_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Plus_Green", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Plus_Green", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Green", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Plus_Green_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Plus_Grey", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Plus_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Plus_Grey_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Plus_Orange", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Plus_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Plus_Orange_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"RightArrowLong_Blue", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/RightArrowLong_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_RightArrowLong_Blue_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"RightArrowLong_Green", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/RightArrowLong_Green", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Green", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_RightArrowLong_Green_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"RightArrowLong_Grey", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/RightArrowLong_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_RightArrowLong_Grey_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"RightArrowLong_Orange", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/RightArrowLong_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_RightArrowLong_Orange_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"UpArrowLong_Blue", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/UpArrowLong_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Blue", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_UpArrowLong_Blue_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"UpArrowLong_Green", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/UpArrowLong_Green", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Green", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_UpArrowLong_Green_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"UpArrowLong_Grey", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/UpArrowLong_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Grey", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_UpArrowLong_Grey_16x16_72.png", false)));
+ callback(item);
+ }
+ {
+ auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem());
+ ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"UpArrowLong_Orange", false));
+ ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/UpArrowLong_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Orange", false), true).Obj())));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false)));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_UpArrowLong_Orange_16x16_72.png", false)));
+ callback(item);
+ }
+ }
+
+ Demo& Demo::Instance()
+ {
+ return Getvl_workflow_global_Demo().instance;
+ }
+
+/***********************************************************************
+Closures
+***********************************************************************/
+
+ //-------------------------------------------------------------------
+
+ __vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ bool __vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_, bool __vwsn_value_, bool __vwsn_update_) const
+ {
+ auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyTextItem>>(__vwsn_item_);
+ if (__vwsn_update_)
+ {
+ ::vl::__vwsn::This(item.Obj())->SetChecked(__vwsn_value_);
+ return false;
+ }
+ else
+ {
+ return ::vl::__vwsn::This(item.Obj())->GetChecked();
+ }
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ ::vl::WString __vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const
+ {
+ auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyTextItem>>(__vwsn_item_);
+ return ::vl::__vwsn::This(item.Obj())->GetName();
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ {
+ auto __vwsn_switch_1 = ::vl::__vwsn::This(__vwsnthis_0->comboView)->GetSelectedIndex();
+ if ((__vwsn_switch_1 == static_cast<::vl::vint32_t>(0)))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->textList)->SetView(::vl::presentation::controls::TextListView::Text);
+ ::vl::__vwsn::This(__vwsnthis_0->bindableTextList)->SetView(::vl::presentation::controls::TextListView::Text);
+ }
+ else if ((__vwsn_switch_1 == static_cast<::vl::vint32_t>(1)))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->textList)->SetView(::vl::presentation::controls::TextListView::Check);
+ ::vl::__vwsn::This(__vwsnthis_0->bindableTextList)->SetView(::vl::presentation::controls::TextListView::Check);
+ }
+ else if ((__vwsn_switch_1 == static_cast<::vl::vint32_t>(2)))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->textList)->SetView(::vl::presentation::controls::TextListView::Radio);
+ ::vl::__vwsn::This(__vwsnthis_0->bindableTextList)->SetView(::vl::presentation::controls::TextListView::Radio);
+ }
+ }
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ {
+ auto __vwsn_for_begin_i = static_cast<::vl::vint32_t>(0);
+ auto __vwsn_for_end_i = static_cast<::vl::vint32_t>(9);
+ auto i = __vwsn_for_begin_i;
+ while ((i <= __vwsn_for_end_i))
+ {
+ {
+ auto textItem = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem(::vl::__vwsn::ToString((::vl::__vwsn::This(__vwsnthis_0->self)->counter + i))));
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->Add(::vl::__vwsn::Box(textItem));
+ }
+ (i = (i + static_cast<::vl::vint32_t>(1)));
+ }
+ }
+ if (static_cast(::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->GetTextItems()))
+ {
+ {
+ auto __vwsn_for_begin_i = static_cast<::vl::vint32_t>(0);
+ auto __vwsn_for_end_i = static_cast<::vl::vint32_t>(9);
+ auto i = __vwsn_for_begin_i;
+ while ((i <= __vwsn_for_end_i))
+ {
+ {
+ auto textItem = ::vl::Ptr<::demo::MyTextItem>(new ::demo::MyTextItem());
+ ::vl::__vwsn::This(textItem.Obj())->SetName(::vl::__vwsn::ToString((::vl::__vwsn::This(__vwsnthis_0->self)->counter + i)));
+ ::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->AddTextItem(textItem);
+ }
+ (i = (i + static_cast<::vl::vint32_t>(1)));
+ }
+ }
+ }
+ (::vl::__vwsn::This(__vwsnthis_0->self)->counter = (::vl::__vwsn::This(__vwsnthis_0->self)->counter + static_cast<::vl::vint32_t>(10)));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ {
+ auto i = static_cast<::vl::vint32_t>(0);
+ while ((i < ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->GetCount()))
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->RemoveAt(i);
+ (i = (i + static_cast<::vl::vint32_t>(1)));
+ }
+ }
+ if (static_cast(::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->GetTextItems()))
+ {
+ auto i = static_cast<::vl::vint32_t>(0);
+ while ((i < ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->GetTextItems().Obj())->GetCount()))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->RemoveTextItem(i);
+ (i = (i + static_cast<::vl::vint32_t>(1)));
+ }
+ }
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ {
+ auto i = static_cast<::vl::vint32_t>(1);
+ while ((i < ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->GetCount()))
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->RemoveAt(i);
+ (i = (i + static_cast<::vl::vint32_t>(1)));
+ }
+ }
+ if (static_cast(::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->GetTextItems()))
+ {
+ auto i = static_cast<::vl::vint32_t>(1);
+ while ((i < ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->GetTextItems().Obj())->GetCount()))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->RemoveTextItem(i);
+ (i = (i + static_cast<::vl::vint32_t>(1)));
+ }
+ }
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->Clear();
+ if (static_cast(::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->GetTextItems()))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->ClearTextItems();
+ }
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ ::vl::Ptr<::vl::reflection::description::IValueEnumerable> __vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const
+ {
+ auto nodeToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>>(__vwsn_item_);
+ return ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(nodeToBind.Obj())->Children()));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const
+ {
+ auto nodeToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>>(__vwsn_item_);
+ return ::vl::__vwsn::This(::vl::__vwsn::SharedPtrCast<::vl::presentation::controls::tree::TreeViewItem>(::vl::__vwsn::This(nodeToBind.Obj())->GetData().Obj()).Obj())->image;
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ ::vl::WString __vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const
+ {
+ auto nodeToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>>(__vwsn_item_);
+ return ::vl::__vwsn::This(::vl::__vwsn::SharedPtrCast<::vl::presentation::controls::tree::TreeViewItem>(::vl::__vwsn::This(nodeToBind.Obj())->GetData().Obj()).Obj())->text;
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const
+ {
+ auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_);
+ return ::vl::__vwsn::This(itemToBind.Obj())->GetSmallImage();
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const
+ {
+ auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_);
+ return ::vl::__vwsn::This(itemToBind.Obj())->GetLargeImage();
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ ::vl::WString __vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const
+ {
+ auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_);
+ return ::vl::__vwsn::This(itemToBind.Obj())->GetText();
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ ::vl::WString __vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const
+ {
+ auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_);
+ return ::vl::__vwsn::Unbox<::vl::WString>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(itemToBind.Obj())->GetSubItems()).Obj())->Get(static_cast<::vl::vint32_t>(0)));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ ::vl::WString __vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const
+ {
+ auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_);
+ return ::vl::__vwsn::Unbox<::vl::WString>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(itemToBind.Obj())->GetSubItems()).Obj())->Get(static_cast<::vl::vint32_t>(1)));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ ::vl::WString __vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const
+ {
+ auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_);
+ return ::vl::__vwsn::Unbox<::vl::WString>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(itemToBind.Obj())->GetSubItems()).Obj())->Get(static_cast<::vl::vint32_t>(2)));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ {
+ auto __vwsn_switch_0 = ::vl::__vwsn::This(__vwsnthis_0->comboView)->GetSelectedIndex();
+ if ((__vwsn_switch_0 == static_cast<::vl::vint32_t>(0)))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::BigIcon);
+ ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::BigIcon);
+ }
+ else if ((__vwsn_switch_0 == static_cast<::vl::vint32_t>(1)))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::SmallIcon);
+ ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::SmallIcon);
+ }
+ else if ((__vwsn_switch_0 == static_cast<::vl::vint32_t>(2)))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::List);
+ ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::List);
+ }
+ else if ((__vwsn_switch_0 == static_cast<::vl::vint32_t>(3)))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Tile);
+ ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::Tile);
+ }
+ else if ((__vwsn_switch_0 == static_cast<::vl::vint32_t>(4)))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Information);
+ ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::Information);
+ }
+ else if ((__vwsn_switch_0 == static_cast<::vl::vint32_t>(5)))
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Detail);
+ ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::Detail);
+ }
+ }
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf8_Demo_demo_ListViewTabPage___vwsn_instance_ctor__::__vwsnf8_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(::demo::ListViewTabPage* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf8_Demo_demo_ListViewTabPage___vwsn_instance_ctor__::operator()(::vl::Ptr<::vl::presentation::controls::list::ListViewItem> item) const
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetItems()).Obj())->Add(::vl::__vwsn::Box(item));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf9_Demo_demo_ListViewTabPage___vwsn_instance_ctor__::__vwsnf9_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(::vl::Ptr<::vl::reflection::description::IValueList> __vwsnctor_itemsToBind, ::demo::ListViewTabPage* __vwsnctorthis_0)
+ :itemsToBind(__vwsnctor_itemsToBind)
+ , __vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf9_Demo_demo_ListViewTabPage___vwsn_instance_ctor__::operator()(::vl::Ptr<::vl::presentation::controls::list::ListViewItem> item) const
+ {
+ ::vl::__vwsn::This(this->itemsToBind.Obj())->Add(::vl::__vwsn::Box(item));
+ }
+}
+
+/***********************************************************************
+Class (::demo::ListViewTabPageConstructor)
+***********************************************************************/
+
+namespace demo
+{
+ void ListViewTabPageConstructor::__vwsn_initialize_instance_(::demo::ListViewTabPage* __vwsn_this_)
+ {
+ (this->self = __vwsn_this_);
+ {
+ ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"ListView", false));
+ }
+ (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint32_t>(2), static_cast<::vl::vint32_t>(2));
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint32_t>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint32_t>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }());
+ }
+ (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(2));
+ }
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextListStyle();
+ (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiTextList(__vwsn_controlStyle_));
+ }
+ (this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetText(::vl::WString(L"BigIcon", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3));
+ }
+ (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetText(::vl::WString(L"SmallIcon", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4));
+ }
+ (this->__vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_5.Obj())->SetText(::vl::WString(L"List", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5));
+ }
+ (this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetText(::vl::WString(L"Tile", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6));
+ }
+ (this->__vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_7.Obj())->SetText(::vl::WString(L"Information", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7));
+ }
+ (this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetText(::vl::WString(L"Detail", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle();
+ (this->comboView = new ::vl::presentation::controls::GuiComboBoxListControl(__vwsn_controlStyle_, this->__vwsn_precompile_2));
+ }
+ {
+ ::vl::__vwsn::This(this->comboView)->SetSelectedIndex(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->comboView)->SetAlt(::vl::WString(L"V", false));
+ }
+ (this->__vwsn_precompile_9 = ::vl::__vwsn::This(this->comboView)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(120); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->comboView)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1));
+ }
+ (this->__vwsn_precompile_10 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetSite(static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1));
+ }
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateListViewStyle();
+ (this->listView = new ::vl::presentation::controls::GuiListView(__vwsn_controlStyle_));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"0", false))));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"1", false))));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"2", false))));
+ }
+ {
+ ::vl::__vwsn::This(this->listView)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->listView)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->listView)->SetAlt(::vl::WString(L"L", false));
+ }
+ (this->__vwsn_precompile_15 = ::vl::__vwsn::This(this->listView)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ (this->__vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_11.Obj())->SetText(::vl::WString(L"Id", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_11));
+ }
+ (this->__vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetText(::vl::WString(L"Category", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_12));
+ }
+ (this->__vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_13.Obj())->SetText(::vl::WString(L"Size", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13));
+ }
+ (this->__vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetText(::vl::WString(L"File", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_14));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->listView)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_10));
+ }
+ (this->__vwsn_precompile_16 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetSite(static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1));
+ }
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateListViewStyle();
+ (this->bindableListView = new ::vl::presentation::controls::GuiBindableListView(__vwsn_controlStyle_));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableListView)->SetSmallImageProperty(LAMBDA(::vl_workflow_global::__vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableListView)->SetLargeImageProperty(LAMBDA(::vl_workflow_global::__vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this)));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetDataColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"0", false))));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetDataColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"1", false))));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetDataColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"2", false))));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableListView)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableListView)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableListView)->SetAlt(::vl::WString(L"L", false));
+ }
+ (this->__vwsn_precompile_21 = ::vl::__vwsn::This(this->bindableListView)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ (this->__vwsn_precompile_17 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_17.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_17.Obj())->SetText(::vl::WString(L"Id", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_17));
+ }
+ (this->__vwsn_precompile_18 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_18.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_18.Obj())->SetText(::vl::WString(L"Category", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_18));
+ }
+ (this->__vwsn_precompile_19 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->SetText(::vl::WString(L"Size", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_19));
+ }
+ (this->__vwsn_precompile_20 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_20.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_20.Obj())->SetText(::vl::WString(L"File", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetColumns());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_20));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_16)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->bindableListView)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_16));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0));
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->comboView)->SelectedIndexChanged, __vwsn_event_handler_);
+ }
+ }
+
+ ListViewTabPageConstructor::ListViewTabPageConstructor()
+ {
+ }
+
+/***********************************************************************
+Class (::demo::ListViewTabPage)
+***********************************************************************/
+
+ ListViewTabPage::ListViewTabPage()
+ : ::vl::presentation::controls::GuiTabPage(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle())
+ {
+ auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::ListViewTabPage", false));
+ auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory()));
+ ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_);
+ ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this);
+ this->__vwsn_instance_ctor_();
+ }
+
+ void ListViewTabPage::__vwsn_instance_ctor_()
+ {
+ GLOBAL_NAME LoadListView(static_cast<::vl::presentation::controls::GuiInstanceRootObject*>(this), LAMBDA(::vl_workflow_global::__vwsnf8_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(this)));
+ auto itemsToBind = ::vl::reflection::description::IValueList::Create();
+ GLOBAL_NAME LoadListView(static_cast<::vl::presentation::controls::GuiInstanceRootObject*>(this), LAMBDA(::vl_workflow_global::__vwsnf9_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(itemsToBind, this)));
+ ::vl::__vwsn::This(this->bindableListView)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueEnumerable>(itemsToBind));
+ }
+
+ ListViewTabPage::~ListViewTabPage()
+ {
+ this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiControl*>(this));
+ }
+
+/***********************************************************************
+Class (::demo::MainWindowConstructor)
+***********************************************************************/
+
+ void MainWindowConstructor::__vwsn_initialize_instance_(::demo::MainWindow* __vwsn_this_)
+ {
+ (this->self = __vwsn_this_);
+ (this->ViewModel = ::vl::__vwsn::This(__vwsn_this_)->GetViewModel());
+ (this->__vwsn_precompile_5 = ::vl::__vwsn::This(this->self)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(640); __vwsn_temp__.y = static_cast<::vl::vint32_t>(480); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(640); __vwsn_temp__.y = static_cast<::vl::vint32_t>(480); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"ListControls", false));
+ }
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTabStyle();
+ (this->__vwsn_precompile_0 = new ::vl::presentation::controls::GuiTab(__vwsn_controlStyle_));
+ }
+ (this->__vwsn_precompile_2 = new ::demo::TextListTabPage(this->ViewModel));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetAlt(::vl::WString(L"T", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_2));
+ }
+ (this->__vwsn_precompile_3 = new ::demo::ListViewTabPage());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetAlt(::vl::WString(L"L", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3));
+ }
+ (this->__vwsn_precompile_4 = new ::demo::TreeViewTabPage());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetAlt(::vl::WString(L"R", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4));
+ }
+ (this->__vwsn_precompile_1 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(5); __vwsn_temp__.top = static_cast<::vl::vint32_t>(5); __vwsn_temp__.right = static_cast<::vl::vint32_t>(5); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(5); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_0));
+ }
+ }
+
+ MainWindowConstructor::MainWindowConstructor()
+ {
+ }
+
+/***********************************************************************
+Class (::demo::MainWindow)
+***********************************************************************/
+
+ ::vl::Ptr<::demo::IViewModel> MainWindow::GetViewModel()
+ {
+ return this->__vwsn_parameter_ViewModel;
+ }
+
+ MainWindow::MainWindow(::vl::Ptr<::demo::IViewModel> __vwsn_ctor_parameter_ViewModel)
+ : ::vl::presentation::controls::GuiWindow(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateWindowStyle())
+ {
+ (this->__vwsn_parameter_ViewModel = __vwsn_ctor_parameter_ViewModel);
+ auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::MainWindow", false));
+ auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory()));
+ ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_);
+ ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this);
+ }
+
+ MainWindow::~MainWindow()
+ {
+ this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiControl*>(this));
+ }
+
+/***********************************************************************
+Class (::demo::TextListTabPageConstructor)
+***********************************************************************/
+
+ void TextListTabPageConstructor::__vwsn_initialize_instance_(::demo::TextListTabPage* __vwsn_this_)
+ {
+ (this->self = __vwsn_this_);
+ (this->ViewModel = ::vl::__vwsn::This(__vwsn_this_)->GetViewModel());
+ {
+ ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"TextList", false));
+ }
+ (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint32_t>(2), static_cast<::vl::vint32_t>(3));
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint32_t>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint32_t>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint32_t>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }());
+ }
+ (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(3));
+ }
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextListStyle();
+ (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiTextList(__vwsn_controlStyle_));
+ }
+ (this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetText(::vl::WString(L"Text", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3));
+ }
+ (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetText(::vl::WString(L"Check", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4));
+ }
+ (this->__vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_5.Obj())->SetText(::vl::WString(L"Radio", false));
+ }
+ {
+ auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems());
+ ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle();
+ (this->comboView = new ::vl::presentation::controls::GuiComboBoxListControl(__vwsn_controlStyle_, this->__vwsn_precompile_2));
+ }
+ {
+ ::vl::__vwsn::This(this->comboView)->SetSelectedIndex(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"0", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->comboView)->SetAlt(::vl::WString(L"V", false));
+ }
+ (this->__vwsn_precompile_6 = ::vl::__vwsn::This(this->comboView)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(120); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->comboView)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1));
+ }
+ (this->__vwsn_precompile_7 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetSite(static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1));
+ }
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextListStyle();
+ (this->textList = new ::vl::presentation::controls::GuiTextList(__vwsn_controlStyle_));
+ }
+ {
+ ::vl::__vwsn::This(this->textList)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->textList)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->textList)->SetAlt(::vl::WString(L"L", false));
+ }
+ (this->__vwsn_precompile_8 = ::vl::__vwsn::This(this->textList)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_8)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_7)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->textList)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_7));
+ }
+ (this->__vwsn_precompile_9 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetSite(static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1));
+ }
+ (this->__vwsn_precompile_10 = new ::vl::presentation::compositions::GuiStackComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren);
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetPadding(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetDirection(::vl::presentation::compositions::GuiStackComposition::Direction::Vertical);
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ (this->__vwsn_precompile_11 = new ::vl::presentation::compositions::GuiStackItemComposition());
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle();
+ (this->__vwsn_precompile_12 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetAlt(::vl::WString(L"A", false));
+ }
+ (this->__vwsn_precompile_13 = ::vl::__vwsn::This(this->__vwsn_precompile_12)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetText(::vl::WString(L"Add 10 items", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_11)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_12)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_11));
+ }
+ (this->__vwsn_precompile_14 = new ::vl::presentation::compositions::GuiStackItemComposition());
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle();
+ (this->__vwsn_precompile_15 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetAlt(::vl::WString(L"O", false));
+ }
+ (this->__vwsn_precompile_16 = ::vl::__vwsn::This(this->__vwsn_precompile_15)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetText(::vl::WString(L"Remove odd items", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_14)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_15)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_14));
+ }
+ (this->__vwsn_precompile_17 = new ::vl::presentation::compositions::GuiStackItemComposition());
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle();
+ (this->__vwsn_precompile_18 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetAlt(::vl::WString(L"E", false));
+ }
+ (this->__vwsn_precompile_19 = ::vl::__vwsn::This(this->__vwsn_precompile_18)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetText(::vl::WString(L"Remove even items", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_17)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_18)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_17));
+ }
+ (this->__vwsn_precompile_20 = new ::vl::presentation::compositions::GuiStackItemComposition());
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle();
+ (this->__vwsn_precompile_21 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetAlt(::vl::WString(L"C", false));
+ }
+ (this->__vwsn_precompile_22 = ::vl::__vwsn::This(this->__vwsn_precompile_21)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_22)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetText(::vl::WString(L"Clear", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_20)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_21)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_20));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_9)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_10));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_9));
+ }
+ (this->__vwsn_precompile_23 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_23)->SetSite(static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(2), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1));
+ }
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextListStyle();
+ (this->bindableTextList = new ::vl::presentation::controls::GuiBindableTextList(__vwsn_controlStyle_));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTextList)->SetCheckedProperty(LAMBDA(::vl_workflow_global::__vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTextList)->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTextList)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTextList)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTextList)->SetAlt(::vl::WString(L"B", false));
+ }
+ (this->__vwsn_precompile_24 = ::vl::__vwsn::This(this->bindableTextList)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_24)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_23)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->bindableTextList)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_23));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0));
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->comboView)->SelectedIndexChanged, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_12)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_15)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_18)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_21)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTextList)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(this->ViewModel.Obj())->GetTextItems()));
+ }
+ }
+
+ TextListTabPageConstructor::TextListTabPageConstructor()
+ {
+ }
+
+/***********************************************************************
+Class (::demo::TextListTabPage)
+***********************************************************************/
+
+ ::vl::Ptr<::demo::IViewModel> TextListTabPage::GetViewModel()
+ {
+ return this->__vwsn_parameter_ViewModel;
+ }
+
+ TextListTabPage::TextListTabPage(::vl::Ptr<::demo::IViewModel> __vwsn_ctor_parameter_ViewModel)
+ : ::vl::presentation::controls::GuiTabPage(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle())
+ {
+ (this->__vwsn_parameter_ViewModel = __vwsn_ctor_parameter_ViewModel);
+ auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::TextListTabPage", false));
+ auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory()));
+ ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_);
+ ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this);
+ }
+
+ TextListTabPage::~TextListTabPage()
+ {
+ this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiControl*>(this));
+ }
+
+/***********************************************************************
+Class (::demo::TreeViewTabPageConstructor)
+***********************************************************************/
+
+ void TreeViewTabPageConstructor::__vwsn_initialize_instance_(::demo::TreeViewTabPage* __vwsn_this_)
+ {
+ (this->self = __vwsn_this_);
+ (this->__vwsn_precompile_27 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem()))));
+ (this->__vwsn_precompile_28 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Blue", false), true).Obj())), ::vl::WString(L"Blue+", false))))));
+ (this->__vwsn_precompile_29 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Left", false), true).Obj())), ::vl::WString(L"<--", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_29));
+ }
+ (this->__vwsn_precompile_30 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Right", false), true).Obj())), ::vl::WString(L"-->", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_30));
+ }
+ (this->__vwsn_precompile_31 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Blue", false), true).Obj())), ::vl::WString(L"V", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_31));
+ }
+ (this->__vwsn_precompile_32 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Blue", false), true).Obj())), ::vl::WString(L"^", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_32));
+ }
+ (this->__vwsn_precompile_33 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Blue", false), true).Obj())), ::vl::WString(L"<", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_33));
+ }
+ (this->__vwsn_precompile_34 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Blue", false), true).Obj())), ::vl::WString(L">", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_34));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_28));
+ }
+ (this->__vwsn_precompile_35 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Green", false), true).Obj())), ::vl::WString(L"Green+", false))))));
+ (this->__vwsn_precompile_36 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Green", false), true).Obj())), ::vl::WString(L"V", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_35.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_36));
+ }
+ (this->__vwsn_precompile_37 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Green", false), true).Obj())), ::vl::WString(L"^", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_35.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_37));
+ }
+ (this->__vwsn_precompile_38 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Green", false), true).Obj())), ::vl::WString(L"<", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_35.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_38));
+ }
+ (this->__vwsn_precompile_39 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Green", false), true).Obj())), ::vl::WString(L">", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_35.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_39));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_35));
+ }
+ (this->__vwsn_precompile_40 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Grey", false), true).Obj())), ::vl::WString(L"Grey+", false))))));
+ (this->__vwsn_precompile_41 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Grey", false), true).Obj())), ::vl::WString(L"V", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_40.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_41));
+ }
+ (this->__vwsn_precompile_42 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Grey", false), true).Obj())), ::vl::WString(L"^", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_40.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_42));
+ }
+ (this->__vwsn_precompile_43 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Grey", false), true).Obj())), ::vl::WString(L"<", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_40.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_43));
+ }
+ (this->__vwsn_precompile_44 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Grey", false), true).Obj())), ::vl::WString(L">", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_40.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_44));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_40));
+ }
+ (this->__vwsn_precompile_45 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Orange", false), true).Obj())), ::vl::WString(L"Orange+", false))))));
+ (this->__vwsn_precompile_46 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Orange", false), true).Obj())), ::vl::WString(L"V", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_45.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_46));
+ }
+ (this->__vwsn_precompile_47 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Orange", false), true).Obj())), ::vl::WString(L"^", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_45.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_47));
+ }
+ (this->__vwsn_precompile_48 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Orange", false), true).Obj())), ::vl::WString(L"<", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_45.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_48));
+ }
+ (this->__vwsn_precompile_49 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Orange", false), true).Obj())), ::vl::WString(L">", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_45.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_49));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_45));
+ }
+ {
+ (::vl::__vwsn::This(this->self)->nodesToBind = this->__vwsn_precompile_27);
+ }
+ {
+ ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"TreeView", false));
+ }
+ (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(2));
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint32_t>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint32_t>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }());
+ }
+ (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1));
+ }
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTreeViewStyle();
+ (this->treeView = new ::vl::presentation::controls::GuiTreeView(__vwsn_controlStyle_));
+ }
+ {
+ ::vl::__vwsn::This(this->treeView)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->treeView)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->treeView)->SetAlt(::vl::WString(L"L", false));
+ }
+ (this->__vwsn_precompile_24 = ::vl::__vwsn::This(this->treeView)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_24)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ (this->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Blue", false), true).Obj())), ::vl::WString(L"Blue+", false))))));
+ (this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Left", false), true).Obj())), ::vl::WString(L"<--", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3));
+ }
+ (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Right", false), true).Obj())), ::vl::WString(L"-->", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4));
+ }
+ (this->__vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Blue", false), true).Obj())), ::vl::WString(L"V", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5));
+ }
+ (this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Blue", false), true).Obj())), ::vl::WString(L"^", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6));
+ }
+ (this->__vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Blue", false), true).Obj())), ::vl::WString(L"<", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7));
+ }
+ (this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Blue", false), true).Obj())), ::vl::WString(L">", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_2));
+ }
+ (this->__vwsn_precompile_9 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Green", false), true).Obj())), ::vl::WString(L"Green+", false))))));
+ (this->__vwsn_precompile_10 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Green", false), true).Obj())), ::vl::WString(L"V", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_9.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_10));
+ }
+ (this->__vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Green", false), true).Obj())), ::vl::WString(L"^", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_9.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_11));
+ }
+ (this->__vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Green", false), true).Obj())), ::vl::WString(L"<", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_9.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_12));
+ }
+ (this->__vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Green", false), true).Obj())), ::vl::WString(L">", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_9.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_9));
+ }
+ (this->__vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Grey", false), true).Obj())), ::vl::WString(L"Grey+", false))))));
+ (this->__vwsn_precompile_15 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Grey", false), true).Obj())), ::vl::WString(L"V", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_15));
+ }
+ (this->__vwsn_precompile_16 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Grey", false), true).Obj())), ::vl::WString(L"^", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_16));
+ }
+ (this->__vwsn_precompile_17 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Grey", false), true).Obj())), ::vl::WString(L"<", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_17));
+ }
+ (this->__vwsn_precompile_18 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Grey", false), true).Obj())), ::vl::WString(L">", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_18));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_14));
+ }
+ (this->__vwsn_precompile_19 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Orange", false), true).Obj())), ::vl::WString(L"Orange+", false))))));
+ (this->__vwsn_precompile_20 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Orange", false), true).Obj())), ::vl::WString(L"V", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_20));
+ }
+ (this->__vwsn_precompile_21 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Orange", false), true).Obj())), ::vl::WString(L"^", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_21));
+ }
+ (this->__vwsn_precompile_22 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Orange", false), true).Obj())), ::vl::WString(L"<", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_22));
+ }
+ (this->__vwsn_precompile_23 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Orange", false), true).Obj())), ::vl::WString(L">", false))))));
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_23));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_19));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->treeView)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1));
+ }
+ (this->__vwsn_precompile_25 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_25)->SetSite(static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1));
+ }
+ {
+ auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTreeViewStyle();
+ (this->bindableTreeView = new ::vl::presentation::controls::GuiBindableTreeView(__vwsn_controlStyle_));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTreeView)->SetChildrenProperty(LAMBDA(::vl_workflow_global::__vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(this)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTreeView)->SetImageProperty(LAMBDA(::vl_workflow_global::__vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(this)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTreeView)->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(this)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTreeView)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTreeView)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->bindableTreeView)->SetAlt(::vl::WString(L"L", false));
+ }
+ (this->__vwsn_precompile_26 = ::vl::__vwsn::This(this->bindableTreeView)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_26)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_25)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->bindableTreeView)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_25));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0));
+ }
+ }
+
+ TreeViewTabPageConstructor::TreeViewTabPageConstructor()
+ {
+ }
+
+/***********************************************************************
+Class (::demo::TreeViewTabPage)
+***********************************************************************/
+
+ TreeViewTabPage::TreeViewTabPage()
+ : ::vl::presentation::controls::GuiTabPage(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle())
+ {
+ auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::TreeViewTabPage", false));
+ auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory()));
+ ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_);
+ ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this);
+ this->__vwsn_instance_ctor_();
+ }
+
+ void TreeViewTabPage::__vwsn_instance_ctor_()
+ {
+ ::vl::__vwsn::This(this->bindableTreeView)->SetItemSource(::vl::__vwsn::Box(this->nodesToBind));
+ }
+
+ TreeViewTabPage::~TreeViewTabPage()
+ {
+ this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiControl*>(this));
+ }
+
+/***********************************************************************
+Class (::demo::MyTextItem)
+***********************************************************************/
+
+ ::vl::WString MyTextItem::GetName()
+ {
+ return this->__vwsn_prop_Name;
+ }
+ void MyTextItem::SetName(const ::vl::WString& __vwsn_value_)
+ {
+ (this->__vwsn_prop_Name = __vwsn_value_);
+ }
+
+ bool MyTextItem::GetChecked()
+ {
+ return this->__vwsn_prop_Checked;
+ }
+ void MyTextItem::SetChecked(bool __vwsn_value_)
+ {
+ (this->__vwsn_prop_Checked = __vwsn_value_);
+ }
+
+ MyTextItem::MyTextItem()
+ {
+ }
+
+/***********************************************************************
+Class (::demo::IViewModel)
+***********************************************************************/
+
+}
+#undef GLOBAL_SYMBOL
+#undef GLOBAL_NAME
+#undef GLOBAL_OBJ
+#undef USERIMPL
+
+/***********************************************************************
+Reflection
+***********************************************************************/
+
+namespace vl
+{
+ namespace reflection
+ {
+ namespace description
+ {
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ IMPL_CPP_TYPE_INFO(demo::IViewModel)
+ IMPL_CPP_TYPE_INFO(demo::ListViewTabPage)
+ IMPL_CPP_TYPE_INFO(demo::ListViewTabPageConstructor)
+ IMPL_CPP_TYPE_INFO(demo::MainWindow)
+ IMPL_CPP_TYPE_INFO(demo::MainWindowConstructor)
+ IMPL_CPP_TYPE_INFO(demo::MyTextItem)
+ IMPL_CPP_TYPE_INFO(demo::TextListTabPage)
+ IMPL_CPP_TYPE_INFO(demo::TextListTabPageConstructor)
+ IMPL_CPP_TYPE_INFO(demo::TreeViewTabPage)
+ IMPL_CPP_TYPE_INFO(demo::TreeViewTabPageConstructor)
+
+#define _ ,
+ BEGIN_INTERFACE_MEMBER(::demo::IViewModel)
+ CLASS_MEMBER_METHOD(AddTextItem, { L"item" })
+ CLASS_MEMBER_METHOD(ClearTextItems, NO_PARAMETER)
+ CLASS_MEMBER_METHOD(GetTextItems, NO_PARAMETER)
+ CLASS_MEMBER_METHOD(RemoveTextItem, { L"index" })
+ CLASS_MEMBER_PROPERTY_READONLY(TextItems, GetTextItems)
+ END_INTERFACE_MEMBER(::demo::IViewModel)
+
+ BEGIN_CLASS_MEMBER(::demo::ListViewTabPage)
+ CLASS_MEMBER_CONSTRUCTOR(::demo::ListViewTabPage*(), NO_PARAMETER)
+ CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER)
+ END_CLASS_MEMBER(::demo::ListViewTabPage)
+
+ BEGIN_CLASS_MEMBER(::demo::ListViewTabPageConstructor)
+ CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::ListViewTabPageConstructor>(), NO_PARAMETER)
+ CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" })
+ CLASS_MEMBER_FIELD(__vwsn_precompile_0)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_1)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_10)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_11)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_12)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_13)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_14)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_15)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_16)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_17)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_18)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_19)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_2)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_20)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_21)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_3)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_4)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_5)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_6)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_7)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_8)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_9)
+ CLASS_MEMBER_FIELD(bindableListView)
+ CLASS_MEMBER_FIELD(comboView)
+ CLASS_MEMBER_FIELD(listView)
+ CLASS_MEMBER_FIELD(self)
+ END_CLASS_MEMBER(::demo::ListViewTabPageConstructor)
+
+ BEGIN_CLASS_MEMBER(::demo::MainWindow)
+ CLASS_MEMBER_CONSTRUCTOR(::demo::MainWindow*(::vl::Ptr<::demo::IViewModel>), { L"__vwsn_ctor_parameter_ViewModel" })
+ CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER)
+ CLASS_MEMBER_FIELD(__vwsn_parameter_ViewModel)
+ CLASS_MEMBER_PROPERTY_READONLY(ViewModel, GetViewModel)
+ END_CLASS_MEMBER(::demo::MainWindow)
+
+ BEGIN_CLASS_MEMBER(::demo::MainWindowConstructor)
+ CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MainWindowConstructor>(), NO_PARAMETER)
+ CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" })
+ CLASS_MEMBER_FIELD(__vwsn_precompile_0)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_1)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_2)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_3)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_4)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_5)
+ CLASS_MEMBER_FIELD(ViewModel)
+ CLASS_MEMBER_FIELD(self)
+ END_CLASS_MEMBER(::demo::MainWindowConstructor)
+
+ BEGIN_CLASS_MEMBER(::demo::MyTextItem)
+ CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MyTextItem>(), NO_PARAMETER)
+ CLASS_MEMBER_METHOD(GetChecked, NO_PARAMETER)
+ CLASS_MEMBER_METHOD(GetName, NO_PARAMETER)
+ CLASS_MEMBER_METHOD(SetChecked, { L"__vwsn_value_" })
+ CLASS_MEMBER_METHOD(SetName, { L"__vwsn_value_" })
+ CLASS_MEMBER_FIELD(__vwsn_prop_Checked)
+ CLASS_MEMBER_FIELD(__vwsn_prop_Name)
+ CLASS_MEMBER_PROPERTY(Checked, GetChecked, SetChecked)
+ CLASS_MEMBER_PROPERTY(Name, GetName, SetName)
+ END_CLASS_MEMBER(::demo::MyTextItem)
+
+ BEGIN_CLASS_MEMBER(::demo::TextListTabPage)
+ CLASS_MEMBER_CONSTRUCTOR(::demo::TextListTabPage*(::vl::Ptr<::demo::IViewModel>), { L"__vwsn_ctor_parameter_ViewModel" })
+ CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER)
+ CLASS_MEMBER_FIELD(__vwsn_parameter_ViewModel)
+ CLASS_MEMBER_PROPERTY_READONLY(ViewModel, GetViewModel)
+ CLASS_MEMBER_FIELD(counter)
+ END_CLASS_MEMBER(::demo::TextListTabPage)
+
+ BEGIN_CLASS_MEMBER(::demo::TextListTabPageConstructor)
+ CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::TextListTabPageConstructor>(), NO_PARAMETER)
+ CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" })
+ CLASS_MEMBER_FIELD(__vwsn_precompile_0)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_1)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_10)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_11)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_12)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_13)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_14)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_15)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_16)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_17)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_18)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_19)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_2)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_20)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_21)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_22)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_23)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_24)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_3)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_4)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_5)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_6)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_7)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_8)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_9)
+ CLASS_MEMBER_FIELD(ViewModel)
+ CLASS_MEMBER_FIELD(bindableTextList)
+ CLASS_MEMBER_FIELD(comboView)
+ CLASS_MEMBER_FIELD(self)
+ CLASS_MEMBER_FIELD(textList)
+ END_CLASS_MEMBER(::demo::TextListTabPageConstructor)
+
+ BEGIN_CLASS_MEMBER(::demo::TreeViewTabPage)
+ CLASS_MEMBER_CONSTRUCTOR(::demo::TreeViewTabPage*(), NO_PARAMETER)
+ CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER)
+ CLASS_MEMBER_FIELD(nodesToBind)
+ END_CLASS_MEMBER(::demo::TreeViewTabPage)
+
+ BEGIN_CLASS_MEMBER(::demo::TreeViewTabPageConstructor)
+ CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::TreeViewTabPageConstructor>(), NO_PARAMETER)
+ CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" })
+ CLASS_MEMBER_FIELD(__vwsn_precompile_0)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_1)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_10)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_11)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_12)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_13)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_14)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_15)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_16)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_17)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_18)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_19)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_2)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_20)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_21)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_22)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_23)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_24)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_25)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_26)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_27)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_28)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_29)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_3)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_30)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_31)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_32)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_33)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_34)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_35)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_36)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_37)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_38)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_39)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_4)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_40)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_41)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_42)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_43)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_44)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_45)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_46)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_47)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_48)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_49)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_5)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_6)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_7)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_8)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_9)
+ CLASS_MEMBER_FIELD(bindableTreeView)
+ CLASS_MEMBER_FIELD(self)
+ CLASS_MEMBER_FIELD(treeView)
+ END_CLASS_MEMBER(::demo::TreeViewTabPageConstructor)
+
+#undef _
+ class DemoTypeLoader : public Object, public ITypeLoader
+ {
+ public:
+ void Load(ITypeManager* manager)
+ {
+ ADD_TYPE_INFO(::demo::IViewModel)
+ ADD_TYPE_INFO(::demo::ListViewTabPage)
+ ADD_TYPE_INFO(::demo::ListViewTabPageConstructor)
+ ADD_TYPE_INFO(::demo::MainWindow)
+ ADD_TYPE_INFO(::demo::MainWindowConstructor)
+ ADD_TYPE_INFO(::demo::MyTextItem)
+ ADD_TYPE_INFO(::demo::TextListTabPage)
+ ADD_TYPE_INFO(::demo::TextListTabPageConstructor)
+ ADD_TYPE_INFO(::demo::TreeViewTabPage)
+ ADD_TYPE_INFO(::demo::TreeViewTabPageConstructor)
+ }
+
+ void Unload(ITypeManager* manager)
+ {
+ }
+ };
+#endif
+
+ bool LoadDemoTypes()
+ {
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ if (auto manager = GetGlobalTypeManager())
+ {
+ return manager->AddTypeLoader(MakePtr());
+ }
+#endif
+ return false;
+ }
+ }
+ }
+}
+
+#if defined( _MSC_VER)
+#pragma warning(pop)
+#elif defined(__GNUC__)
+#pragma GCC diagnostic pop
+#elif defined(__clang__)
+#pragma clang diagnostic pop
+#endif
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Source/DemoPartialClasses.h b/Tutorial/GacUI_Controls/ListControls/UI/Source/DemoPartialClasses.h
new file mode 100644
index 00000000..23ce19c2
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/Source/DemoPartialClasses.h
@@ -0,0 +1,542 @@
+/***********************************************************************
+!!!!!! 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"
+#ifndef VCZH_DEBUG_NO_REFLECTION
+#include "GacUIReflection.h"
+#endif
+
+#if defined( _MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#elif defined(__GNUC__)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wparentheses-equality"
+#elif defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wparentheses-equality"
+#endif
+
+namespace vl_workflow_global
+{
+ struct __vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ struct __vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ 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 TextListTabPageConstructor;
+ class TextListTabPage;
+ class TreeViewTabPageConstructor;
+ class TreeViewTabPage;
+ class MyTextItem;
+ class IViewModel;
+
+ class ListViewTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description
+ {
+ friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
+#endif
+ protected:
+ ::demo::ListViewTabPage* self = static_cast<::demo::ListViewTabPage*>(nullptr);
+ ::vl::presentation::controls::GuiComboBoxListControl* comboView = static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr);
+ ::vl::presentation::controls::GuiListView* listView = static_cast<::vl::presentation::controls::GuiListView*>(nullptr);
+ ::vl::presentation::controls::GuiBindableListView* bindableListView = static_cast<::vl::presentation::controls::GuiBindableListView*>(nullptr);
+ ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiTextList* __vwsn_precompile_2 = static_cast<::vl::presentation::controls::GuiTextList*>(nullptr);
+ ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>();
+ ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>();
+ ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>();
+ ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>();
+ ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>();
+ ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>();
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_9 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_10 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>();
+ ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>();
+ ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>();
+ ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>();
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_15 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_17 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>();
+ ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_18 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>();
+ ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_19 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>();
+ ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_20 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>();
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_21 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ void __vwsn_initialize_instance_(::demo::ListViewTabPage* __vwsn_this_);
+ public:
+ ListViewTabPageConstructor();
+ };
+
+ class ListViewTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::ListViewTabPageConstructor, public ::vl::reflection::Description
+ {
+ 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_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__;
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
+#endif
+ public:
+ ListViewTabPage();
+ void __vwsn_instance_ctor_();
+ ~ListViewTabPage();
+ };
+
+ class MainWindowConstructor : public ::vl::Object, public ::vl::reflection::Description
+ {
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
+#endif
+ protected:
+ ::vl::Ptr<::demo::IViewModel> ViewModel = ::vl::Ptr<::demo::IViewModel>();
+ ::demo::MainWindow* self = static_cast<::demo::MainWindow*>(nullptr);
+ ::vl::presentation::controls::GuiTab* __vwsn_precompile_0 = static_cast<::vl::presentation::controls::GuiTab*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::demo::TextListTabPage* __vwsn_precompile_2 = static_cast<::demo::TextListTabPage*>(nullptr);
+ ::demo::ListViewTabPage* __vwsn_precompile_3 = static_cast<::demo::ListViewTabPage*>(nullptr);
+ ::demo::TreeViewTabPage* __vwsn_precompile_4 = static_cast<::demo::TreeViewTabPage*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_5 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ void __vwsn_initialize_instance_(::demo::MainWindow* __vwsn_this_);
+ public:
+ MainWindowConstructor();
+ };
+
+ class MainWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::MainWindowConstructor, public ::vl::reflection::Description
+ {
+ friend class ::demo::MainWindowConstructor;
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
+#endif
+ public:
+ ::vl::Ptr<::demo::IViewModel> __vwsn_parameter_ViewModel = ::vl::Ptr<::demo::IViewModel>();
+ ::vl::Ptr<::demo::IViewModel> GetViewModel();
+ MainWindow(::vl::Ptr<::demo::IViewModel> __vwsn_ctor_parameter_ViewModel);
+ ~MainWindow();
+ };
+
+ class TextListTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description
+ {
+ friend struct ::vl_workflow_global::__vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
+#endif
+ protected:
+ ::vl::Ptr<::demo::IViewModel> ViewModel = ::vl::Ptr<::demo::IViewModel>();
+ ::demo::TextListTabPage* self = static_cast<::demo::TextListTabPage*>(nullptr);
+ ::vl::presentation::controls::GuiComboBoxListControl* comboView = static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr);
+ ::vl::presentation::controls::GuiTextList* textList = static_cast<::vl::presentation::controls::GuiTextList*>(nullptr);
+ ::vl::presentation::controls::GuiBindableTextList* bindableTextList = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr);
+ ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiTextList* __vwsn_precompile_2 = static_cast<::vl::presentation::controls::GuiTextList*>(nullptr);
+ ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>();
+ ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>();
+ ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>();
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_6 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_7 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_8 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_9 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiStackComposition* __vwsn_precompile_10 = static_cast<::vl::presentation::compositions::GuiStackComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_12 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_13 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_14 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_15 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_17 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_18 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_19 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_20 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_21 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_22 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_23 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_24 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ void __vwsn_initialize_instance_(::demo::TextListTabPage* __vwsn_this_);
+ public:
+ TextListTabPageConstructor();
+ };
+
+ class TextListTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::TextListTabPageConstructor, public ::vl::reflection::Description
+ {
+ friend class ::demo::TextListTabPageConstructor;
+ friend struct ::vl_workflow_global::__vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__;
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
+#endif
+ public:
+ ::vl::vint32_t counter = static_cast<::vl::vint32_t>(0);
+ ::vl::Ptr<::demo::IViewModel> __vwsn_parameter_ViewModel = ::vl::Ptr<::demo::IViewModel>();
+ ::vl::Ptr<::demo::IViewModel> GetViewModel();
+ TextListTabPage(::vl::Ptr<::demo::IViewModel> __vwsn_ctor_parameter_ViewModel);
+ ~TextListTabPage();
+ };
+
+ class TreeViewTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description
+ {
+ friend struct ::vl_workflow_global::__vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__;
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
+#endif
+ protected:
+ ::demo::TreeViewTabPage* self = static_cast<::demo::TreeViewTabPage*>(nullptr);
+ ::vl::presentation::controls::GuiTreeView* treeView = static_cast<::vl::presentation::controls::GuiTreeView*>(nullptr);
+ ::vl::presentation::controls::GuiBindableTreeView* bindableTreeView = static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr);
+ ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_9 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_10 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_15 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_16 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_17 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_18 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_19 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_20 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_21 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_22 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_23 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_24 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_25 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_26 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_27 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_28 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_29 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_30 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_31 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_32 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_33 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_34 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_35 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_36 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_37 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_38 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_39 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_40 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_41 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_42 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_43 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_44 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_45 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_46 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_47 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_48 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_49 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ void __vwsn_initialize_instance_(::demo::TreeViewTabPage* __vwsn_this_);
+ public:
+ TreeViewTabPageConstructor();
+ };
+
+ class TreeViewTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::TreeViewTabPageConstructor, public ::vl::reflection::Description
+ {
+ friend class ::demo::TreeViewTabPageConstructor;
+ friend struct ::vl_workflow_global::__vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__;
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
+#endif
+ public:
+ ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> nodesToBind = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>();
+ TreeViewTabPage();
+ void __vwsn_instance_ctor_();
+ ~TreeViewTabPage();
+ };
+
+ class MyTextItem : public ::vl::Object, public ::vl::reflection::Description
+ {
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
+#endif
+ public:
+ ::vl::WString __vwsn_prop_Name = ::vl::WString(L"", false);
+ ::vl::WString GetName();
+ void SetName(const ::vl::WString& __vwsn_value_);
+ bool __vwsn_prop_Checked = false;
+ bool GetChecked();
+ void SetChecked(bool __vwsn_value_);
+ MyTextItem();
+ };
+
+ class IViewModel : public virtual ::vl::reflection::IDescriptable, public ::vl::reflection::Description
+ {
+#ifndef VCZH_DEBUG_NO_REFLECTION
+ friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
+#endif
+ public:
+ virtual ::vl::Ptr<::vl::reflection::description::IValueObservableList> GetTextItems() = 0;
+ virtual void AddTextItem(::vl::Ptr<::demo::MyTextItem> item) = 0;
+ virtual void RemoveTextItem(::vl::vint32_t index) = 0;
+ virtual void ClearTextItems() = 0;
+ };
+
+}
+/***********************************************************************
+Global Variables and Functions
+***********************************************************************/
+
+namespace vl_workflow_global
+{
+ class Demo
+ {
+ public:
+
+ void LoadListView(::vl::presentation::controls::GuiInstanceRootObject* root, const ::vl::Func)>& callback);
+
+ static Demo& Instance();
+ };
+
+/***********************************************************************
+Closures
+***********************************************************************/
+
+ struct __vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::TextListTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf10_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::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_initialize_instance__
+ {
+ ::demo::TextListTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf11_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0);
+
+ ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
+ };
+
+ struct __vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::TextListTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf12_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::TextListTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf13_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::TextListTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf14_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::TextListTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf15_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::TextListTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf16_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::TreeViewTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf17_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::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_initialize_instance__
+ {
+ ::demo::TreeViewTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf18_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0);
+
+ ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
+ };
+
+ struct __vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::TreeViewTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf19_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0);
+
+ ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
+ };
+
+ struct __vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::ListViewTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf1_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);
+
+ ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
+ };
+
+ struct __vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::ListViewTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf2_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);
+
+ ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
+ };
+
+ struct __vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::ListViewTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf3_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);
+
+ ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
+ };
+
+ struct __vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::ListViewTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf4_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);
+
+ ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
+ };
+
+ struct __vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::ListViewTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf5_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);
+
+ ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
+ };
+
+ struct __vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::ListViewTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf6_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0);
+
+ ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
+ };
+
+ struct __vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__
+ {
+ ::demo::ListViewTabPageConstructor* __vwsnthis_0;
+
+ __vwsnf7_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::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::IValueList> itemsToBind;
+ ::demo::ListViewTabPage* __vwsnthis_0;
+
+ __vwsnf9_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(::vl::Ptr<::vl::reflection::description::IValueList> __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(__GNUC__)
+#pragma GCC diagnostic pop
+#elif defined(__clang__)
+#pragma clang diagnostic pop
+#endif
+
+#endif
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/TextListTabPage.xml b/Tutorial/GacUI_Controls/ListControls/UI/TextListTabPage.xml
new file mode 100644
index 00000000..9e23ab97
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/TextListTabPage.xml
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+ <_>composeType:MinSize
+ <_>composeType:Percentage percentage:1.0
+
+
+ <_>composeType:Percentage percentage:0.5
+ <_>composeType:MinSize
+ <_>composeType:Percentage percentage:0.5
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+ ViewModel.TextItems
+ Name
+ Checked
+
+ |
+
+
+
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/ListControls/UI/TreeViewTabPage.xml b/Tutorial/GacUI_Controls/ListControls/UI/TreeViewTabPage.xml
new file mode 100644
index 00000000..d1db3485
--- /dev/null
+++ b/Tutorial/GacUI_Controls/ListControls/UI/TreeViewTabPage.xml
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+ <_>composeType:Percentage percentage:1.0
+
+
+ <_>composeType:Percentage percentage:0.5
+ <_>composeType:Percentage percentage:0.5
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+ (nodeToBind.Data as TreeViewItem^).text
+ (nodeToBind.Data as TreeViewItem^).image
+ Children
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Tutorial/GacUI_Controls/UIRes/ListControls.bin b/Tutorial/GacUI_Controls/UIRes/ListControls.bin
new file mode 100644
index 00000000..fb1d9885
Binary files /dev/null and b/Tutorial/GacUI_Controls/UIRes/ListControls.bin differ
diff --git a/Tutorial/GacUI_HelloWorlds/Codegen.bat b/Tutorial/GacUI_HelloWorlds/Codegen.bat
new file mode 100644
index 00000000..1594d19f
--- /dev/null
+++ b/Tutorial/GacUI_HelloWorlds/Codegen.bat
@@ -0,0 +1,9 @@
+pushd Xml\UI
+call Codegen.bat
+popd
+pushd CppXml\UI
+call Codegen.bat
+popd
+pushd MVVM\UI
+call Codegen.bat
+popd
\ No newline at end of file
diff --git a/Tutorial/GacUI_Layout/Codegen.bat b/Tutorial/GacUI_Layout/Codegen.bat
new file mode 100644
index 00000000..b94c0516
--- /dev/null
+++ b/Tutorial/GacUI_Layout/Codegen.bat
@@ -0,0 +1,18 @@
+pushd Alignment\UI
+call Codegen.bat
+popd
+pushd Stack\UI
+call Codegen.bat
+popd
+pushd Table\UI
+call Codegen.bat
+popd
+pushd TableSplitter\UI
+call Codegen.bat
+popd
+pushd Flow\UI
+call Codegen.bat
+popd
+pushd RichTextEmbedding\UI
+call Codegen.bat
+popd
\ No newline at end of file
diff --git a/Tutorial/GacUI_Xml/Codegen.bat b/Tutorial/GacUI_Xml/Codegen.bat
new file mode 100644
index 00000000..f040823c
--- /dev/null
+++ b/Tutorial/GacUI_Xml/Codegen.bat
@@ -0,0 +1,42 @@
+pushd Instance_Window\UI
+call Codegen.bat
+popd
+pushd Instance_MultipleWindows\UI
+call Codegen.bat
+popd
+pushd Instance_Control\UI
+call Codegen.bat
+popd
+pushd Binding_Uri\UI
+call Codegen.bat
+popd
+pushd Binding_Eval\UI
+call Codegen.bat
+popd
+pushd Binding_Bind\UI
+call Codegen.bat
+popd
+pushd Binding_Format\UI
+call Codegen.bat
+popd
+pushd Binding_ViewModel\UI
+call Codegen.bat
+popd
+pushd Event_Cpp\UI
+call Codegen.bat
+popd
+pushd Event_Script\UI
+call Codegen.bat
+popd
+pushd Event_ViewModel\UI
+call Codegen.bat
+popd
+pushd Member_Field\UI
+call Codegen.bat
+popd
+pushd Member_Property\UI
+call Codegen.bat
+popd
+pushd Member_Parameter\UI
+call Codegen.bat
+popd
\ No newline at end of file