diff --git a/Tools/Executables/GacGen/Main.cpp b/Tools/Executables/GacGen/Main.cpp index 72e74e9f..7512eb83 100644 --- a/Tools/Executables/GacGen/Main.cpp +++ b/Tools/Executables/GacGen/Main.cpp @@ -1,5 +1,6 @@ #include "GacGen.h" +using namespace vl::collections; using namespace vl::filesystem; using namespace vl::presentation::controls; @@ -687,28 +688,40 @@ public: void Load()override { - const wchar_t* BINARY_NAME = nullptr; - switch (targetCpuArchitecture) - { - case GuiResourceCpuArchitecture::x86: - BINARY_NAME = L"Reflection32.bin"; - break; - case GuiResourceCpuArchitecture::x64: - BINARY_NAME = L"Reflection64.bin"; - break; - default:; - } FilePath exeFolder = FilePath(executablePath).GetFolder(); FilePath metadataFolder = exeFolder; + auto binaryName32 = WString::Unmanaged(L"Reflection32.bin"); + auto binaryName64 = WString::Unmanaged(L"Reflection64.bin"); { File metadataOverride = exeFolder / L"Metadata.txt"; if (metadataOverride.Exists()) { - auto path = metadataOverride.ReadAllTextByBom(); - metadataFolder = exeFolder / path; + List lines; + metadataOverride.ReadAllLinesByBom(lines); + if (lines.Count() < 3) + { + Console::WriteLine(L"Metadata.txt should contains 3 lines for , , ."); + CHECK_FAIL(L"Metadata.txt should contains 3 lines for , , ."); + } + metadataFolder = exeFolder / lines[0]; + binaryName32 = lines[1]; + binaryName64 = lines[2]; } } + + const wchar_t* BINARY_NAME = nullptr; + switch (targetCpuArchitecture) + { + case GuiResourceCpuArchitecture::x86: + BINARY_NAME = binaryName32.Buffer(); + break; + case GuiResourceCpuArchitecture::x64: + BINARY_NAME = binaryName64.Buffer(); + break; + default:; + } + FilePath binaryPath = metadataFolder / BINARY_NAME; if (!File(binaryPath).Exists()) diff --git a/Tools/Reflection32.bin b/Tools/Reflection32.bin index 194d56eb..5cd6aa46 100644 Binary files a/Tools/Reflection32.bin and b/Tools/Reflection32.bin differ diff --git a/Tools/Reflection64.bin b/Tools/Reflection64.bin index ecc96239..2592a890 100644 Binary files a/Tools/Reflection64.bin and b/Tools/Reflection64.bin differ diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/LocalizedStringsTabPage.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/LocalizedStringsTabPage.xml index 009af01c..d8bb788f 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/LocalizedStringsTabPage.xml +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/LocalizedStringsTabPage.xml @@ -32,6 +32,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp index 7aa155a9..9a07ea3a 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp @@ -36,7 +36,24 @@ Global Variables BEGIN_GLOBAL_STORAGE_CLASS(vl_workflow_global_Demo) vl_workflow_global::Demo instance; INITIALIZE_GLOBAL_STORAGE_CLASS + + instance.__vwsn_ls_StringResource = ::vl::reflection::description::IValueDictionary::Create(); + + ([]() + { + ::gaclib_controls::DialogStrings::Install(::vl::__vwsn::Parse<::vl::Locale>(::vl::WString::Unmanaged(L"zh-CN")), ::demo::DialogStringsInjection::__vwsn_ls_zh_CN_BuildStrings(::vl::__vwsn::Parse<::vl::Locale>(::vl::WString::Unmanaged(L"zh-CN")))); + } + )(); + + ([]() + { + ::demo::StringResource::Install(::vl::__vwsn::Parse<::vl::Locale>(::vl::WString::Unmanaged(L"en-US")), ::demo::StringResource::__vwsn_ls_en_US_BuildStrings(::vl::__vwsn::Parse<::vl::Locale>(::vl::WString::Unmanaged(L"en-US")))); + ::demo::StringResource::Install(::vl::__vwsn::Parse<::vl::Locale>(::vl::WString::Unmanaged(L"zh-CN")), ::demo::StringResource::__vwsn_ls_zh_CN_BuildStrings(::vl::__vwsn::Parse<::vl::Locale>(::vl::WString::Unmanaged(L"zh-CN")))); + } + )(); FINALIZE_GLOBAL_STORAGE_CLASS + + instance.__vwsn_ls_StringResource = nullptr; END_GLOBAL_STORAGE_CLASS(vl_workflow_global_Demo) namespace vl_workflow_global @@ -7259,160 +7276,356 @@ Closures //------------------------------------------------------------------- - __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::__vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings(::vl::Locale __vwsnctor___vwsn_ls_locale) - :__vwsn_ls_locale(__vwsnctor___vwsn_ls_locale) + __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::__vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings() { } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::Currency(const ::vl::WString& __vwsn_ls_0) + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Abort() { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatCurrency(__vwsn_ls_locale, __vwsn_ls_0); - return (::vl::WString::Unmanaged(L"货币:") + __vwsn_ls__0); + return ::vl::WString::Unmanaged(L"关于"); } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::DateFormat(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Blue() { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::vl::WString::Unmanaged(L"yyyy"), __vwsn_ls_0); - return (::vl::WString::Unmanaged(L"日期格式:") + __vwsn_ls__0); + return ::vl::WString::Unmanaged(L"蓝色:"); } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::Label() + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Bold() { - return ::vl::WString::Unmanaged(L"语言设置:"); + return ::vl::WString::Unmanaged(L"粗体"); } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::LongDate(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Cancel() { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::demo::StringResource::__vwsn_ls_First(::vl::reflection::description::Localization::GetLongDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); - return (::vl::WString::Unmanaged(L"长日期:") + __vwsn_ls__0); + return ::vl::WString::Unmanaged(L"取消"); } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::LongTime(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Color() { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatTime(__vwsn_ls_locale, ::demo::StringResource::__vwsn_ls_First(::vl::reflection::description::Localization::GetLongTimeFormats(__vwsn_ls_locale)), __vwsn_ls_0); - return (::vl::WString::Unmanaged(L"长时间:") + __vwsn_ls__0); + return ::vl::WString::Unmanaged(L"颜色:"); } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::Number(const ::vl::WString& __vwsn_ls_0) + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::ColorDialogTitle() { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatNumber(__vwsn_ls_locale, __vwsn_ls_0); - return (::vl::WString::Unmanaged(L"数字:") + __vwsn_ls__0); + return ::vl::WString::Unmanaged(L"选择颜色"); } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::Sentence(const ::vl::WString& __vwsn_ls_0) + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Continue() { - auto __vwsn_ls__0 = __vwsn_ls_0; - return ((::vl::WString::Unmanaged(L"$") + __vwsn_ls__0) + ::vl::WString::Unmanaged(L",早上好!$")); + return ::vl::WString::Unmanaged(L"继续"); } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::ShortDate(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogAskCreateFile() { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::demo::StringResource::__vwsn_ls_First(::vl::reflection::description::Localization::GetShortDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); - return (::vl::WString::Unmanaged(L"短日期:") + __vwsn_ls__0); + return ::vl::WString::Unmanaged(L"你确定想要创建下列文件吗?"); } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::ShortTime(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogAskOverrideFile() { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatTime(__vwsn_ls_locale, ::demo::StringResource::__vwsn_ls_First(::vl::reflection::description::Localization::GetShortTimeFormats(__vwsn_ls_locale)), __vwsn_ls_0); - return (::vl::WString::Unmanaged(L"短时间:") + __vwsn_ls__0); + return ::vl::WString::Unmanaged(L"你确定想要覆盖下列文件吗?"); } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::TimeFormat(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogErrorEmptySelection() { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatTime(__vwsn_ls_locale, ::vl::WString::Unmanaged(L"HH"), __vwsn_ls_0); - return (::vl::WString::Unmanaged(L"时间格式: ") + __vwsn_ls__0); + return ::vl::WString::Unmanaged(L"应该选中至少一个文件。"); } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::Title() + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogErrorFileExpected() { - return ::vl::WString::Unmanaged(L"本地化"); + return ::vl::WString::Unmanaged(L"下列文件夹不应该被选中:"); } - ::vl::WString __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings::YearMonthDate(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogErrorFileNotExist() { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::demo::StringResource::__vwsn_ls_First(::vl::reflection::description::Localization::GetYearMonthDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); - return (::vl::WString::Unmanaged(L"年月:") + __vwsn_ls__0); + return ::vl::WString::Unmanaged(L"下列文件不存在:"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogErrorFolderNotExist() + { + return ::vl::WString::Unmanaged(L"文件夹不存在:"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogErrorMultipleSelectionNotEnabled() + { + return ::vl::WString::Unmanaged(L"本对话框不支持多选。"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogFileName() + { + return ::vl::WString::Unmanaged(L"文件名:"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogOpen() + { + return ::vl::WString::Unmanaged(L"打开"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogSave() + { + return ::vl::WString::Unmanaged(L"保存"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogTextLoadingFiles() + { + return ::vl::WString::Unmanaged(L"(正在加载文件夹和文件……)"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FileDialogTextLoadingFolders() + { + return ::vl::WString::Unmanaged(L"(正在加载……)"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FontColorGroup() + { + return ::vl::WString::Unmanaged(L"颜色:"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FontColorGroup2() + { + return ::vl::WString::Unmanaged(L"选择颜色:"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FontDialogTitle() + { + return ::vl::WString::Unmanaged(L"选择字体"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FontEffectGroup() + { + return ::vl::WString::Unmanaged(L"效果:"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FontNameGroup() + { + return ::vl::WString::Unmanaged(L"字体:"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FontPreviewGroup() + { + return ::vl::WString::Unmanaged(L"预览:"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::FontSizeGroup() + { + return ::vl::WString::Unmanaged(L"尺寸:"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Green() + { + return ::vl::WString::Unmanaged(L"绿色:"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::HAA() + { + return ::vl::WString::Unmanaged(L"水平抗锯齿"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Ignore() + { + return ::vl::WString::Unmanaged(L"忽略"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Italic() + { + return ::vl::WString::Unmanaged(L"斜体"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::No() + { + return ::vl::WString::Unmanaged(L"否"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::OK() + { + return ::vl::WString::Unmanaged(L"确定"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Red() + { + return ::vl::WString::Unmanaged(L"红色:"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Retry() + { + return ::vl::WString::Unmanaged(L"重试"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::TryAgain() + { + return ::vl::WString::Unmanaged(L"再试一次"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Underline() + { + return ::vl::WString::Unmanaged(L"下划线"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::VAA() + { + return ::vl::WString::Unmanaged(L"垂直抗锯齿"); + } + + ::vl::WString __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings::Yes() + { + return ::vl::WString::Unmanaged(L"是"); } //------------------------------------------------------------------- - __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::__vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings(::vl::Locale __vwsnctor___vwsn_ls_locale) + __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::__vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings(::vl::Locale __vwsnctor___vwsn_ls_locale) :__vwsn_ls_locale(__vwsnctor___vwsn_ls_locale) { } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::Currency(const ::vl::WString& __vwsn_ls_0) + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::Currency(const ::vl::WString& __vwsn_ls_0) { auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatCurrency(__vwsn_ls_locale, __vwsn_ls_0); return (::vl::WString::Unmanaged(L"Currency: ") + __vwsn_ls__0); } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::DateFormat(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::DateFormat(::vl::DateTime __vwsn_ls_0) { auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::vl::WString::Unmanaged(L"yyyy"), __vwsn_ls_0); return (::vl::WString::Unmanaged(L"DateFormat: ") + __vwsn_ls__0); } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::Label() + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::Label() { return ::vl::WString::Unmanaged(L"Selected Locale:"); } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::LongDate(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::LongDate(::vl::DateTime __vwsn_ls_0) { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::demo::StringResource::__vwsn_ls_First(::vl::reflection::description::Localization::GetLongDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::vl::presentation::helper_types::LocalizedStrings::FirstOrEmpty(::vl::reflection::description::Localization::GetLongDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); return (::vl::WString::Unmanaged(L"LongDate: ") + __vwsn_ls__0); } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::LongTime(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::LongTime(::vl::DateTime __vwsn_ls_0) { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatTime(__vwsn_ls_locale, ::demo::StringResource::__vwsn_ls_First(::vl::reflection::description::Localization::GetLongTimeFormats(__vwsn_ls_locale)), __vwsn_ls_0); + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatTime(__vwsn_ls_locale, ::vl::presentation::helper_types::LocalizedStrings::FirstOrEmpty(::vl::reflection::description::Localization::GetLongTimeFormats(__vwsn_ls_locale)), __vwsn_ls_0); return (::vl::WString::Unmanaged(L"LongTime: ") + __vwsn_ls__0); } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::Number(const ::vl::WString& __vwsn_ls_0) + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::Number(const ::vl::WString& __vwsn_ls_0) { auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatNumber(__vwsn_ls_locale, __vwsn_ls_0); return (::vl::WString::Unmanaged(L"Number: ") + __vwsn_ls__0); } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::Sentence(const ::vl::WString& __vwsn_ls_0) + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::Sentence(const ::vl::WString& __vwsn_ls_0) { auto __vwsn_ls__0 = __vwsn_ls_0; return ((::vl::WString::Unmanaged(L"$Good morning, ") + __vwsn_ls__0) + ::vl::WString::Unmanaged(L"!$")); } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::ShortDate(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::ShortDate(::vl::DateTime __vwsn_ls_0) { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::demo::StringResource::__vwsn_ls_First(::vl::reflection::description::Localization::GetShortDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::vl::presentation::helper_types::LocalizedStrings::FirstOrEmpty(::vl::reflection::description::Localization::GetShortDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); return (::vl::WString::Unmanaged(L"ShortDate: ") + __vwsn_ls__0); } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::ShortTime(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::ShortTime(::vl::DateTime __vwsn_ls_0) { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatTime(__vwsn_ls_locale, ::demo::StringResource::__vwsn_ls_First(::vl::reflection::description::Localization::GetShortTimeFormats(__vwsn_ls_locale)), __vwsn_ls_0); + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatTime(__vwsn_ls_locale, ::vl::presentation::helper_types::LocalizedStrings::FirstOrEmpty(::vl::reflection::description::Localization::GetShortTimeFormats(__vwsn_ls_locale)), __vwsn_ls_0); return (::vl::WString::Unmanaged(L"ShortTime: ") + __vwsn_ls__0); } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::TimeFormat(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::TimeFormat(::vl::DateTime __vwsn_ls_0) { auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatTime(__vwsn_ls_locale, ::vl::WString::Unmanaged(L"HH"), __vwsn_ls_0); return (::vl::WString::Unmanaged(L"TimeFormat: ") + __vwsn_ls__0); } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::Title() + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::Title() { return ::vl::WString::Unmanaged(L"Localization"); } - ::vl::WString __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings::YearMonthDate(::vl::DateTime __vwsn_ls_0) + ::vl::WString __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings::YearMonthDate(::vl::DateTime __vwsn_ls_0) { - auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::demo::StringResource::__vwsn_ls_First(::vl::reflection::description::Localization::GetYearMonthDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::vl::presentation::helper_types::LocalizedStrings::FirstOrEmpty(::vl::reflection::description::Localization::GetYearMonthDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); return (::vl::WString::Unmanaged(L"YearMonthDate: ") + __vwsn_ls__0); } //------------------------------------------------------------------- + __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::__vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings(::vl::Locale __vwsnctor___vwsn_ls_locale) + :__vwsn_ls_locale(__vwsnctor___vwsn_ls_locale) + { + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::Currency(const ::vl::WString& __vwsn_ls_0) + { + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatCurrency(__vwsn_ls_locale, __vwsn_ls_0); + return (::vl::WString::Unmanaged(L"货币:") + __vwsn_ls__0); + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::DateFormat(::vl::DateTime __vwsn_ls_0) + { + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::vl::WString::Unmanaged(L"yyyy"), __vwsn_ls_0); + return (::vl::WString::Unmanaged(L"日期格式:") + __vwsn_ls__0); + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::Label() + { + return ::vl::WString::Unmanaged(L"语言设置:"); + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::LongDate(::vl::DateTime __vwsn_ls_0) + { + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::vl::presentation::helper_types::LocalizedStrings::FirstOrEmpty(::vl::reflection::description::Localization::GetLongDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); + return (::vl::WString::Unmanaged(L"长日期:") + __vwsn_ls__0); + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::LongTime(::vl::DateTime __vwsn_ls_0) + { + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatTime(__vwsn_ls_locale, ::vl::presentation::helper_types::LocalizedStrings::FirstOrEmpty(::vl::reflection::description::Localization::GetLongTimeFormats(__vwsn_ls_locale)), __vwsn_ls_0); + return (::vl::WString::Unmanaged(L"长时间:") + __vwsn_ls__0); + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::Number(const ::vl::WString& __vwsn_ls_0) + { + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatNumber(__vwsn_ls_locale, __vwsn_ls_0); + return (::vl::WString::Unmanaged(L"数字:") + __vwsn_ls__0); + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::Sentence(const ::vl::WString& __vwsn_ls_0) + { + auto __vwsn_ls__0 = __vwsn_ls_0; + return ((::vl::WString::Unmanaged(L"$") + __vwsn_ls__0) + ::vl::WString::Unmanaged(L",早上好!$")); + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::ShortDate(::vl::DateTime __vwsn_ls_0) + { + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::vl::presentation::helper_types::LocalizedStrings::FirstOrEmpty(::vl::reflection::description::Localization::GetShortDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); + return (::vl::WString::Unmanaged(L"短日期:") + __vwsn_ls__0); + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::ShortTime(::vl::DateTime __vwsn_ls_0) + { + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatTime(__vwsn_ls_locale, ::vl::presentation::helper_types::LocalizedStrings::FirstOrEmpty(::vl::reflection::description::Localization::GetShortTimeFormats(__vwsn_ls_locale)), __vwsn_ls_0); + return (::vl::WString::Unmanaged(L"短时间:") + __vwsn_ls__0); + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::TimeFormat(::vl::DateTime __vwsn_ls_0) + { + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatTime(__vwsn_ls_locale, ::vl::WString::Unmanaged(L"HH"), __vwsn_ls_0); + return (::vl::WString::Unmanaged(L"时间格式: ") + __vwsn_ls__0); + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::Title() + { + return ::vl::WString::Unmanaged(L"本地化"); + } + + ::vl::WString __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings::YearMonthDate(::vl::DateTime __vwsn_ls_0) + { + auto __vwsn_ls__0 = ::vl::reflection::description::Localization::FormatDate(__vwsn_ls_locale, ::vl::presentation::helper_types::LocalizedStrings::FirstOrEmpty(::vl::reflection::description::Localization::GetYearMonthDateFormats(__vwsn_ls_locale)), __vwsn_ls_0); + return (::vl::WString::Unmanaged(L"年月:") + __vwsn_ls__0); + } + + //------------------------------------------------------------------- + __vwsnc13_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc13_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -15128,6 +15341,19 @@ Class (::demo::DatePickerTabPage) this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); } +/*********************************************************************** +Class (::demo::DialogStringsInjection) +***********************************************************************/ + + ::vl::Ptr<::gaclib_controls::IDialogStringsStrings> DialogStringsInjection::__vwsn_ls_zh_CN_BuildStrings(::vl::Locale __vwsn_ls_locale) + { + return ::vl::Ptr<::gaclib_controls::IDialogStringsStrings>(new ::vl_workflow_global::__vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings()); + } + + DialogStringsInjection::DialogStringsInjection() + { + } + /*********************************************************************** Class (::demo::DocumentBoxSubTabPageConstructor) ***********************************************************************/ @@ -23172,29 +23398,32 @@ Class (::demo::SharedSizeTextItemTemplate) Class (::demo::StringResource) ***********************************************************************/ - ::vl::WString StringResource::__vwsn_ls_First(const ::vl::collections::LazyList<::vl::WString>& __vwsn_ls_formats) + ::vl::Ptr<::demo::IStringResourceStrings> StringResource::__vwsn_ls_en_US_BuildStrings(::vl::Locale __vwsn_ls_locale) { + return ::vl::Ptr<::demo::IStringResourceStrings>(new ::vl_workflow_global::__vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings(__vwsn_ls_locale)); + } + + ::vl::Ptr<::demo::IStringResourceStrings> StringResource::__vwsn_ls_zh_CN_BuildStrings(::vl::Locale __vwsn_ls_locale) + { + return ::vl::Ptr<::demo::IStringResourceStrings>(new ::vl_workflow_global::__vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings(__vwsn_ls_locale)); + } + + void StringResource::Install(::vl::Locale __vwsn_ls_locale, ::vl::Ptr<::demo::IStringResourceStrings> __vwsn_ls_impl) + { + if (::vl::__vwsn::This(::vl::__vwsn::This(GLOBAL_NAME __vwsn_ls_StringResource.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(__vwsn_ls_locale))) { - auto __vwsn_for_enumerable_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueEnumerable>(__vwsn_ls_formats); - auto __vwsn_for_enumerator_ = ::vl::__vwsn::This(__vwsn_for_enumerable_.Obj())->CreateEnumerator(); - while (::vl::__vwsn::This(__vwsn_for_enumerator_.Obj())->Next()) - { - auto __vwsn_ls_format = ::vl::__vwsn::Unbox<::vl::WString>(::vl::__vwsn::This(__vwsn_for_enumerator_.Obj())->GetCurrent()); - { - return __vwsn_ls_format; - } - } + throw ::vl::Exception(((::vl::WString::Unmanaged(L"Localized strings \"demo::StringResource\" has already registered for locale \"") + ::vl::__vwsn::ToString(__vwsn_ls_locale)) + ::vl::WString::Unmanaged(L"\"."))); } - return ::vl::WString::Unmanaged(L""); + ::vl::__vwsn::This(GLOBAL_NAME __vwsn_ls_StringResource.Obj())->Set(::vl::__vwsn::Box(__vwsn_ls_locale), ::vl::__vwsn::Box(__vwsn_ls_impl)); } ::vl::Ptr<::demo::IStringResourceStrings> StringResource::Get(::vl::Locale __vwsn_ls_locale) { - if (::vl::__vwsn::InSet(::vl::__vwsn::ToString(__vwsn_ls_locale), (::vl::__vwsn::CreateList().Add(::vl::WString::Unmanaged(L"zh-CN"))).list)) + if (::vl::__vwsn::This(::vl::__vwsn::This(GLOBAL_NAME __vwsn_ls_StringResource.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(__vwsn_ls_locale))) { - return ::vl::Ptr<::demo::IStringResourceStrings>(new ::vl_workflow_global::__vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings(__vwsn_ls_locale)); + return ::vl::__vwsn::Unbox<::vl::Ptr<::demo::IStringResourceStrings>>(::vl::__vwsn::This(GLOBAL_NAME __vwsn_ls_StringResource.Obj())->Get(::vl::__vwsn::Box(__vwsn_ls_locale))); } - return ::vl::Ptr<::demo::IStringResourceStrings>(new ::vl_workflow_global::__vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings(__vwsn_ls_locale)); + return ::vl::__vwsn::Unbox<::vl::Ptr<::demo::IStringResourceStrings>>(::vl::__vwsn::This(GLOBAL_NAME __vwsn_ls_StringResource.Obj())->Get(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::Locale>(::vl::WString::Unmanaged(L"en-US"))))); } StringResource::StringResource() diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h index eaa30a43..7832b385 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h @@ -328,8 +328,9 @@ namespace vl_workflow_global class __vwsnc134_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc135_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc136_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings; - class __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings; + class __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings; + class __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings; + class __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings; class __vwsnc13_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc14_Demo_demo_RepeatTabPageConstructor___vwsn_demo_RepeatTabPage_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc15_Demo_demo_SubWindowConstructor___vwsn_demo_SubWindow_Initialize__vl_reflection_description_IValueSubscription; @@ -475,6 +476,7 @@ namespace demo class DateFilter; class DatePickerTabPageConstructor; class DatePickerTabPage; + class DialogStringsInjection; class DocumentBoxSubTabPageConstructor; class DocumentBoxSubTabPage; class DocumentEditorBaseConstructor; @@ -1136,6 +1138,17 @@ namespace demo ~DatePickerTabPage(); }; + class DialogStringsInjection : public ::vl::Object, public ::vl::reflection::Description + { + friend class ::vl_workflow_global::__vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + public: + static ::vl::Ptr<::gaclib_controls::IDialogStringsStrings> __vwsn_ls_zh_CN_BuildStrings(::vl::Locale __vwsn_ls_locale); + DialogStringsInjection(); + }; + class DocumentBoxSubTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description { friend class ::vl_workflow_global::__vwsnc131_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; @@ -2739,13 +2752,15 @@ namespace demo class StringResource : public ::vl::Object, public ::vl::reflection::Description { - friend class ::vl_workflow_global::__vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings; - friend class ::vl_workflow_global::__vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings; + friend class ::vl_workflow_global::__vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings; + friend class ::vl_workflow_global::__vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif public: - static ::vl::WString __vwsn_ls_First(const ::vl::collections::LazyList<::vl::WString>& __vwsn_ls_formats); + static ::vl::Ptr<::demo::IStringResourceStrings> __vwsn_ls_en_US_BuildStrings(::vl::Locale __vwsn_ls_locale); + static ::vl::Ptr<::demo::IStringResourceStrings> __vwsn_ls_zh_CN_BuildStrings(::vl::Locale __vwsn_ls_locale); + static void Install(::vl::Locale __vwsn_ls_locale, ::vl::Ptr<::demo::IStringResourceStrings> __vwsn_ls_impl); static ::vl::Ptr<::demo::IStringResourceStrings> Get(::vl::Locale __vwsn_ls_locale); StringResource(); }; @@ -3233,6 +3248,8 @@ namespace vl_workflow_global { public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_ls_StringResource; + void LoadListView(::vl::presentation::controls::GuiInstanceRootObject* root, const ::vl::Func)>& callback); ::vl::WString ToString(::demo::MyCategory value); ::vl::presentation::Color ToColor(::demo::MyCategory value); @@ -6355,12 +6372,57 @@ Closures bool Close() override; }; - class __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings : public ::vl::Object, public virtual ::demo::IStringResourceStrings + class __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings : public ::vl::Object, public virtual ::gaclib_controls::IDialogStringsStrings + { + public: + __vwsnc137_Demo_demo_DialogStringsInjection___vwsn_ls_zh_CN_BuildStrings__gaclib_controls_IDialogStringsStrings(); + + ::vl::WString Abort() override; + ::vl::WString Blue() override; + ::vl::WString Bold() override; + ::vl::WString Cancel() override; + ::vl::WString Color() override; + ::vl::WString ColorDialogTitle() override; + ::vl::WString Continue() override; + ::vl::WString FileDialogAskCreateFile() override; + ::vl::WString FileDialogAskOverrideFile() override; + ::vl::WString FileDialogErrorEmptySelection() override; + ::vl::WString FileDialogErrorFileExpected() override; + ::vl::WString FileDialogErrorFileNotExist() override; + ::vl::WString FileDialogErrorFolderNotExist() override; + ::vl::WString FileDialogErrorMultipleSelectionNotEnabled() override; + ::vl::WString FileDialogFileName() override; + ::vl::WString FileDialogOpen() override; + ::vl::WString FileDialogSave() override; + ::vl::WString FileDialogTextLoadingFiles() override; + ::vl::WString FileDialogTextLoadingFolders() override; + ::vl::WString FontColorGroup() override; + ::vl::WString FontColorGroup2() override; + ::vl::WString FontDialogTitle() override; + ::vl::WString FontEffectGroup() override; + ::vl::WString FontNameGroup() override; + ::vl::WString FontPreviewGroup() override; + ::vl::WString FontSizeGroup() override; + ::vl::WString Green() override; + ::vl::WString HAA() override; + ::vl::WString Ignore() override; + ::vl::WString Italic() override; + ::vl::WString No() override; + ::vl::WString OK() override; + ::vl::WString Red() override; + ::vl::WString Retry() override; + ::vl::WString TryAgain() override; + ::vl::WString Underline() override; + ::vl::WString VAA() override; + ::vl::WString Yes() override; + }; + + class __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings : public ::vl::Object, public virtual ::demo::IStringResourceStrings { public: ::vl::Locale __vwsn_ls_locale; - __vwsnc137_Demo_demo_StringResource_Get__demo_IStringResourceStrings(::vl::Locale __vwsnctor___vwsn_ls_locale); + __vwsnc138_Demo_demo_StringResource___vwsn_ls_en_US_BuildStrings__demo_IStringResourceStrings(::vl::Locale __vwsnctor___vwsn_ls_locale); ::vl::WString Currency(const ::vl::WString& __vwsn_ls_0) override; ::vl::WString DateFormat(::vl::DateTime __vwsn_ls_0) override; @@ -6376,12 +6438,12 @@ Closures ::vl::WString YearMonthDate(::vl::DateTime __vwsn_ls_0) override; }; - class __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings : public ::vl::Object, public virtual ::demo::IStringResourceStrings + class __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings : public ::vl::Object, public virtual ::demo::IStringResourceStrings { public: ::vl::Locale __vwsn_ls_locale; - __vwsnc138_Demo_demo_StringResource_Get__demo_IStringResourceStrings(::vl::Locale __vwsnctor___vwsn_ls_locale); + __vwsnc139_Demo_demo_StringResource___vwsn_ls_zh_CN_BuildStrings__demo_IStringResourceStrings(::vl::Locale __vwsnctor___vwsn_ls_locale); ::vl::WString Currency(const ::vl::WString& __vwsn_ls_0) override; ::vl::WString DateFormat(::vl::DateTime __vwsn_ls_0) override; diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.cpp b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.cpp index e408968e..20576eaa 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.cpp +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.cpp @@ -50,6 +50,7 @@ namespace vl IMPL_CPP_TYPE_INFO(demo::DateFilterConstructor) IMPL_CPP_TYPE_INFO(demo::DatePickerTabPage) IMPL_CPP_TYPE_INFO(demo::DatePickerTabPageConstructor) + IMPL_CPP_TYPE_INFO(demo::DialogStringsInjection) IMPL_CPP_TYPE_INFO(demo::DocumentBoxSubTabPage) IMPL_CPP_TYPE_INFO(demo::DocumentBoxSubTabPageConstructor) IMPL_CPP_TYPE_INFO(demo::DocumentEditorBase) @@ -418,6 +419,12 @@ namespace vl CLASS_MEMBER_FIELD(self) END_CLASS_MEMBER(::demo::DatePickerTabPageConstructor) + BEGIN_CLASS_MEMBER(::demo::DialogStringsInjection) + CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) + CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::DialogStringsInjection>(), NO_PARAMETER) + CLASS_MEMBER_STATIC_METHOD(__vwsn_ls_zh_CN_BuildStrings, { L"__vwsn_ls_locale" }) + END_CLASS_MEMBER(::demo::DialogStringsInjection) + BEGIN_CLASS_MEMBER(::demo::DocumentBoxSubTabPage) CLASS_MEMBER_BASE(::vl::presentation::controls::GuiTabPage) CLASS_MEMBER_BASE(::demo::DocumentBoxSubTabPageConstructor) @@ -1533,8 +1540,10 @@ namespace vl BEGIN_CLASS_MEMBER(::demo::StringResource) CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::StringResource>(), NO_PARAMETER) - CLASS_MEMBER_STATIC_METHOD(__vwsn_ls_First, { L"__vwsn_ls_formats" }) + CLASS_MEMBER_STATIC_METHOD(__vwsn_ls_en_US_BuildStrings, { L"__vwsn_ls_locale" }) + CLASS_MEMBER_STATIC_METHOD(__vwsn_ls_zh_CN_BuildStrings, { L"__vwsn_ls_locale" }) CLASS_MEMBER_STATIC_METHOD(Get, { L"__vwsn_ls_locale" }) + CLASS_MEMBER_STATIC_METHOD(Install, { L"__vwsn_ls_locale" _ L"__vwsn_ls_impl" }) END_CLASS_MEMBER(::demo::StringResource) BEGIN_CLASS_MEMBER(::demo::StyleGroup) @@ -1852,6 +1861,7 @@ namespace vl ADD_TYPE_INFO(::demo::DateFilterConstructor) ADD_TYPE_INFO(::demo::DatePickerTabPage) ADD_TYPE_INFO(::demo::DatePickerTabPageConstructor) + ADD_TYPE_INFO(::demo::DialogStringsInjection) ADD_TYPE_INFO(::demo::DocumentBoxSubTabPage) ADD_TYPE_INFO(::demo::DocumentBoxSubTabPageConstructor) ADD_TYPE_INFO(::demo::DocumentEditorBase) diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.h b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.h index ffc65c78..1efb022a 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.h +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.h @@ -53,6 +53,7 @@ namespace vl DECL_TYPE_INFO(::demo::DateFilterConstructor) DECL_TYPE_INFO(::demo::DatePickerTabPage) DECL_TYPE_INFO(::demo::DatePickerTabPageConstructor) + DECL_TYPE_INFO(::demo::DialogStringsInjection) DECL_TYPE_INFO(::demo::DocumentBoxSubTabPage) DECL_TYPE_INFO(::demo::DocumentBoxSubTabPageConstructor) DECL_TYPE_INFO(::demo::DocumentEditorBase) diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 index 24e078f0..b19b7ba2 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 and b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 differ diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 index f019ec1d..1a5da6a1 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 and b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 differ