This commit is contained in:
Zihan Chen
2017-08-26 03:31:19 -07:00
parent 817baba033
commit 76e04f415e
14 changed files with 581 additions and 504 deletions
@@ -270,7 +270,6 @@ public:
void GuiMain()
{
LoadDemoTypes();
{
FileStream fileStream(L"../UIRes/AddressBook.bin", FileStream::ReadOnly);
auto resource = GuiResource::LoadPrecompiledBinary(fileStream);
@@ -284,8 +284,8 @@
</att.Columns>
<att.DataColumns>
<Int32>1</Int32>
<Int32>2</Int32>
<_>1</_>
<_>2</_>
</att.DataColumns>
</BindableListView>
</Cell>
@@ -1,4 +1,4 @@
/***********************************************************************
/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!
GacGen.exe Resource.xml
@@ -13,132 +13,4 @@ https://github.com/vczh-libraries
#include "DemoPartialClasses.h"
#include "MainWindow.h"
/***********************************************************************
Reflection
***********************************************************************/
namespace vl
{
namespace reflection
{
namespace description
{
#ifndef VCZH_DEBUG_NO_REFLECTION
DECL_TYPE_INFO(::demo::ICategory)
DECL_TYPE_INFO(::demo::IContact)
DECL_TYPE_INFO(::demo::IViewModel)
DECL_TYPE_INFO(::demo::MainWindow)
DECL_TYPE_INFO(::demo::MainWindowConstructor)
DECL_TYPE_INFO(::demo::NewContactWindow)
DECL_TYPE_INFO(::demo::NewContactWindowConstructor)
DECL_TYPE_INFO(::demo::NewFolderWindow)
DECL_TYPE_INFO(::demo::NewFolderWindowConstructor)
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::demo::ICategory)
::vl::Ptr<::vl::reflection::description::IValueObservableList> GetContacts() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetContacts);
}
::vl::Ptr<::vl::reflection::description::IValueObservableList> GetFolders() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetFolders);
}
::vl::Ptr<::vl::presentation::GuiImageData> GetImage() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetImage);
}
::vl::WString GetName() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetName);
}
::demo::ICategory* GetParent() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetParent);
}
END_INTERFACE_PROXY(::demo::ICategory)
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::demo::IContact)
::vl::WString GetAddress() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetAddress);
}
::vl::Ptr<::vl::presentation::GuiImageData> GetBigImage() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetBigImage);
}
::vl::DateTime GetBirthday() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetBirthday);
}
::vl::WString GetBirthdayText() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetBirthdayText);
}
::vl::WString GetName() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetName);
}
::vl::WString GetPhone() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetPhone);
}
::vl::Ptr<::vl::presentation::GuiImageData> GetSmallImage() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetSmallImage);
}
void Update(const ::vl::WString& name, ::vl::DateTime birthday, const ::vl::WString& phone, const ::vl::WString& address) override
{
INVOKE_INTERFACE_PROXY(Update, name, birthday, phone, address);
}
END_INTERFACE_PROXY(::demo::IContact)
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::demo::IViewModel)
void AddCategory(const ::vl::WString& name) override
{
INVOKE_INTERFACE_PROXY(AddCategory, name);
}
void AddContact(::vl::Ptr<::demo::IContact> contact) override
{
INVOKE_INTERFACE_PROXY(AddContact, contact);
}
::vl::Ptr<::demo::IContact> CreateContact() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(CreateContact);
}
::vl::Ptr<::demo::ICategory> GetRootCategory() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetRootCategory);
}
::vl::Ptr<::demo::ICategory> GetSelectedCategory() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetSelectedCategory);
}
::vl::Ptr<::demo::IContact> GetSelectedContact() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetSelectedContact);
}
void RemoveCategory() override
{
INVOKE_INTERFACE_PROXY_NOPARAMS(RemoveCategory);
}
void RemoveContact() override
{
INVOKE_INTERFACE_PROXY_NOPARAMS(RemoveContact);
}
void SetSelectedCategory(::vl::Ptr<::demo::ICategory> __vwsn_value_) override
{
INVOKE_INTERFACE_PROXY(SetSelectedCategory, __vwsn_value_);
}
void SetSelectedContact(::vl::Ptr<::demo::IContact> __vwsn_value_) override
{
INVOKE_INTERFACE_PROXY(SetSelectedContact, __vwsn_value_);
}
END_INTERFACE_PROXY(::demo::IViewModel)
#endif
extern bool LoadDemoTypes();
}
}
}
#endif
File diff suppressed because it is too large Load Diff
@@ -11,9 +11,6 @@ https://github.com/vczh-libraries
#define VCZH_WORKFLOW_COMPILER_GENERATED_DEMOPARTIALCLASSES
#include "GacUI.h"
#ifndef VCZH_DEBUG_NO_REFLECTION
#include "GacUIReflection.h"
#endif
#if defined( _MSC_VER)
#pragma warning(push)
@@ -813,7 +810,7 @@ Closures
__vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine(::vl::reflection::description::AsyncCoroutine::IImpl* __vwsnctor___vwsn_co_impl_, ::demo::MainWindowConstructor* __vwsnctorthis_0);
::demo::NewFolderWindow* __vwsn_co0_window = nullptr;
::vl::vint32_t __vwsn_co_state_ = 0;
::vl::vint __vwsn_co_state_ = 0;
::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_prop_Failure;
::vl::Ptr<::vl::reflection::description::IValueException> GetFailure() override;
void SetFailure(::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_value_);
@@ -869,7 +866,7 @@ Closures
::vl::Ptr<::demo::IContact> __vwsn_co0_contact;
::demo::NewContactWindow* __vwsn_co1_window = nullptr;
::vl::vint32_t __vwsn_co_state_ = 0;
::vl::vint __vwsn_co_state_ = 0;
::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_prop_Failure;
::vl::Ptr<::vl::reflection::description::IValueException> GetFailure() override;
void SetFailure(::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_value_);
@@ -906,7 +903,7 @@ Closures
__vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine(::vl::reflection::description::AsyncCoroutine::IImpl* __vwsnctor___vwsn_co_impl_, ::demo::MainWindowConstructor* __vwsnctorthis_0);
::demo::NewContactWindow* __vwsn_co0_window = nullptr;
::vl::vint32_t __vwsn_co_state_ = 0;
::vl::vint __vwsn_co_state_ = 0;
::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_prop_Failure;
::vl::Ptr<::vl::reflection::description::IValueException> GetFailure() override;
void SetFailure(::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_value_);
@@ -0,0 +1,279 @@
/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!
GacGen.exe Resource.xml
This file is generated by Workflow compiler
https://github.com/vczh-libraries
***********************************************************************/
#include "DemoReflection.h"
#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wparentheses-equality"
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#endif
/***********************************************************************
Reflection
***********************************************************************/
namespace vl
{
namespace reflection
{
namespace description
{
#ifndef VCZH_DEBUG_NO_REFLECTION
IMPL_CPP_TYPE_INFO(demo::ICategory)
IMPL_CPP_TYPE_INFO(demo::IContact)
IMPL_CPP_TYPE_INFO(demo::IViewModel)
IMPL_CPP_TYPE_INFO(demo::MainWindow)
IMPL_CPP_TYPE_INFO(demo::MainWindowConstructor)
IMPL_CPP_TYPE_INFO(demo::NewContactWindow)
IMPL_CPP_TYPE_INFO(demo::NewContactWindowConstructor)
IMPL_CPP_TYPE_INFO(demo::NewFolderWindow)
IMPL_CPP_TYPE_INFO(demo::NewFolderWindowConstructor)
#define _ ,
BEGIN_INTERFACE_MEMBER(::demo::ICategory)
CLASS_MEMBER_METHOD(GetContacts, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetFolders, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetImage, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetName, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetParent, NO_PARAMETER)
CLASS_MEMBER_PROPERTY_READONLY(Contacts, GetContacts)
CLASS_MEMBER_PROPERTY_READONLY(Folders, GetFolders)
CLASS_MEMBER_PROPERTY_READONLY(Image, GetImage)
CLASS_MEMBER_PROPERTY_READONLY(Name, GetName)
CLASS_MEMBER_PROPERTY_READONLY(Parent, GetParent)
END_INTERFACE_MEMBER(::demo::ICategory)
BEGIN_INTERFACE_MEMBER(::demo::IContact)
CLASS_MEMBER_METHOD(GetAddress, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetBigImage, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetBirthday, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetBirthdayText, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetName, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetPhone, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetSmallImage, NO_PARAMETER)
CLASS_MEMBER_METHOD(Update, { L"name" _ L"birthday" _ L"phone" _ L"address" })
CLASS_MEMBER_PROPERTY_READONLY(Address, GetAddress)
CLASS_MEMBER_PROPERTY_READONLY(BigImage, GetBigImage)
CLASS_MEMBER_PROPERTY_READONLY(Birthday, GetBirthday)
CLASS_MEMBER_PROPERTY_READONLY(BirthdayText, GetBirthdayText)
CLASS_MEMBER_PROPERTY_READONLY(Name, GetName)
CLASS_MEMBER_PROPERTY_READONLY(Phone, GetPhone)
CLASS_MEMBER_PROPERTY_READONLY(SmallImage, GetSmallImage)
END_INTERFACE_MEMBER(::demo::IContact)
BEGIN_INTERFACE_MEMBER(::demo::IViewModel)
CLASS_MEMBER_METHOD(AddCategory, { L"name" })
CLASS_MEMBER_METHOD(AddContact, { L"contact" })
CLASS_MEMBER_METHOD(CreateContact, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetRootCategory, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetSelectedCategory, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetSelectedContact, NO_PARAMETER)
CLASS_MEMBER_METHOD(RemoveCategory, NO_PARAMETER)
CLASS_MEMBER_METHOD(RemoveContact, NO_PARAMETER)
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)
CLASS_MEMBER_PROPERTY_EVENT(SelectedContact, GetSelectedContact, SetSelectedContact, SelectedContactChanged)
END_INTERFACE_MEMBER(::demo::IViewModel)
BEGIN_CLASS_MEMBER(::demo::MainWindow)
CLASS_MEMBER_CONSTRUCTOR(::demo::MainWindow*(::vl::Ptr<::demo::IViewModel>), { L"__vwsn_ctor_parameter_ViewModel" })
CLASS_MEMBER_METHOD(ClearViewSelection, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER)
CLASS_MEMBER_FIELD(__vwsn_parameter_ViewModel)
CLASS_MEMBER_PROPERTY_READONLY(ViewModel, GetViewModel)
END_CLASS_MEMBER(::demo::MainWindow)
BEGIN_CLASS_MEMBER(::demo::MainWindowConstructor)
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MainWindowConstructor>(), NO_PARAMETER)
CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" })
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
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_14)
CLASS_MEMBER_FIELD(__vwsn_precompile_15)
CLASS_MEMBER_FIELD(__vwsn_precompile_16)
CLASS_MEMBER_FIELD(__vwsn_precompile_17)
CLASS_MEMBER_FIELD(__vwsn_precompile_18)
CLASS_MEMBER_FIELD(__vwsn_precompile_19)
CLASS_MEMBER_FIELD(__vwsn_precompile_2)
CLASS_MEMBER_FIELD(__vwsn_precompile_20)
CLASS_MEMBER_FIELD(__vwsn_precompile_21)
CLASS_MEMBER_FIELD(__vwsn_precompile_22)
CLASS_MEMBER_FIELD(__vwsn_precompile_23)
CLASS_MEMBER_FIELD(__vwsn_precompile_24)
CLASS_MEMBER_FIELD(__vwsn_precompile_25)
CLASS_MEMBER_FIELD(__vwsn_precompile_26)
CLASS_MEMBER_FIELD(__vwsn_precompile_27)
CLASS_MEMBER_FIELD(__vwsn_precompile_28)
CLASS_MEMBER_FIELD(__vwsn_precompile_29)
CLASS_MEMBER_FIELD(__vwsn_precompile_3)
CLASS_MEMBER_FIELD(__vwsn_precompile_30)
CLASS_MEMBER_FIELD(__vwsn_precompile_31)
CLASS_MEMBER_FIELD(__vwsn_precompile_32)
CLASS_MEMBER_FIELD(__vwsn_precompile_33)
CLASS_MEMBER_FIELD(__vwsn_precompile_34)
CLASS_MEMBER_FIELD(__vwsn_precompile_35)
CLASS_MEMBER_FIELD(__vwsn_precompile_36)
CLASS_MEMBER_FIELD(__vwsn_precompile_37)
CLASS_MEMBER_FIELD(__vwsn_precompile_38)
CLASS_MEMBER_FIELD(__vwsn_precompile_39)
CLASS_MEMBER_FIELD(__vwsn_precompile_4)
CLASS_MEMBER_FIELD(__vwsn_precompile_5)
CLASS_MEMBER_FIELD(__vwsn_precompile_6)
CLASS_MEMBER_FIELD(__vwsn_precompile_7)
CLASS_MEMBER_FIELD(__vwsn_precompile_8)
CLASS_MEMBER_FIELD(__vwsn_precompile_9)
CLASS_MEMBER_FIELD(ViewModel)
CLASS_MEMBER_FIELD(commandBigIcon)
CLASS_MEMBER_FIELD(commandDeleteContact)
CLASS_MEMBER_FIELD(commandDeleteFolder)
CLASS_MEMBER_FIELD(commandDetail)
CLASS_MEMBER_FIELD(commandEditContact)
CLASS_MEMBER_FIELD(commandInformation)
CLASS_MEMBER_FIELD(commandList)
CLASS_MEMBER_FIELD(commandNewContact)
CLASS_MEMBER_FIELD(commandNewFolder)
CLASS_MEMBER_FIELD(commandSmallIcon)
CLASS_MEMBER_FIELD(commandTile)
CLASS_MEMBER_FIELD(listViewContacts)
CLASS_MEMBER_FIELD(self)
CLASS_MEMBER_FIELD(treeViewFolders)
END_CLASS_MEMBER(::demo::MainWindowConstructor)
BEGIN_CLASS_MEMBER(::demo::NewContactWindow)
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"__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)
END_CLASS_MEMBER(::demo::NewContactWindow)
BEGIN_CLASS_MEMBER(::demo::NewContactWindowConstructor)
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::NewContactWindowConstructor>(), NO_PARAMETER)
CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" })
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
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_14)
CLASS_MEMBER_FIELD(__vwsn_precompile_15)
CLASS_MEMBER_FIELD(__vwsn_precompile_16)
CLASS_MEMBER_FIELD(__vwsn_precompile_17)
CLASS_MEMBER_FIELD(__vwsn_precompile_18)
CLASS_MEMBER_FIELD(__vwsn_precompile_19)
CLASS_MEMBER_FIELD(__vwsn_precompile_2)
CLASS_MEMBER_FIELD(__vwsn_precompile_20)
CLASS_MEMBER_FIELD(__vwsn_precompile_21)
CLASS_MEMBER_FIELD(__vwsn_precompile_22)
CLASS_MEMBER_FIELD(__vwsn_precompile_3)
CLASS_MEMBER_FIELD(__vwsn_precompile_4)
CLASS_MEMBER_FIELD(__vwsn_precompile_5)
CLASS_MEMBER_FIELD(__vwsn_precompile_6)
CLASS_MEMBER_FIELD(__vwsn_precompile_7)
CLASS_MEMBER_FIELD(__vwsn_precompile_8)
CLASS_MEMBER_FIELD(__vwsn_precompile_9)
CLASS_MEMBER_FIELD(Contact)
CLASS_MEMBER_FIELD(datePickerBirthday)
CLASS_MEMBER_FIELD(self)
CLASS_MEMBER_FIELD(textBoxAddress)
CLASS_MEMBER_FIELD(textBoxName)
CLASS_MEMBER_FIELD(textBoxPhone)
END_CLASS_MEMBER(::demo::NewContactWindowConstructor)
BEGIN_CLASS_MEMBER(::demo::NewFolderWindow)
CLASS_MEMBER_CONSTRUCTOR(::demo::NewFolderWindow*(), NO_PARAMETER)
CLASS_MEMBER_METHOD(GetFolderName, NO_PARAMETER)
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)
END_CLASS_MEMBER(::demo::NewFolderWindow)
BEGIN_CLASS_MEMBER(::demo::NewFolderWindowConstructor)
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::NewFolderWindowConstructor>(), NO_PARAMETER)
CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" })
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
CLASS_MEMBER_FIELD(__vwsn_precompile_10)
CLASS_MEMBER_FIELD(__vwsn_precompile_2)
CLASS_MEMBER_FIELD(__vwsn_precompile_3)
CLASS_MEMBER_FIELD(__vwsn_precompile_4)
CLASS_MEMBER_FIELD(__vwsn_precompile_5)
CLASS_MEMBER_FIELD(__vwsn_precompile_6)
CLASS_MEMBER_FIELD(__vwsn_precompile_7)
CLASS_MEMBER_FIELD(__vwsn_precompile_8)
CLASS_MEMBER_FIELD(__vwsn_precompile_9)
CLASS_MEMBER_FIELD(self)
CLASS_MEMBER_FIELD(textBoxName)
END_CLASS_MEMBER(::demo::NewFolderWindowConstructor)
#undef _
class DemoTypeLoader : public Object, public ITypeLoader
{
public:
void Load(ITypeManager* manager)
{
ADD_TYPE_INFO(::demo::ICategory)
ADD_TYPE_INFO(::demo::IContact)
ADD_TYPE_INFO(::demo::IViewModel)
ADD_TYPE_INFO(::demo::MainWindow)
ADD_TYPE_INFO(::demo::MainWindowConstructor)
ADD_TYPE_INFO(::demo::NewContactWindow)
ADD_TYPE_INFO(::demo::NewContactWindowConstructor)
ADD_TYPE_INFO(::demo::NewFolderWindow)
ADD_TYPE_INFO(::demo::NewFolderWindowConstructor)
}
void Unload(ITypeManager* manager)
{
}
};
#endif
bool LoadDemoTypes()
{
#ifndef VCZH_DEBUG_NO_REFLECTION
if (auto manager = GetGlobalTypeManager())
{
return manager->AddTypeLoader(MakePtr<DemoTypeLoader>());
}
#endif
return false;
}
}
}
}
#if defined( _MSC_VER)
#pragma warning(pop)
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#elif defined(__clang__)
#pragma clang diagnostic pop
#endif
@@ -0,0 +1,165 @@
/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!
GacGen.exe Resource.xml
This file is generated by Workflow compiler
https://github.com/vczh-libraries
***********************************************************************/
#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DEMOREFLECTION
#define VCZH_WORKFLOW_COMPILER_GENERATED_DEMOREFLECTION
#include "Demo.h"
#ifndef VCZH_DEBUG_NO_REFLECTION
#include "GacUIReflection.h"
#endif
#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wparentheses-equality"
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#endif
/***********************************************************************
Reflection
***********************************************************************/
namespace vl
{
namespace reflection
{
namespace description
{
#ifndef VCZH_DEBUG_NO_REFLECTION
DECL_TYPE_INFO(::demo::ICategory)
DECL_TYPE_INFO(::demo::IContact)
DECL_TYPE_INFO(::demo::IViewModel)
DECL_TYPE_INFO(::demo::MainWindow)
DECL_TYPE_INFO(::demo::MainWindowConstructor)
DECL_TYPE_INFO(::demo::NewContactWindow)
DECL_TYPE_INFO(::demo::NewContactWindowConstructor)
DECL_TYPE_INFO(::demo::NewFolderWindow)
DECL_TYPE_INFO(::demo::NewFolderWindowConstructor)
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::demo::ICategory)
::vl::Ptr<::vl::reflection::description::IValueObservableList> GetContacts() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetContacts);
}
::vl::Ptr<::vl::reflection::description::IValueObservableList> GetFolders() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetFolders);
}
::vl::Ptr<::vl::presentation::GuiImageData> GetImage() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetImage);
}
::vl::WString GetName() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetName);
}
::demo::ICategory* GetParent() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetParent);
}
END_INTERFACE_PROXY(::demo::ICategory)
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::demo::IContact)
::vl::WString GetAddress() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetAddress);
}
::vl::Ptr<::vl::presentation::GuiImageData> GetBigImage() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetBigImage);
}
::vl::DateTime GetBirthday() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetBirthday);
}
::vl::WString GetBirthdayText() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetBirthdayText);
}
::vl::WString GetName() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetName);
}
::vl::WString GetPhone() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetPhone);
}
::vl::Ptr<::vl::presentation::GuiImageData> GetSmallImage() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetSmallImage);
}
void Update(const ::vl::WString& name, ::vl::DateTime birthday, const ::vl::WString& phone, const ::vl::WString& address) override
{
INVOKE_INTERFACE_PROXY(Update, name, birthday, phone, address);
}
END_INTERFACE_PROXY(::demo::IContact)
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::demo::IViewModel)
void AddCategory(const ::vl::WString& name) override
{
INVOKE_INTERFACE_PROXY(AddCategory, name);
}
void AddContact(::vl::Ptr<::demo::IContact> contact) override
{
INVOKE_INTERFACE_PROXY(AddContact, contact);
}
::vl::Ptr<::demo::IContact> CreateContact() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(CreateContact);
}
::vl::Ptr<::demo::ICategory> GetRootCategory() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetRootCategory);
}
::vl::Ptr<::demo::ICategory> GetSelectedCategory() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetSelectedCategory);
}
::vl::Ptr<::demo::IContact> GetSelectedContact() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetSelectedContact);
}
void RemoveCategory() override
{
INVOKE_INTERFACE_PROXY_NOPARAMS(RemoveCategory);
}
void RemoveContact() override
{
INVOKE_INTERFACE_PROXY_NOPARAMS(RemoveContact);
}
void SetSelectedCategory(::vl::Ptr<::demo::ICategory> __vwsn_value_) override
{
INVOKE_INTERFACE_PROXY(SetSelectedCategory, __vwsn_value_);
}
void SetSelectedContact(::vl::Ptr<::demo::IContact> __vwsn_value_) override
{
INVOKE_INTERFACE_PROXY(SetSelectedContact, __vwsn_value_);
}
END_INTERFACE_PROXY(::demo::IViewModel)
#endif
extern bool LoadDemoTypes();
}
}
}
#if defined( _MSC_VER)
#pragma warning(pop)
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#elif defined(__clang__)
#pragma clang diagnostic pop
#endif
#endif
@@ -8,6 +8,12 @@ https://github.com/vczh-libraries
***********************************************************************/
#include "Demo.h"
/* CodePack:BeginIgnore() */
#ifndef VCZH_DEBUG_NO_REFLECTION
/* CodePack:ConditionOff(VCZH_DEBUG_NO_REFLECTION, DemoReflection.h) */
#include "DemoReflection.h"
#endif
/* CodePack:EndIgnore() */
#if defined( _MSC_VER)
#pragma warning(push)
Binary file not shown.