From fb56a80caa330b3e251d48d78c1d76204a1ecc08 Mon Sep 17 00:00:00 2001 From: vczh Date: Wed, 22 Mar 2023 00:33:27 -0700 Subject: [PATCH] Finished! --- Tutorial/GacUI_Controls/ColorPicker2/Main.cpp | 50 ++++++++++-------- .../ColorPicker2/UI/Resource.xml | 14 +++++ .../UI/Source/DemoPartialClasses.cpp | 52 +++++++++++++++---- .../UI/Source/DemoPartialClasses.h | 42 ++++++++++++--- .../ColorPicker2/UI/Source/DemoReflection.cpp | 3 ++ .../ColorPicker2/UI/Source/DemoReflection.h | 4 ++ 6 files changed, 125 insertions(+), 40 deletions(-) diff --git a/Tutorial/GacUI_Controls/ColorPicker2/Main.cpp b/Tutorial/GacUI_Controls/ColorPicker2/Main.cpp index 85e7bb24..58dccbf6 100644 --- a/Tutorial/GacUI_Controls/ColorPicker2/Main.cpp +++ b/Tutorial/GacUI_Controls/ColorPicker2/Main.cpp @@ -7,12 +7,14 @@ using namespace vl::stream; class ColorItem : public Object, public demo::IColorItem { protected: + demo::IViewModel* viewModel = nullptr; WString name; Color color; public: - ColorItem(WString _name, WString _color) - :name(_name) + ColorItem(demo::IViewModel* _viewModel, WString _name, WString _color) + : viewModel(_viewModel) + , name(_name) , color(Color::Parse(_color)) { } @@ -26,6 +28,11 @@ public: { return color; } + + Ptr GetViewModel()override + { + return Ptr(viewModel); + } }; class ViewModel : public Object, public demo::IViewModel @@ -37,22 +44,22 @@ protected: public: ViewModel() { - items.Add(Ptr(new ColorItem(L"Black", L"#000000"))); - items.Add(Ptr(new ColorItem(L"Maroon", L"#800000"))); - items.Add(Ptr(new ColorItem(L"Green", L"#008000"))); - items.Add(Ptr(new ColorItem(L"Olive", L"#808000"))); - items.Add(Ptr(new ColorItem(L"Navy", L"#000080"))); - items.Add(Ptr(new ColorItem(L"Purble", L"#800080"))); - items.Add(Ptr(new ColorItem(L"Teal", L"#008080"))); - items.Add(Ptr(new ColorItem(L"Silver", L"#C0C0C0"))); - items.Add(Ptr(new ColorItem(L"Gray", L"#808080"))); - items.Add(Ptr(new ColorItem(L"Red", L"#FF0000"))); - items.Add(Ptr(new ColorItem(L"Lime", L"#00FF00"))); - items.Add(Ptr(new ColorItem(L"Yellow", L"#FFFF00"))); - items.Add(Ptr(new ColorItem(L"Blue", L"#0000FF"))); - items.Add(Ptr(new ColorItem(L"Fuchsia", L"#FF00FF"))); - items.Add(Ptr(new ColorItem(L"Aqua", L"#00FFFF"))); - items.Add(Ptr(new ColorItem(L"White", L"#FFFFFF"))); + items.Add(Ptr(new ColorItem(this, L"Black", L"#000000"))); + items.Add(Ptr(new ColorItem(this, L"Maroon", L"#800000"))); + items.Add(Ptr(new ColorItem(this, L"Green", L"#008000"))); + items.Add(Ptr(new ColorItem(this, L"Olive", L"#808000"))); + items.Add(Ptr(new ColorItem(this, L"Navy", L"#000080"))); + items.Add(Ptr(new ColorItem(this, L"Purble", L"#800080"))); + items.Add(Ptr(new ColorItem(this, L"Teal", L"#008080"))); + items.Add(Ptr(new ColorItem(this, L"Silver", L"#C0C0C0"))); + items.Add(Ptr(new ColorItem(this, L"Gray", L"#808080"))); + items.Add(Ptr(new ColorItem(this, L"Red", L"#FF0000"))); + items.Add(Ptr(new ColorItem(this, L"Lime", L"#00FF00"))); + items.Add(Ptr(new ColorItem(this, L"Yellow", L"#FFFF00"))); + items.Add(Ptr(new ColorItem(this, L"Blue", L"#0000FF"))); + items.Add(Ptr(new ColorItem(this, L"Fuchsia", L"#FF00FF"))); + items.Add(Ptr(new ColorItem(this, L"Aqua", L"#00FFFF"))); + items.Add(Ptr(new ColorItem(this, L"White", L"#FFFFFF"))); } Color GetSelectedColor()override @@ -62,11 +69,8 @@ public: void SetSelectedColor(Color value)override { - if (selectedColor != value) - { - selectedColor = value; - SelectedColorChanged(); - } + selectedColor = value; + SelectedColorChanged(); } LazyList> GetColorItems()override diff --git a/Tutorial/GacUI_Controls/ColorPicker2/UI/Resource.xml b/Tutorial/GacUI_Controls/ColorPicker2/UI/Resource.xml index 09c7d799..d00cb07b 100644 --- a/Tutorial/GacUI_Controls/ColorPicker2/UI/Resource.xml +++ b/Tutorial/GacUI_Controls/ColorPicker2/UI/Resource.xml @@ -23,6 +23,7 @@ { prop ItemName : string {const, not observe} prop ItemColor : Color {const, not observe} + prop ViewModel : IViewModel^ {const, not observe} } interface IViewModel @@ -40,6 +41,13 @@ + + + @@ -107,6 +115,12 @@
+ + diff --git a/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoPartialClasses.cpp index f310eadf..53b2c8e8 100644 --- a/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoPartialClasses.cpp +++ b/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoPartialClasses.cpp @@ -74,12 +74,24 @@ Closures //------------------------------------------------------------------- - __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0) + __vwsnf2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_::__vwsnf2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_(::demo::ColorBomboItemTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - ::vl::presentation::templates::GuiTemplate* __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + void __vwsnf2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->GetViewModel().Obj())->SetSelectedColor(::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->GetItemColor()); + } + + //------------------------------------------------------------------- + + __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)) + { + } + + ::vl::presentation::templates::GuiTemplate* __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { { if ([&](){ auto __vwsn_temp__ = __vwsn_viewModel_; return __vwsn_temp__.GetSharedPtr() && ::vl::__vwsn::RawPtrCast<::demo::IColorItem>(__vwsn_temp__.GetRawPtr()) != nullptr; }()) @@ -92,12 +104,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->__vwsn_precompile_11.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -110,6 +122,18 @@ Closures //------------------------------------------------------------------- + __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 __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()() const + { + ::vl::__vwsn::This(__vwsnthis_0->comboColor)->SetSubMenuOpening(false); + } + + //------------------------------------------------------------------- + __vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize__vl_reflection_description_IValueSubscription(::demo::ColorBomboItemTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -332,6 +356,10 @@ namespace demo ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_1)->Clicked, __vwsn_event_handler_); + } } ColorBomboItemTemplateConstructor::ColorBomboItemTemplateConstructor() @@ -388,13 +416,14 @@ Class (::demo::MainWindowConstructor) { (this->__vwsn_precompile_0 = __vwsn_this_); (this->ViewModel = ::vl::__vwsn::This(__vwsn_this_)->GetViewModel()); - (this->__vwsn_precompile_12 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetContainerComposition()); + (this->__vwsn_precompile_13 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetContainerComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(360); __vwsn_temp__.y = static_cast<::vl::vint>(120); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(360); __vwsn_temp__.y = static_cast<::vl::vint>(120); return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(360); __vwsn_temp__.y = static_cast<::vl::vint>(120); return __vwsn_temp__; }()); } + (this->__vwsn_precompile_12 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetViewModel()); { ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetText(::vl::WString::Unmanaged(L"ColorPicker2")); } @@ -448,7 +477,7 @@ Class (::demo::MainWindowConstructor) } (this->__vwsn_precompile_7 = new ::vl::presentation::compositions::GuiRepeatFlowComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetItemTemplate(vl::Func(::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this))); + ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetItemTemplate(vl::Func(::vl_workflow_global::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this))); } { ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetColumnPadding(static_cast<::vl::vint>(2)); @@ -507,9 +536,13 @@ Class (::demo::MainWindowConstructor) } { 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::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(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_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SelectedColorChanged, __vwsn_event_handler_); + } } MainWindowConstructor::MainWindowConstructor() @@ -527,7 +560,8 @@ Class (::demo::MainWindowConstructor) , __vwsn_precompile_9(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr)) , __vwsn_precompile_10(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) , __vwsn_precompile_11(::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement>()) - , __vwsn_precompile_12(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr)) + , __vwsn_precompile_12(::vl::Ptr<::demo::IViewModel>()) + , __vwsn_precompile_13(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr)) { } diff --git a/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoPartialClasses.h b/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoPartialClasses.h index 6f74924d..5d69d0e3 100644 --- a/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoPartialClasses.h +++ b/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoPartialClasses.h @@ -25,8 +25,10 @@ https://github.com/vczh-libraries namespace vl_workflow_global { struct __vwsnf1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_; - struct __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_; + struct __vwsnf2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_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_; class __vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription; } @@ -44,6 +46,7 @@ namespace demo { friend class ::vl_workflow_global::__vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize__vl_reflection_description_IValueSubscription; friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -68,6 +71,7 @@ namespace demo friend class ::demo::ColorBomboItemTemplateConstructor; friend class ::vl_workflow_global::__vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize__vl_reflection_description_IValueSubscription; friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -86,6 +90,7 @@ namespace demo public: virtual ::vl::WString GetItemName() = 0; virtual ::vl::presentation::Color GetItemColor() = 0; + virtual ::vl::Ptr<::demo::IViewModel> GetViewModel() = 0; }; class IViewModel : public virtual ::vl::reflection::IDescriptable, public ::vl::reflection::Description @@ -103,8 +108,9 @@ namespace demo class MainWindowConstructor : public ::vl::Object, public ::vl::reflection::Description { friend class ::vl_workflow_global::__vwsnc2_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_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -123,7 +129,8 @@ namespace demo ::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_9; ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_10; ::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement> __vwsn_precompile_11; - ::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_12; + ::vl::Ptr<::demo::IViewModel> __vwsn_precompile_12; + ::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_13; void __vwsn_demo_MainWindow_Initialize(::demo::MainWindow* __vwsn_this_); public: MainWindowConstructor(); @@ -133,8 +140,9 @@ namespace demo { friend class ::demo::MainWindowConstructor; friend class ::vl_workflow_global::__vwsnc2_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_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -172,13 +180,13 @@ Closures void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_ + struct __vwsnf2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_ { - ::demo::MainWindowConstructor* __vwsnthis_0; + ::demo::ColorBomboItemTemplateConstructor* __vwsnthis_0; - __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0); + __vwsnf2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize_(::demo::ColorBomboItemTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; struct __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_ @@ -187,9 +195,27 @@ Closures __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0); + ::vl::presentation::templates::GuiTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + }; + + struct __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0); + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; + struct __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()() const; + }; + class __vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_demo_ColorBomboItemTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: diff --git a/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoReflection.cpp b/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoReflection.cpp index f19569ea..e3f67714 100644 --- a/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoReflection.cpp +++ b/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoReflection.cpp @@ -68,8 +68,10 @@ namespace vl CLASS_MEMBER_BASE(::vl::reflection::IDescriptable) CLASS_MEMBER_METHOD(GetItemColor, NO_PARAMETER) CLASS_MEMBER_METHOD(GetItemName, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY(ItemColor, GetItemColor) CLASS_MEMBER_PROPERTY_READONLY(ItemName, GetItemName) + CLASS_MEMBER_PROPERTY_READONLY(ViewModel, GetViewModel) END_INTERFACE_MEMBER(::demo::IColorItem) BEGIN_INTERFACE_MEMBER(::demo::IViewModel) @@ -100,6 +102,7 @@ namespace vl 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_2) CLASS_MEMBER_FIELD(__vwsn_precompile_3) CLASS_MEMBER_FIELD(__vwsn_precompile_4) diff --git a/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoReflection.h b/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoReflection.h index 153203e8..73dc9ac0 100644 --- a/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoReflection.h +++ b/Tutorial/GacUI_Controls/ColorPicker2/UI/Source/DemoReflection.h @@ -54,6 +54,10 @@ namespace vl { INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetItemName); } + ::vl::Ptr<::demo::IViewModel> GetViewModel() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetViewModel); + } END_INTERFACE_PROXY(::demo::IColorItem) BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::demo::IViewModel)