From 9c91710e2dd9e93ac96568a11b12024b0812ab58 Mon Sep 17 00:00:00 2001 From: vczh Date: Mon, 25 Aug 2025 22:28:27 -0700 Subject: [PATCH] Win11ToolstripMenu to use new virtual control: `ToolstripToolBarInMenu`, `ToolstripSplitterInMenu` --- .../UIRes/Win11ToolstripMenu.bin | Bin 37326 -> 37282 bytes .../Win11ToolstripMenu/UI/Resource.xml | 11 +- .../UI/Source/DemoPartialClasses.cpp | 142 ++++++------------ .../UI/Source/DemoPartialClasses.h | 54 ++----- .../UI/Source/DemoReflection.cpp | 18 +-- .../UI/Source/DemoReflection.h | 2 - 6 files changed, 62 insertions(+), 165 deletions(-) diff --git a/Tutorial/GacUI_Controls/UIRes/Win11ToolstripMenu.bin b/Tutorial/GacUI_Controls/UIRes/Win11ToolstripMenu.bin index 9ffc0fd69e464ffbcfb5592da372ae39d51506f1..2955e4f27acc078b3b50369391a267629bb34165 100644 GIT binary patch delta 24 acmX@Nm}${srVV8i85t*+PgLe$fC2z+v<5l= delta 68 zcmZ3qnCaYNrVV8i8JQ-RPgFKhV1NJ+osycHZ)N41npYZ(^b diff --git a/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Resource.xml b/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Resource.xml index 76eb1350..23f2cac6 100644 --- a/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Resource.xml +++ b/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Resource.xml @@ -10,12 +10,6 @@ ../../../GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/ToolbarImages/Images.xml - - - - - - @@ -32,12 +26,13 @@ - + + - + diff --git a/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoPartialClasses.cpp index 9437d44a..b5fd1253 100644 --- a/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoPartialClasses.cpp +++ b/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoPartialClasses.cpp @@ -61,21 +61,7 @@ Closures { } - ::vl::presentation::templates::GuiControlTemplate* __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::demo::MenuToolBarControlTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::__vwsnf2_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()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiMouseEventArgs* arguments) const + void __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiMouseEventArgs* arguments) const { auto b = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetContainerComposition())->GetGlobalBounds(); auto p = [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = (::vl::__vwsn::This(arguments)->x + b.x1); __vwsn_temp__.y = (::vl::__vwsn::This(arguments)->y + b.y1); return __vwsn_temp__; }(); @@ -92,9 +78,9 @@ namespace demo void MainWindowConstructor::__vwsn_demo_MainWindow_Initialize(::demo::MainWindow* __vwsn_this_) { (this->self = __vwsn_this_); - (this->__vwsn_precompile_16 = ::vl::__vwsn::This(this->self)->GetContainerComposition()); + (this->__vwsn_precompile_17 = ::vl::__vwsn::This(this->self)->GetContainerComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(320); __vwsn_temp__.y = static_cast<::vl::vint>(240); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(320); __vwsn_temp__.y = static_cast<::vl::vint>(240); return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(640); __vwsn_temp__.y = static_cast<::vl::vint>(480); return __vwsn_temp__; }()); @@ -200,10 +186,7 @@ namespace demo (this->__vwsn_precompile_1 = new ::vl::presentation::controls::GuiToolstripGroup(::vl::presentation::theme::ThemeName::CustomControl)); } { - (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiToolstripToolBar(::vl::presentation::theme::ThemeName::ToolstripToolBar)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetControlTemplate(vl::Func(::vl_workflow_global::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this))); + (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiToolstripToolBar(::vl::presentation::theme::ThemeName::ToolstripToolBarInMenu)); } { (this->__vwsn_precompile_3 = new ::vl::presentation::controls::GuiToolstripButton(::vl::presentation::theme::ThemeName::ToolstripButton)); @@ -224,11 +207,17 @@ namespace demo ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); } { - (this->__vwsn_precompile_6 = new ::vl::presentation::controls::GuiToolstripButton(::vl::presentation::theme::ThemeName::ToolstripButton)); + (this->__vwsn_precompile_6 = new ::vl::presentation::controls::GuiControl(::vl::presentation::theme::ThemeName::ToolstripSplitterInMenu)); } { ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6)); } + { + (this->__vwsn_precompile_7 = new ::vl::presentation::controls::GuiToolstripButton(::vl::presentation::theme::ThemeName::ToolstripButton)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); + } { ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_1)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_2)); } @@ -236,46 +225,46 @@ namespace demo ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_1)); } { - (this->__vwsn_precompile_7 = new ::vl::presentation::controls::GuiToolstripGroup(::vl::presentation::theme::ThemeName::CustomControl)); - } - { - (this->__vwsn_precompile_8 = new ::vl::presentation::controls::GuiToolstripButton(::vl::presentation::theme::ThemeName::MenuItemButton)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_7)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); + (this->__vwsn_precompile_8 = new ::vl::presentation::controls::GuiToolstripGroup(::vl::presentation::theme::ThemeName::CustomControl)); } { (this->__vwsn_precompile_9 = new ::vl::presentation::controls::GuiToolstripButton(::vl::presentation::theme::ThemeName::MenuItemButton)); } { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_7)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_9)); + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_8)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_9)); } { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); + (this->__vwsn_precompile_10 = new ::vl::presentation::controls::GuiToolstripButton(::vl::presentation::theme::ThemeName::MenuItemButton)); } { - (this->__vwsn_precompile_10 = new ::vl::presentation::controls::GuiToolstripGroup(::vl::presentation::theme::ThemeName::CustomControl)); + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_8)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_10)); } { - (this->__vwsn_precompile_11 = new ::vl::presentation::controls::GuiToolstripButton(::vl::presentation::theme::ThemeName::MenuItemButton)); + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); } { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_10)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_11)); + (this->__vwsn_precompile_11 = new ::vl::presentation::controls::GuiToolstripGroup(::vl::presentation::theme::ThemeName::CustomControl)); } { (this->__vwsn_precompile_12 = new ::vl::presentation::controls::GuiToolstripButton(::vl::presentation::theme::ThemeName::MenuItemButton)); } { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_10)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_12)); + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_12)); } { (this->__vwsn_precompile_13 = new ::vl::presentation::controls::GuiToolstripButton(::vl::presentation::theme::ThemeName::MenuItemButton)); } { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_10)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13)); + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13)); } { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_10)); + (this->__vwsn_precompile_14 = new ::vl::presentation::controls::GuiToolstripButton(::vl::presentation::theme::ThemeName::MenuItemButton)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_14)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_11)); } { ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->menuEdit)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_0)); @@ -284,20 +273,20 @@ namespace demo ::vl::__vwsn::This(this->self)->AddControlHostComponent(static_cast<::vl::presentation::controls::GuiControlHost*>(this->menuEdit)); } { - (this->__vwsn_precompile_14 = new ::vl::presentation::controls::GuiLabel(::vl::presentation::theme::ThemeName::Label)); + (this->__vwsn_precompile_15 = new ::vl::presentation::controls::GuiLabel(::vl::presentation::theme::ThemeName::Label)); } - (this->__vwsn_precompile_15 = ::vl::__vwsn::This(this->__vwsn_precompile_14)->GetBoundsComposition()); + (this->__vwsn_precompile_16 = ::vl::__vwsn::This(this->__vwsn_precompile_15)->GetBoundsComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); } { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetFont(::vl::Nullable<::vl::presentation::FontProperties>([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString::Unmanaged(L"Segoe UI"); __vwsn_temp__.size = static_cast<::vl::vint>(24); return __vwsn_temp__; }())); + ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetFont(::vl::Nullable<::vl::presentation::FontProperties>([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString::Unmanaged(L"Segoe UI"); __vwsn_temp__.size = static_cast<::vl::vint>(24); return __vwsn_temp__; }())); } { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetText(::vl::WString::Unmanaged(L"Right click to show the menu")); + ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetText(::vl::WString::Unmanaged(L"Right click to show the menu")); } { - ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_14)); + ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_15)); } { ::vl::__vwsn::This(this->commandCut)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"Images/Cut"), true).Obj()))); @@ -336,26 +325,26 @@ namespace demo ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetCommand(this->commandPaste); } { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetCommand(this->commandDelete); + ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetCommand(this->commandDelete); } { - ::vl::__vwsn::This(this->__vwsn_precompile_8)->SetCommand(this->commandUndo); + ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetCommand(this->commandUndo); } { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetCommand(this->commandRedo); + ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetCommand(this->commandRedo); } { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetCommand(this->commandExportPrivate); + ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetCommand(this->commandExportPrivate); } { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetCommand(this->commandExportRtf); + ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetCommand(this->commandExportRtf); } { - ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetCommand(this->commandExportHtml); + ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetCommand(this->commandExportHtml); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_16)->GetEventReceiver()->rightButtonDown, __vwsn_event_handler_); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_17)->GetEventReceiver()->rightButtonDown, __vwsn_event_handler_); } } @@ -377,17 +366,18 @@ namespace demo , __vwsn_precompile_3(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) , __vwsn_precompile_4(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) , __vwsn_precompile_5(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) - , __vwsn_precompile_6(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) - , __vwsn_precompile_7(static_cast<::vl::presentation::controls::GuiToolstripGroup*>(nullptr)) - , __vwsn_precompile_8(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) + , __vwsn_precompile_6(static_cast<::vl::presentation::controls::GuiControl*>(nullptr)) + , __vwsn_precompile_7(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) + , __vwsn_precompile_8(static_cast<::vl::presentation::controls::GuiToolstripGroup*>(nullptr)) , __vwsn_precompile_9(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) - , __vwsn_precompile_10(static_cast<::vl::presentation::controls::GuiToolstripGroup*>(nullptr)) - , __vwsn_precompile_11(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) + , __vwsn_precompile_10(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) + , __vwsn_precompile_11(static_cast<::vl::presentation::controls::GuiToolstripGroup*>(nullptr)) , __vwsn_precompile_12(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) , __vwsn_precompile_13(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) - , __vwsn_precompile_14(static_cast<::vl::presentation::controls::GuiLabel*>(nullptr)) - , __vwsn_precompile_15(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_16(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr)) + , __vwsn_precompile_14(static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr)) + , __vwsn_precompile_15(static_cast<::vl::presentation::controls::GuiLabel*>(nullptr)) + , __vwsn_precompile_16(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_17(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr)) { } @@ -409,40 +399,6 @@ Class (::demo::MainWindow) this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiControlHost*>(this)); } -/*********************************************************************** -Class (::demo::MenuToolBarControlTemplateConstructor) -***********************************************************************/ - - void MenuToolBarControlTemplateConstructor::__vwsn_demo_MenuToolBarControlTemplate_Initialize(::demo::MenuToolBarControlTemplate* __vwsn_this_) - { - (this->__vwsn_precompile_0 = __vwsn_this_); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - } - - MenuToolBarControlTemplateConstructor::MenuToolBarControlTemplateConstructor() - : __vwsn_precompile_0(static_cast<::demo::MenuToolBarControlTemplate*>(nullptr)) - { - } - -/*********************************************************************** -Class (::demo::MenuToolBarControlTemplate) -***********************************************************************/ - - MenuToolBarControlTemplate::MenuToolBarControlTemplate() - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString::Unmanaged(L"demo::MenuToolBarControlTemplate")); - 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_demo_MenuToolBarControlTemplate_Initialize(this); - } - - MenuToolBarControlTemplate::~MenuToolBarControlTemplate() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - } #undef GLOBAL_SYMBOL #undef GLOBAL_NAME diff --git a/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoPartialClasses.h b/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoPartialClasses.h index 7de2052f..b677b87a 100644 --- a/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoPartialClasses.h +++ b/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoPartialClasses.h @@ -25,20 +25,16 @@ https://github.com/vczh-libraries namespace vl_workflow_global { struct __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_; - struct __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_; } namespace demo { class MainWindowConstructor; class MainWindow; - class MenuToolBarControlTemplateConstructor; - class MenuToolBarControlTemplate; class MainWindowConstructor : public ::vl::Object, public ::vl::reflection::Description { friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_; - friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -60,17 +56,18 @@ namespace demo ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_3; ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_4; ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_5; - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_6; - ::vl::presentation::controls::GuiToolstripGroup* __vwsn_precompile_7; - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_8; + ::vl::presentation::controls::GuiControl* __vwsn_precompile_6; + ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_7; + ::vl::presentation::controls::GuiToolstripGroup* __vwsn_precompile_8; ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_9; - ::vl::presentation::controls::GuiToolstripGroup* __vwsn_precompile_10; - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_11; + ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_10; + ::vl::presentation::controls::GuiToolstripGroup* __vwsn_precompile_11; ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_12; ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_13; - ::vl::presentation::controls::GuiLabel* __vwsn_precompile_14; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_15; - ::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_16; + ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_14; + ::vl::presentation::controls::GuiLabel* __vwsn_precompile_15; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_16; + ::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_17; void __vwsn_demo_MainWindow_Initialize(::demo::MainWindow* __vwsn_this_); public: MainWindowConstructor(); @@ -80,7 +77,6 @@ namespace demo { friend class ::demo::MainWindowConstructor; friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_; - friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -89,29 +85,6 @@ namespace demo ~MainWindow(); }; - class MenuToolBarControlTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description - { -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::MenuToolBarControlTemplate* __vwsn_precompile_0; - void __vwsn_demo_MenuToolBarControlTemplate_Initialize(::demo::MenuToolBarControlTemplate* __vwsn_this_); - public: - MenuToolBarControlTemplateConstructor(); - }; - - class MenuToolBarControlTemplate : public ::vl::presentation::templates::GuiControlTemplate, public ::demo::MenuToolBarControlTemplateConstructor, public ::vl::reflection::Description - { - friend class ::demo::MenuToolBarControlTemplateConstructor; -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - MenuToolBarControlTemplate(); - ~MenuToolBarControlTemplate(); - }; - } /*********************************************************************** Global Variables and Functions @@ -136,15 +109,6 @@ Closures __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(::demo::MainWindowConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - 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()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiMouseEventArgs* arguments) const; }; } diff --git a/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoReflection.cpp b/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoReflection.cpp index 2ca2e780..cc4c4a51 100644 --- a/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoReflection.cpp +++ b/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoReflection.cpp @@ -32,8 +32,6 @@ namespace vl #ifndef VCZH_DEBUG_NO_REFLECTION IMPL_CPP_TYPE_INFO(demo::MainWindow) IMPL_CPP_TYPE_INFO(demo::MainWindowConstructor) - IMPL_CPP_TYPE_INFO(demo::MenuToolBarControlTemplate) - IMPL_CPP_TYPE_INFO(demo::MenuToolBarControlTemplateConstructor) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA #define _ , @@ -56,6 +54,7 @@ namespace vl 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_2) CLASS_MEMBER_FIELD(__vwsn_precompile_3) CLASS_MEMBER_FIELD(__vwsn_precompile_4) @@ -77,19 +76,6 @@ namespace vl CLASS_MEMBER_FIELD(self) END_CLASS_MEMBER(::demo::MainWindowConstructor) - BEGIN_CLASS_MEMBER(::demo::MenuToolBarControlTemplate) - CLASS_MEMBER_BASE(::vl::presentation::templates::GuiControlTemplate) - CLASS_MEMBER_BASE(::demo::MenuToolBarControlTemplateConstructor) - CLASS_MEMBER_CONSTRUCTOR(::demo::MenuToolBarControlTemplate*(), NO_PARAMETER) - END_CLASS_MEMBER(::demo::MenuToolBarControlTemplate) - - BEGIN_CLASS_MEMBER(::demo::MenuToolBarControlTemplateConstructor) - CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MenuToolBarControlTemplateConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_demo_MenuToolBarControlTemplate_Initialize, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - END_CLASS_MEMBER(::demo::MenuToolBarControlTemplateConstructor) - #undef _ class DemoTypeLoader : public Object, public ITypeLoader { @@ -98,8 +84,6 @@ namespace vl { ADD_TYPE_INFO(::demo::MainWindow) ADD_TYPE_INFO(::demo::MainWindowConstructor) - ADD_TYPE_INFO(::demo::MenuToolBarControlTemplate) - ADD_TYPE_INFO(::demo::MenuToolBarControlTemplateConstructor) } void Unload(ITypeManager* manager) diff --git a/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoReflection.h b/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoReflection.h index 339435a3..8c1e0b5d 100644 --- a/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoReflection.h +++ b/Tutorial/GacUI_Controls/Win11ToolstripMenu/UI/Source/DemoReflection.h @@ -35,8 +35,6 @@ namespace vl #ifndef VCZH_DEBUG_NO_REFLECTION DECL_TYPE_INFO(::demo::MainWindow) DECL_TYPE_INFO(::demo::MainWindowConstructor) - DECL_TYPE_INFO(::demo::MenuToolBarControlTemplate) - DECL_TYPE_INFO(::demo::MenuToolBarControlTemplateConstructor) #endif extern bool LoadDemoTypes();