diff --git a/Tutorial/GacUI_Controls/AddressBook/Main.cpp b/Tutorial/GacUI_Controls/AddressBook/Main.cpp index 5f51cb1d..90284d7d 100644 --- a/Tutorial/GacUI_Controls/AddressBook/Main.cpp +++ b/Tutorial/GacUI_Controls/AddressBook/Main.cpp @@ -278,9 +278,8 @@ void GuiMain() { LoadDemoTypes(); { - List errors; FileStream fileStream(L"../UIRes/AddressBook.bin", FileStream::ReadOnly); - auto resource = GuiResource::LoadPrecompiledBinary(fileStream, errors); + auto resource = GuiResource::LoadPrecompiledBinary(fileStream); GetResourceManager()->SetResource(L"Resource", resource); folderImage = resource->GetImageByPath(L"Images/Folder"); diff --git a/Tutorial/GacUI_Controls/AddressBook/UI/Resource.xml b/Tutorial/GacUI_Controls/AddressBook/UI/Resource.xml index b42e112d..fe04b2c2 100644 --- a/Tutorial/GacUI_Controls/AddressBook/UI/Resource.xml +++ b/Tutorial/GacUI_Controls/AddressBook/UI/Resource.xml @@ -21,61 +21,32 @@ { interface IContact { - func GetName() : string; - prop Name : string {GetName} - - func GetBigImage() : presentation::GuiImageData^; - prop BigImage : presentation::GuiImageData^ {GetBigImage} - - func GetSmallImage() : presentation::GuiImageData^; - prop SmallImage : presentation::GuiImageData^ {GetSmallImage} - - func GetBirthday() : DateTime; - prop Birthday : DateTime {GetBirthday} - - func GetBirthdayText() : string; - prop BirthdayText : string {GetBirthdayText} - - func GetPhone() : string; - prop Phone : string {GetPhone} - - func GetAddress() : string; - prop Address : string {GetAddress} + prop Name : string {const, not observe} + prop BigImage : presentation::GuiImageData^ {const, not observe} + prop SmallImage : presentation::GuiImageData^ {const, not observe} + prop Birthday : DateTime {const, not observe} + prop BirthdayText : string {const, not observe} + prop Phone : string {const, not observe} + prop Address : string {const, not observe} func Update(name : string, birthday : DateTime, phone : string, address : string) : void; } interface ICategory { - func GetParent() : ICategory*; - prop Parent : ICategory* {GetParent} - - func GetName() : string; - prop Name : string {GetName} - - func GetImage() : presentation::GuiImageData^; - prop Image : presentation::GuiImageData^ {GetImage} - - func GetFolders() : ObservableList^; - prop Folders : ObservableList^ {GetFolders} - - func GetContacts() : ObservableList^; - prop Contacts : ObservableList^ {GetContacts} + prop Parent : ICategory* {const, not observe} + prop Name : string {const, not observe} + prop Image : presentation::GuiImageData^ {const, not observe} + prop Folders : ObservableList^ {const, not observe} + prop Contacts : ObservableList^ {const, not observe} } interface IViewModel { func GetRootCategory() : ICategory^; - func GetSelectedCategory() : ICategory^; - func SetSelectedCategory(value : ICategory^) : void; - event SelectedCategoryChanged(); - prop SelectedCategory : ICategory^ {GetSelectedCategory, SetSelectedCategory : SelectedCategoryChanged} - - func GetSelectedContact() : IContact^; - func SetSelectedContact(value : IContact^) : void; - event SelectedContactChanged(); - prop SelectedContact : IContact^ {GetSelectedContact, SetSelectedContact : SelectedContactChanged} + prop SelectedCategory : ICategory^ {} + prop SelectedContact : IContact^ {} func AddCategory(name : string) : void; func RemoveCategory() : void; @@ -329,25 +300,7 @@ @@ -400,25 +353,7 @@ diff --git a/Tutorial/GacUI_Controls/AddressBook/UI/Source/Demo.h b/Tutorial/GacUI_Controls/AddressBook/UI/Source/Demo.h index dae9ce50..8b134772 100644 --- a/Tutorial/GacUI_Controls/AddressBook/UI/Source/Demo.h +++ b/Tutorial/GacUI_Controls/AddressBook/UI/Source/Demo.h @@ -125,13 +125,13 @@ namespace vl { INVOKE_INTERFACE_PROXY_NOPARAMS(RemoveContact); } - void SetSelectedCategory(::vl::Ptr<::demo::ICategory> value) override + void SetSelectedCategory(::vl::Ptr<::demo::ICategory> __vwsn_value_) override { - INVOKE_INTERFACE_PROXY(SetSelectedCategory, value); + INVOKE_INTERFACE_PROXY(SetSelectedCategory, ); } - void SetSelectedContact(::vl::Ptr<::demo::IContact> value) override + void SetSelectedContact(::vl::Ptr<::demo::IContact> __vwsn_value_) override { - INVOKE_INTERFACE_PROXY(SetSelectedContact, value); + INVOKE_INTERFACE_PROXY(SetSelectedContact, ); } END_INTERFACE_PROXY(::demo::IViewModel) #endif diff --git a/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.cpp index b7f3aa94..762de677 100644 --- a/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.cpp +++ b/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.cpp @@ -2612,14 +2612,13 @@ Class (::demo::NewContactWindow) bool NewContactWindow::GetForEdit() { - return ::vl::__vwsn::This(this)->forEdit; + return ::vl::__vwsn::This(this)->__vwsn_prop_ForEdit; } - - void NewContactWindow::SetForEdit(bool value) + void NewContactWindow::SetForEdit(bool __vwsn_value_) { - if ((::vl::__vwsn::This(this)->forEdit != value)) + if ((::vl::__vwsn::This(this)->__vwsn_prop_ForEdit != __vwsn_value_)) { - (::vl::__vwsn::This(this)->forEdit = value); + (::vl::__vwsn::This(this)->__vwsn_prop_ForEdit = __vwsn_value_); ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(this)->ForEditChanged)(); } } @@ -2802,14 +2801,13 @@ Class (::demo::NewFolderWindow) ::vl::WString NewFolderWindow::GetFolderName() { - return ::vl::__vwsn::This(this)->folderName; + return ::vl::__vwsn::This(this)->__vwsn_prop_FolderName; } - - void NewFolderWindow::SetFolderName(const ::vl::WString& value) + void NewFolderWindow::SetFolderName(const ::vl::WString& __vwsn_value_) { - if ((::vl::__vwsn::This(this)->folderName != value)) + if ((::vl::__vwsn::This(this)->__vwsn_prop_FolderName != __vwsn_value_)) { - (::vl::__vwsn::This(this)->folderName = value); + (::vl::__vwsn::This(this)->__vwsn_prop_FolderName = __vwsn_value_); ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(this)->FolderNameChanged)(); } } @@ -2907,8 +2905,8 @@ namespace vl CLASS_MEMBER_METHOD(GetSelectedContact, NO_PARAMETER) CLASS_MEMBER_METHOD(RemoveCategory, NO_PARAMETER) CLASS_MEMBER_METHOD(RemoveContact, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetSelectedCategory, { L"value" }) - CLASS_MEMBER_METHOD(SetSelectedContact, { L"value" }) + CLASS_MEMBER_METHOD(SetSelectedCategory, { L"__vwsn_value_" }) + CLASS_MEMBER_METHOD(SetSelectedContact, { L"__vwsn_value_" }) CLASS_MEMBER_EVENT(SelectedCategoryChanged) CLASS_MEMBER_EVENT(SelectedContactChanged) CLASS_MEMBER_PROPERTY_EVENT(SelectedCategory, GetSelectedCategory, SetSelectedCategory, SelectedCategoryChanged) @@ -2993,13 +2991,13 @@ namespace vl CLASS_MEMBER_CONSTRUCTOR(::demo::NewContactWindow*(::vl::Ptr<::demo::IContact>), { L"__vwsn_ctor_parameter_Contact" }) CLASS_MEMBER_METHOD(GetContact, NO_PARAMETER) CLASS_MEMBER_METHOD(GetForEdit, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetForEdit, { L"value" }) + CLASS_MEMBER_METHOD(SetForEdit, { L"__vwsn_value_" }) CLASS_MEMBER_EVENT(ForEditChanged) CLASS_MEMBER_FIELD(__vwsn_parameter_Contact) + CLASS_MEMBER_FIELD(__vwsn_prop_ForEdit) CLASS_MEMBER_PROPERTY_READONLY(Contact, GetContact) CLASS_MEMBER_PROPERTY_EVENT(ForEdit, GetForEdit, SetForEdit, ForEditChanged) CLASS_MEMBER_FIELD(Ready) - CLASS_MEMBER_FIELD(forEdit) END_CLASS_MEMBER(::demo::NewContactWindow) BEGIN_CLASS_MEMBER(::demo::NewContactWindowConstructor) @@ -3039,11 +3037,11 @@ namespace vl BEGIN_CLASS_MEMBER(::demo::NewFolderWindow) CLASS_MEMBER_CONSTRUCTOR(::demo::NewFolderWindow*(), NO_PARAMETER) CLASS_MEMBER_METHOD(GetFolderName, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetFolderName, { L"value" }) + CLASS_MEMBER_METHOD(SetFolderName, { L"__vwsn_value_" }) CLASS_MEMBER_EVENT(FolderNameChanged) + CLASS_MEMBER_FIELD(__vwsn_prop_FolderName) CLASS_MEMBER_PROPERTY_EVENT(FolderName, GetFolderName, SetFolderName, FolderNameChanged) CLASS_MEMBER_FIELD(Ready) - CLASS_MEMBER_FIELD(folderName) END_CLASS_MEMBER(::demo::NewFolderWindow) BEGIN_CLASS_MEMBER(::demo::NewFolderWindowConstructor) diff --git a/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.h b/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.h index 6dc77f86..88b8fb7c 100644 --- a/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.h +++ b/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.h @@ -268,12 +268,11 @@ namespace demo #ifndef VCZH_DEBUG_NO_REFLECTION friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif - protected: - bool forEdit = false; public: - ::vl::Event ForEditChanged; + bool __vwsn_prop_ForEdit = false; bool GetForEdit(); - void SetForEdit(bool value); + void SetForEdit(bool __vwsn_value_); + ::vl::Event ForEditChanged; bool Ready = true; ::vl::Ptr<::demo::IContact> __vwsn_parameter_Contact = ::vl::Ptr<::demo::IContact>(); ::vl::Ptr<::demo::IContact> GetContact(); @@ -321,12 +320,11 @@ namespace demo #ifndef VCZH_DEBUG_NO_REFLECTION friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif - protected: - ::vl::WString folderName = ::vl::WString(L"", false); public: - ::vl::Event FolderNameChanged; + ::vl::WString __vwsn_prop_FolderName = ::vl::WString(L"", false); ::vl::WString GetFolderName(); - void SetFolderName(const ::vl::WString& value); + void SetFolderName(const ::vl::WString& __vwsn_value_); + ::vl::Event FolderNameChanged; bool Ready = true; NewFolderWindow(); ~NewFolderWindow(); @@ -369,10 +367,10 @@ namespace demo public: virtual ::vl::Ptr<::demo::ICategory> GetRootCategory() = 0; virtual ::vl::Ptr<::demo::ICategory> GetSelectedCategory() = 0; - virtual void SetSelectedCategory(::vl::Ptr<::demo::ICategory> value) = 0; + virtual void SetSelectedCategory(::vl::Ptr<::demo::ICategory> __vwsn_value_) = 0; ::vl::Event SelectedCategoryChanged; virtual ::vl::Ptr<::demo::IContact> GetSelectedContact() = 0; - virtual void SetSelectedContact(::vl::Ptr<::demo::IContact> value) = 0; + virtual void SetSelectedContact(::vl::Ptr<::demo::IContact> __vwsn_value_) = 0; ::vl::Event SelectedContactChanged; virtual void AddCategory(const ::vl::WString& name) = 0; virtual void RemoveCategory() = 0; diff --git a/Tutorial/GacUI_Controls/ColorPicker/Main.cpp b/Tutorial/GacUI_Controls/ColorPicker/Main.cpp index 998e8d6d..945364bf 100644 --- a/Tutorial/GacUI_Controls/ColorPicker/Main.cpp +++ b/Tutorial/GacUI_Controls/ColorPicker/Main.cpp @@ -69,9 +69,8 @@ public: void GuiMain() { { - List errors; FileStream fileStream(L"../UIRes/ColorPicker.bin", FileStream::ReadOnly); - auto resource = GuiResource::LoadPrecompiledBinary(fileStream, errors); + auto resource = GuiResource::LoadPrecompiledBinary(fileStream); GetResourceManager()->SetResource(L"Resource", resource); } demo::MainWindow window(new ViewModel); diff --git a/Tutorial/GacUI_Controls/ColorPicker/UI/Resource.xml b/Tutorial/GacUI_Controls/ColorPicker/UI/Resource.xml index 9a07ae1a..e63cc49e 100644 --- a/Tutorial/GacUI_Controls/ColorPicker/UI/Resource.xml +++ b/Tutorial/GacUI_Controls/ColorPicker/UI/Resource.xml @@ -21,17 +21,13 @@ { interface IColorItem { - func GetItemName() : string; - prop ItemName : string {GetItemName} - - func GetItemColor() : Color; - prop ItemColor : Color {GetItemColor} + prop ItemName : string {const, not observe} + prop ItemColor : Color {const, not observe} } interface IViewModel { - func GetColorItems() : IColorItem^{}; - prop ColorItems : IColorItem^{} {GetColorItems} + prop ColorItems : IColorItem^{} {const, not observe} } } ]]> @@ -81,25 +77,7 @@ diff --git a/Tutorial/GacUI_Controls/ColorPicker/UI/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_Controls/ColorPicker/UI/Source/DemoPartialClasses.cpp index d04fc646..f930fd97 100644 --- a/Tutorial/GacUI_Controls/ColorPicker/UI/Source/DemoPartialClasses.cpp +++ b/Tutorial/GacUI_Controls/ColorPicker/UI/Source/DemoPartialClasses.cpp @@ -663,14 +663,13 @@ Class (::demo::ColorBomboItemTemplate) ::vl::presentation::Color ColorBomboItemTemplate::GetTextColor() { - return ::vl::__vwsn::This(this)->textColor; + return ::vl::__vwsn::This(this)->__vwsn_prop_TextColor; } - - void ColorBomboItemTemplate::SetTextColor(::vl::presentation::Color value) + void ColorBomboItemTemplate::SetTextColor(::vl::presentation::Color __vwsn_value_) { - if ((::vl::__vwsn::This(this)->textColor != value)) + if ((::vl::__vwsn::This(this)->__vwsn_prop_TextColor != __vwsn_value_)) { - (::vl::__vwsn::This(this)->textColor = value); + (::vl::__vwsn::This(this)->__vwsn_prop_TextColor = __vwsn_value_); ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(this)->TextColorChanged)(); } } @@ -913,12 +912,12 @@ namespace vl CLASS_MEMBER_CONSTRUCTOR(::demo::ColorBomboItemTemplate*(::vl::Ptr<::demo::IColorItem>), { L"__vwsn_ctor_parameter_ViewModel" }) CLASS_MEMBER_METHOD(GetTextColor, NO_PARAMETER) CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetTextColor, { L"value" }) + CLASS_MEMBER_METHOD(SetTextColor, { L"__vwsn_value_" }) CLASS_MEMBER_EVENT(TextColorChanged) CLASS_MEMBER_FIELD(__vwsn_parameter_ViewModel) + CLASS_MEMBER_FIELD(__vwsn_prop_TextColor) CLASS_MEMBER_PROPERTY_EVENT(TextColor, GetTextColor, SetTextColor, TextColorChanged) CLASS_MEMBER_PROPERTY_READONLY(ViewModel, GetViewModel) - CLASS_MEMBER_FIELD(textColor) END_CLASS_MEMBER(::demo::ColorBomboItemTemplate) BEGIN_CLASS_MEMBER(::demo::ColorBomboItemTemplateConstructor) diff --git a/Tutorial/GacUI_Controls/ColorPicker/UI/Source/DemoPartialClasses.h b/Tutorial/GacUI_Controls/ColorPicker/UI/Source/DemoPartialClasses.h index 36a557dc..7b06434b 100644 --- a/Tutorial/GacUI_Controls/ColorPicker/UI/Source/DemoPartialClasses.h +++ b/Tutorial/GacUI_Controls/ColorPicker/UI/Source/DemoPartialClasses.h @@ -92,12 +92,11 @@ namespace demo #ifndef VCZH_DEBUG_NO_REFLECTION friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif - protected: - ::vl::presentation::Color textColor = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#000000", false)); public: - ::vl::Event TextColorChanged; + ::vl::presentation::Color __vwsn_prop_TextColor = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#000000", false)); ::vl::presentation::Color GetTextColor(); - void SetTextColor(::vl::presentation::Color value); + void SetTextColor(::vl::presentation::Color __vwsn_value_); + ::vl::Event TextColorChanged; ::vl::Ptr<::demo::IColorItem> __vwsn_parameter_ViewModel = ::vl::Ptr<::demo::IColorItem>(); ::vl::Ptr<::demo::IColorItem> GetViewModel(); ColorBomboItemTemplate(::vl::Ptr<::demo::IColorItem> __vwsn_ctor_parameter_ViewModel); diff --git a/Tutorial/GacUI_Controls/ContainersAndButtons/Main.cpp b/Tutorial/GacUI_Controls/ContainersAndButtons/Main.cpp index c7a3c011..0c0de6e8 100644 --- a/Tutorial/GacUI_Controls/ContainersAndButtons/Main.cpp +++ b/Tutorial/GacUI_Controls/ContainersAndButtons/Main.cpp @@ -13,9 +13,8 @@ int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi void GuiMain() { { - List errors; FileStream fileStream(L"../UIRes/ContainersAndButtons.bin", FileStream::ReadOnly); - auto resource = GuiResource::LoadPrecompiledBinary(fileStream, errors); + auto resource = GuiResource::LoadPrecompiledBinary(fileStream); GetResourceManager()->SetResource(L"Resource", resource); } demo::MainWindow window; diff --git a/Tutorial/GacUI_Controls/TextEditor/Main.cpp b/Tutorial/GacUI_Controls/TextEditor/Main.cpp index 19f1aa57..7d444518 100644 --- a/Tutorial/GacUI_Controls/TextEditor/Main.cpp +++ b/Tutorial/GacUI_Controls/TextEditor/Main.cpp @@ -15,9 +15,8 @@ int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi void GuiMain() { { - List errors; FileStream fileStream(L"../UIRes/TextEditor.bin", FileStream::ReadOnly); - auto resource = GuiResource::LoadPrecompiledBinary(fileStream, errors); + auto resource = GuiResource::LoadPrecompiledBinary(fileStream); GetResourceManager()->SetResource(L"Resource", resource); } demo::MainWindow window;