diff --git a/TODO.md b/TODO.md
index 968c26fa..4888d26b 100644
--- a/TODO.md
+++ b/TODO.md
@@ -12,7 +12,6 @@ See `TODO.md` in each repos.
- Reimplement C++ parser in vczh-libraries/Document using this project.
- Move all test cases to `BuiltIn_CppDoc`.
- Refactor vczh-libraries/Document to generate document using the new parser but skip the code index temporary.
-- Create a new repo `BuildTools` and adapt the release license instead of the development license.
- Revisit Hero DB (prolog is a bad idea, use a simple FPL with additional `query` syntax for querying)
## Ubuntu Development Environment
diff --git a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Resource.xml b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Resource.xml
index 35bf54b4..0b778ca4 100644
--- a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Resource.xml
+++ b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Resource.xml
@@ -36,6 +36,7 @@
+
diff --git a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoPartialClasses.cpp
index 86321e6e..8a2bcd60 100644
--- a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoPartialClasses.cpp
+++ b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoPartialClasses.cpp
@@ -56,12 +56,12 @@ Closures
//-------------------------------------------------------------------
- __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
}
- void __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
+ void __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
{
auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetMaximizedBox();
auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_);
@@ -74,12 +74,12 @@ Closures
//-------------------------------------------------------------------
- __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
}
- void __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
+ void __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
{
auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetMinimizedBox();
auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_);
@@ -92,12 +92,12 @@ Closures
//-------------------------------------------------------------------
- __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
}
- void __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
+ void __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
{
auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetBorder();
auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_);
@@ -110,12 +110,12 @@ Closures
//-------------------------------------------------------------------
- __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
}
- void __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
+ void __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
{
auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetSizeBox();
auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_);
@@ -128,12 +128,12 @@ Closures
//-------------------------------------------------------------------
- __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
}
- void __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
+ void __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
{
auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetIconVisible();
auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_);
@@ -146,12 +146,12 @@ Closures
//-------------------------------------------------------------------
- __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
}
- void __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
+ void __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
{
auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetTitleBar();
auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_);
@@ -177,6 +177,19 @@ Closures
//-------------------------------------------------------------------
+ __vwsno2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsno2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsn_this_(__vwsnctor___vwsn_this_)
+ , __vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsno2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const
+ {
+ return ::vl::__vwsn::This(__vwsn_this_)->buttonNewWindow_Clicked(__vwsno_1, __vwsno_2);
+ }
+
+ //-------------------------------------------------------------------
+
__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
@@ -683,6 +696,19 @@ namespace demo
{
::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_7));
}
+ (this->__vwsn_precompile_8 = new ::vl::presentation::compositions::GuiStackItemComposition());
+ {
+ (this->buttonNewWindow = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ {
+ ::vl::__vwsn::This(this->buttonNewWindow)->SetText(::vl::WString::Unmanaged(L"Open New Window"));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_8)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->buttonNewWindow)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_8));
+ }
{
::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0));
}
@@ -690,35 +716,38 @@ namespace demo
::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->checkFrame)->SelectedChanged, vl::Func(::vl_workflow_global::__vwsno1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(__vwsn_this_, this)));
}
{
- auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
- ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this)));
- ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->buttonNewWindow)->Clicked, vl::Func(::vl_workflow_global::__vwsno2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(__vwsn_this_, this)));
}
{
- auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
+ auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this)));
::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
}
{
- auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
+ auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this)));
::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
}
{
- auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
+ auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this)));
::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
}
{
- auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
+ auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this)));
::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
}
{
- auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
+ auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this)));
::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
}
+ {
+ auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this)));
+ ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
+ }
}
MainWindowConstructor::MainWindowConstructor()
@@ -730,6 +759,7 @@ namespace demo
, checkSizeBox(static_cast<::vl::presentation::controls::GuiSelectableButton*>(nullptr))
, checkIcon(static_cast<::vl::presentation::controls::GuiSelectableButton*>(nullptr))
, checkTitle(static_cast<::vl::presentation::controls::GuiSelectableButton*>(nullptr))
+ , buttonNewWindow(static_cast<::vl::presentation::controls::GuiButton*>(nullptr))
, __vwsn_precompile_0(static_cast<::vl::presentation::compositions::GuiStackComposition*>(nullptr))
, __vwsn_precompile_1(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr))
, __vwsn_precompile_2(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr))
@@ -738,6 +768,7 @@ namespace demo
, __vwsn_precompile_5(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr))
, __vwsn_precompile_6(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr))
, __vwsn_precompile_7(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr))
+ , __vwsn_precompile_8(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr))
{
}
diff --git a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoPartialClasses.h b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoPartialClasses.h
index 359f0436..6d97dbca 100644
--- a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoPartialClasses.h
+++ b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoPartialClasses.h
@@ -24,13 +24,14 @@ https://github.com/vczh-libraries
namespace vl_workflow_global
{
- struct __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
struct __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
struct __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
struct __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
struct __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
struct __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
+ struct __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
struct __vwsno1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
+ struct __vwsno2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
class __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription;
class __vwsnc2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription;
class __vwsnc3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription;
@@ -54,13 +55,14 @@ namespace demo
friend class ::vl_workflow_global::__vwsnc4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription;
- friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
+ friend struct ::vl_workflow_global::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsno1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
+ friend struct ::vl_workflow_global::__vwsno2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
#endif
@@ -73,6 +75,7 @@ namespace demo
::vl::presentation::controls::GuiSelectableButton* checkSizeBox;
::vl::presentation::controls::GuiSelectableButton* checkIcon;
::vl::presentation::controls::GuiSelectableButton* checkTitle;
+ ::vl::presentation::controls::GuiButton* buttonNewWindow;
::vl::presentation::compositions::GuiStackComposition* __vwsn_precompile_0;
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_1;
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_2;
@@ -81,6 +84,7 @@ namespace demo
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_5;
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_6;
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_7;
+ ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_8;
void __vwsn_demo_MainWindow_Initialize(::demo::MainWindow* __vwsn_this_);
public:
MainWindowConstructor();
@@ -129,15 +133,6 @@ namespace vl_workflow_global
Closures
***********************************************************************/
- struct __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_
- {
- ::demo::MainWindowConstructor* __vwsnthis_0;
-
- __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0);
-
- void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const;
- };
-
struct __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_
{
::demo::MainWindowConstructor* __vwsnthis_0;
@@ -183,6 +178,15 @@ Closures
void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const;
};
+ struct __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const;
+ };
+
struct __vwsno1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_
{
::demo::MainWindow* __vwsn_this_;
@@ -193,6 +197,16 @@ Closures
void operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const;
};
+ struct __vwsno2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_
+ {
+ ::demo::MainWindow* __vwsn_this_;
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsno2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const;
+ };
+
class __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
{
public:
diff --git a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoReflection.cpp b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoReflection.cpp
index 83b50743..77128ea9 100644
--- a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoReflection.cpp
+++ b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/DemoReflection.cpp
@@ -41,6 +41,7 @@ namespace vl
CLASS_MEMBER_BASE(::vl::presentation::controls::GuiWindow)
CLASS_MEMBER_BASE(::demo::MainWindowConstructor)
CLASS_MEMBER_CONSTRUCTOR(::demo::MainWindow*(), NO_PARAMETER)
+ CLASS_MEMBER_METHOD(buttonNewWindow_Clicked, { L"sender" _ L"arguments" })
CLASS_MEMBER_METHOD(checkFrame_SelectionChanged, { L"sender" _ L"arguments" })
END_CLASS_MEMBER(::demo::MainWindow)
@@ -56,6 +57,8 @@ namespace vl
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(buttonNewWindow)
CLASS_MEMBER_FIELD(checkBorder)
CLASS_MEMBER_FIELD(checkFrame)
CLASS_MEMBER_FIELD(checkIcon)
diff --git a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/MainWindow.cpp b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/MainWindow.cpp
index 90bcda6f..be6bd70d 100644
--- a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/MainWindow.cpp
+++ b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/MainWindow.cpp
@@ -56,6 +56,15 @@ namespace demo
}
}/* USER_CONTENT_END() */
+ void MainWindow::buttonNewWindow_Clicked(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments)
+ {/* USER_CONTENT_BEGIN(::demo::MainWindow) */
+ auto subWindow = vl::Ptr(new MainWindow);
+ subWindow->SetText(vl::reflection::description::Sys::LoremIpsumTitle(20));
+ subWindow->MoveToScreenCenter();
+ subWindow->ShowWithOwner(this);
+ openedWindows.Add(subWindow);
+ }/* USER_CONTENT_END() */
+
MainWindow::MainWindow()
: ::vl::presentation::controls::GuiWindow(::vl::presentation::theme::ThemeName::Window)
{
diff --git a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/MainWindow.h b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/MainWindow.h
index 23f0faa7..c8560453 100644
--- a/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/MainWindow.h
+++ b/Tutorial/GacUI_ControlTemplate/WindowSkin/UI/Source/MainWindow.h
@@ -33,23 +33,27 @@ namespace demo
friend class ::vl_workflow_global::__vwsnc4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription;
- friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
+ friend struct ::vl_workflow_global::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsno1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
+ friend struct ::vl_workflow_global::__vwsno2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_;
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
#endif
protected:
void checkFrame_SelectionChanged(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments);
+ void buttonNewWindow_Clicked(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments);
public:
MainWindow();
~MainWindow();
/* USER_CONTENT_BEGIN(custom members of ::demo::MainWindow) */
+ protected:
+ vl::collections::List> openedWindows;
/* USER_CONTENT_END() */
};
diff --git a/Tutorial/GacUI_ControlTemplate/WindowSkin/WindowSkin.vcxproj b/Tutorial/GacUI_ControlTemplate/WindowSkin/WindowSkin.vcxproj
index ed5ee361..2f12da30 100644
--- a/Tutorial/GacUI_ControlTemplate/WindowSkin/WindowSkin.vcxproj
+++ b/Tutorial/GacUI_ControlTemplate/WindowSkin/WindowSkin.vcxproj
@@ -161,6 +161,9 @@
+
+
+
diff --git a/Tutorial/GacUI_ControlTemplate/WindowSkin/WindowSkin.vcxproj.filters b/Tutorial/GacUI_ControlTemplate/WindowSkin/WindowSkin.vcxproj.filters
index ed4cb16f..01a7a037 100644
--- a/Tutorial/GacUI_ControlTemplate/WindowSkin/WindowSkin.vcxproj.filters
+++ b/Tutorial/GacUI_ControlTemplate/WindowSkin/WindowSkin.vcxproj.filters
@@ -39,4 +39,9 @@
UI
+
+
+ Resource Files
+
+
\ No newline at end of file