mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-30 04:55:18 +08:00
Update release
This commit is contained in:
+190
-217
File diff suppressed because it is too large
Load Diff
+184
-185
File diff suppressed because it is too large
Load Diff
+641
-596
File diff suppressed because it is too large
Load Diff
+29
-283
@@ -483,18 +483,28 @@ Instance Loader
|
|||||||
SupportSet,
|
SupportSet,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum PropertyScope
|
enum PropertyUsage
|
||||||
{
|
{
|
||||||
ViewModel, // <ref.Parameter/>
|
ConstructorArgument,
|
||||||
Constructor, // constructor parameter that is not ViewModel
|
Property,
|
||||||
Property, // property of the class
|
};
|
||||||
|
|
||||||
|
enum PropertyBindability
|
||||||
|
{
|
||||||
|
Bindable,
|
||||||
|
NotBindable,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum PropertyMergability
|
||||||
|
{
|
||||||
|
MergeWithParent,
|
||||||
|
NotMerge,
|
||||||
};
|
};
|
||||||
|
|
||||||
Support support = NotSupport;
|
Support support = NotSupport;
|
||||||
bool tryParent = false;
|
PropertyUsage usage = Property;
|
||||||
bool required = false; // only apply to constructor
|
PropertyBindability bindability = NotBindable;
|
||||||
bool bindable = false; // only apply to constructor
|
PropertyMergability mergability = NotMerge;
|
||||||
PropertyScope scope = Property;
|
|
||||||
TypeInfoList acceptableTypes;
|
TypeInfoList acceptableTypes;
|
||||||
|
|
||||||
static Ptr<GuiInstancePropertyInfo> Unsupported();
|
static Ptr<GuiInstancePropertyInfo> Unsupported();
|
||||||
@@ -565,8 +575,8 @@ Instance Loader
|
|||||||
virtual GlobalStringKey GetTypeName() = 0;
|
virtual GlobalStringKey GetTypeName() = 0;
|
||||||
virtual void ClearReflectionCache();
|
virtual void ClearReflectionCache();
|
||||||
|
|
||||||
|
virtual void GetRequiredPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames);
|
||||||
virtual void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames);
|
virtual void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames);
|
||||||
virtual void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames);
|
|
||||||
virtual void GetPairedProperties(const PropertyInfo& propertyInfo, collections::List<GlobalStringKey>& propertyNames);
|
virtual void GetPairedProperties(const PropertyInfo& propertyInfo, collections::List<GlobalStringKey>& propertyNames);
|
||||||
virtual Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo);
|
virtual Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo);
|
||||||
|
|
||||||
@@ -1006,10 +1016,6 @@ GuiVrtualTypeInstanceLoader
|
|||||||
ArgumentFunctionType argumentFunction;
|
ArgumentFunctionType argumentFunction;
|
||||||
InitFunctionType initFunction;
|
InitFunctionType initFunction;
|
||||||
|
|
||||||
virtual void PrepareAdditionalArguments(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceError::List& errors, Ptr<WfBlockStatement> block)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void AddAdditionalArguments(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceError::List& errors, Ptr<WfNewClassExpression> createControl)
|
virtual void AddAdditionalArguments(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceError::List& errors, Ptr<WfNewClassExpression> createControl)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -1071,247 +1077,6 @@ GuiVrtualTypeInstanceLoader
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static Ptr<WfExpression> CreateTemplateFactory(types::ResolvingResult& resolvingResult, List<ITypeDescriptor*>& controlTemplateTds, GuiResourceTextPos attPosition, GuiResourceError::List& errors)
|
|
||||||
{
|
|
||||||
auto templateType = TypeInfoRetriver<TTemplate*>::CreateTypeInfo();
|
|
||||||
auto factoryType = TypeInfoRetriver<Ptr<GuiTemplate::IFactory>>::CreateTypeInfo();
|
|
||||||
|
|
||||||
auto refFactory = MakePtr<WfNewInterfaceExpression>();
|
|
||||||
refFactory->type = GetTypeFromTypeInfo(factoryType.Obj());
|
|
||||||
{
|
|
||||||
auto funcCreateTemplate = MakePtr<WfFunctionDeclaration>();
|
|
||||||
funcCreateTemplate->anonymity = WfFunctionAnonymity::Named;
|
|
||||||
funcCreateTemplate->name.value = L"CreateTemplate";
|
|
||||||
funcCreateTemplate->returnType = GetTypeFromTypeInfo(TypeInfoRetriver<GuiTemplate*>::CreateTypeInfo().Obj());
|
|
||||||
|
|
||||||
auto argViewModel = MakePtr<WfFunctionArgument>();
|
|
||||||
argViewModel->type = GetTypeFromTypeInfo(TypeInfoRetriver<Value>::CreateTypeInfo().Obj());
|
|
||||||
argViewModel->name.value = L"<viewModel>";
|
|
||||||
funcCreateTemplate->arguments.Add(argViewModel);
|
|
||||||
|
|
||||||
auto block = MakePtr<WfBlockStatement>();
|
|
||||||
funcCreateTemplate->statement = block;
|
|
||||||
|
|
||||||
ITypeDescriptor* stopControlTemplateTd = nullptr;
|
|
||||||
FOREACH(ITypeDescriptor*, controlTemplateTd, controlTemplateTds)
|
|
||||||
{
|
|
||||||
if (stopControlTemplateTd)
|
|
||||||
{
|
|
||||||
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
|
|
||||||
L"Precompile: Type \"" +
|
|
||||||
controlTemplateTd->GetTypeName() +
|
|
||||||
L"\" will never be tried, because \"" +
|
|
||||||
stopControlTemplateTd->GetTypeName() +
|
|
||||||
L"\", which is listed before, has a default constructor. So whatever the view model is, it will be the last choice."));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
ITypeInfo* viewModelType = nullptr;
|
|
||||||
{
|
|
||||||
auto ctors = controlTemplateTd->GetConstructorGroup();
|
|
||||||
if (ctors->GetMethodCount() != 1)
|
|
||||||
{
|
|
||||||
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
|
|
||||||
L"Precompile: To use type \"" +
|
|
||||||
controlTemplateTd->GetTypeName() +
|
|
||||||
L"\" as a control template or item template, it should have exactly one constructor."));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto ctor = ctors->GetMethod(0);
|
|
||||||
if (ctor->GetParameterCount() > 1)
|
|
||||||
{
|
|
||||||
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
|
|
||||||
L"Precompile: To use type \"" +
|
|
||||||
controlTemplateTd->GetTypeName() +
|
|
||||||
L"\" as a control template or item template, its constructor cannot have more than one parameter."));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ctor->GetParameterCount() != 0)
|
|
||||||
{
|
|
||||||
viewModelType = ctor->GetParameter(0)->GetType();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!viewModelType)
|
|
||||||
{
|
|
||||||
stopControlTemplateTd = controlTemplateTd;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto subBlock = MakePtr<WfBlockStatement>();
|
|
||||||
block->statements.Add(subBlock);
|
|
||||||
|
|
||||||
Ptr<ITypeInfo> controlTemplateType;
|
|
||||||
{
|
|
||||||
auto elementType = MakePtr<TypeDescriptorTypeInfo>(controlTemplateTd, TypeInfoHint::Normal);
|
|
||||||
auto pointerType = MakePtr<RawPtrTypeInfo>(elementType);
|
|
||||||
|
|
||||||
controlTemplateType = pointerType;
|
|
||||||
}
|
|
||||||
|
|
||||||
Ptr<WfBlockStatement> returnStatBlock;
|
|
||||||
if (viewModelType)
|
|
||||||
{
|
|
||||||
auto refViewModel = MakePtr<WfReferenceExpression>();
|
|
||||||
refViewModel->name.value = L"<viewModel>";
|
|
||||||
|
|
||||||
auto condition = MakePtr<WfTypeTestingExpression>();
|
|
||||||
condition->test = WfTypeTesting::IsType;
|
|
||||||
condition->expression = refViewModel;
|
|
||||||
condition->type = GetTypeFromTypeInfo(viewModelType);
|
|
||||||
|
|
||||||
auto ifStat = MakePtr<WfIfStatement>();
|
|
||||||
subBlock->statements.Add(ifStat);
|
|
||||||
ifStat->expression = condition;
|
|
||||||
|
|
||||||
returnStatBlock = MakePtr<WfBlockStatement>();
|
|
||||||
ifStat->trueBranch = returnStatBlock;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
returnStatBlock = subBlock;
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
auto createControlTemplate = MakePtr<WfNewClassExpression>();
|
|
||||||
createControlTemplate->type = GetTypeFromTypeInfo(controlTemplateType.Obj());
|
|
||||||
if (viewModelType)
|
|
||||||
{
|
|
||||||
auto refViewModel = MakePtr<WfReferenceExpression>();
|
|
||||||
refViewModel->name.value = L"<viewModel>";
|
|
||||||
|
|
||||||
auto cast = MakePtr<WfTypeCastingExpression>();
|
|
||||||
cast->strategy = WfTypeCastingStrategy::Strong;
|
|
||||||
cast->expression = refViewModel;
|
|
||||||
cast->type = GetTypeFromTypeInfo(viewModelType);
|
|
||||||
createControlTemplate->arguments.Add(cast);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto varTemplate = MakePtr<WfVariableDeclaration>();
|
|
||||||
varTemplate->type = GetTypeFromTypeInfo(templateType.Obj());
|
|
||||||
varTemplate->name.value = L"<template>";
|
|
||||||
varTemplate->expression = createControlTemplate;
|
|
||||||
|
|
||||||
auto varStat = MakePtr<WfVariableStatement>();
|
|
||||||
varStat->variable = varTemplate;
|
|
||||||
returnStatBlock->statements.Add(varStat);
|
|
||||||
}
|
|
||||||
{
|
|
||||||
auto refTemplate = MakePtr<WfReferenceExpression>();
|
|
||||||
refTemplate->name.value = L"<template>";
|
|
||||||
|
|
||||||
auto returnStat = MakePtr<WfReturnStatement>();
|
|
||||||
returnStat->expression = refTemplate;
|
|
||||||
returnStatBlock->statements.Add(returnStat);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!stopControlTemplateTd)
|
|
||||||
{
|
|
||||||
auto value = MakePtr<WfStringExpression>();
|
|
||||||
value->value.value = L"Cannot find a matched control template to create.";
|
|
||||||
|
|
||||||
auto raiseStat = MakePtr<WfRaiseExceptionStatement>();
|
|
||||||
raiseStat->expression = value;
|
|
||||||
|
|
||||||
block->statements.Add(raiseStat);
|
|
||||||
}
|
|
||||||
|
|
||||||
funcCreateTemplate->classMember = MakePtr<WfClassMember>();
|
|
||||||
funcCreateTemplate->classMember->kind = WfClassMemberKind::Override;
|
|
||||||
refFactory->declarations.Add(funcCreateTemplate);
|
|
||||||
}
|
|
||||||
|
|
||||||
return refFactory;
|
|
||||||
}
|
|
||||||
|
|
||||||
static Ptr<WfExpression> CreateTemplateFactory(types::ResolvingResult& resolvingResult, ITypeDescriptor* controlTemplateTd, GuiResourceTextPos attPosition, GuiResourceError::List& errors)
|
|
||||||
{
|
|
||||||
List<ITypeDescriptor*> controlTemplateTds;
|
|
||||||
controlTemplateTds.Add(controlTemplateTd);
|
|
||||||
return CreateTemplateFactory(resolvingResult, controlTemplateTds, attPosition, errors);
|
|
||||||
}
|
|
||||||
|
|
||||||
static ITypeDescriptor* GetControlTemplateType(types::ResolvingResult& resolvingResult, Ptr<WfExpression> argument, const TypeInfo& controlTypeInfo, GuiResourceTextPos attPosition, GuiResourceError::List& errors)
|
|
||||||
{
|
|
||||||
auto controlTemplateNameExpr = argument.Cast<WfStringExpression>();
|
|
||||||
if (!controlTemplateNameExpr)
|
|
||||||
{
|
|
||||||
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
|
|
||||||
L"[INTERNAL ERROR] Precompile: The value of contructor parameter \"" +
|
|
||||||
GlobalStringKey::_ControlTemplate.ToString() +
|
|
||||||
L"\" of type \"" +
|
|
||||||
controlTypeInfo.typeName.ToString() +
|
|
||||||
L"\" should be a constant representing the control template type name."));
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto controlTemplateName = controlTemplateNameExpr->value.value;
|
|
||||||
if (wcschr(controlTemplateName.Buffer(), L';') != nullptr)
|
|
||||||
{
|
|
||||||
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
|
|
||||||
L"Precompile: \"" +
|
|
||||||
controlTemplateNameExpr->value.value +
|
|
||||||
L"\", which is assigned to contructor parameter \"" +
|
|
||||||
GlobalStringKey::_ControlTemplate.ToString() +
|
|
||||||
L" of type \"" +
|
|
||||||
controlTypeInfo.typeName.ToString() +
|
|
||||||
L"\", is illegal because control template should not have multiple choices."));
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto controlTemplateTd = description::GetTypeDescriptor(controlTemplateName);
|
|
||||||
if (!controlTemplateTd)
|
|
||||||
{
|
|
||||||
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
|
|
||||||
L"Precompile: Type \"" +
|
|
||||||
controlTemplateNameExpr->value.value +
|
|
||||||
L"\", which is assigned to contructor parameter \"" +
|
|
||||||
GlobalStringKey::_ControlTemplate.ToString() +
|
|
||||||
L" of type \"" +
|
|
||||||
controlTypeInfo.typeName.ToString() +
|
|
||||||
L"\", does not exist."));
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
return controlTemplateTd;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void GetItemTemplateType(types::ResolvingResult& resolvingResult, Ptr<WfExpression> argument, List<ITypeDescriptor*>& tds, const TypeInfo& controlTypeInfo, const WString& propertyName, GuiResourceTextPos attPosition, GuiResourceError::List& errors)
|
|
||||||
{
|
|
||||||
auto controlTemplateNameExpr = argument.Cast<WfStringExpression>();
|
|
||||||
if (!controlTemplateNameExpr)
|
|
||||||
{
|
|
||||||
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
|
|
||||||
L"Precompile: The value of contructor parameter \"" +
|
|
||||||
propertyName + L"\" of type \"" +
|
|
||||||
controlTypeInfo.typeName.ToString() +
|
|
||||||
L"\" should be a constant representing control template type names."));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
List<WString> typeNames;
|
|
||||||
SplitBySemicolon(controlTemplateNameExpr->value.value, typeNames);
|
|
||||||
|
|
||||||
FOREACH(WString, controlTemplateName, typeNames)
|
|
||||||
{
|
|
||||||
auto controlTemplateTd = description::GetTypeDescriptor(controlTemplateName);
|
|
||||||
if (!controlTemplateTd)
|
|
||||||
{
|
|
||||||
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
|
|
||||||
L"Precompile: Type \"" +
|
|
||||||
controlTemplateNameExpr->value.value +
|
|
||||||
L"\", which is assigned to contructor parameter \"" + propertyName +
|
|
||||||
L" of type \"" +
|
|
||||||
controlTypeInfo.typeName.ToString() +
|
|
||||||
L"\", does not exist."));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
tds.Add(controlTemplateTd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GuiTemplateControlInstanceLoader(const WString& _typeName, const WString& _styleMethod)
|
GuiTemplateControlInstanceLoader(const WString& _typeName, const WString& _styleMethod)
|
||||||
:typeName(GlobalStringKey::Get(_typeName))
|
:typeName(GlobalStringKey::Get(_typeName))
|
||||||
@@ -1345,17 +1110,20 @@ GuiVrtualTypeInstanceLoader
|
|||||||
return typeName;
|
return typeName;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||||
|
{
|
||||||
|
if (CanCreate(typeInfo))
|
||||||
{
|
{
|
||||||
propertyNames.Add(GlobalStringKey::_ControlTemplate);
|
propertyNames.Add(GlobalStringKey::_ControlTemplate);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||||
{
|
{
|
||||||
if (propertyInfo.propertyName == GlobalStringKey::_ControlTemplate)
|
if (propertyInfo.propertyName == GlobalStringKey::_ControlTemplate)
|
||||||
{
|
{
|
||||||
auto info = GuiInstancePropertyInfo::Assign(TypeInfoRetriver<WString>::CreateTypeInfo());
|
auto info = GuiInstancePropertyInfo::Assign(TypeInfoRetriver<TemplateProperty<TTemplate>>::CreateTypeInfo());
|
||||||
info->scope = GuiInstancePropertyInfo::Constructor;
|
info->usage = GuiInstancePropertyInfo::ConstructorArgument;
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1367,42 +1135,20 @@ GuiVrtualTypeInstanceLoader
|
|||||||
}
|
}
|
||||||
|
|
||||||
Ptr<workflow::WfExpression> CreateInstance_ControlTemplate(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, ArgumentMap& arguments, GuiResourceError::List& errors)
|
Ptr<workflow::WfExpression> CreateInstance_ControlTemplate(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, ArgumentMap& arguments, GuiResourceError::List& errors)
|
||||||
{
|
|
||||||
Ptr<WfExpression> controlTemplate;
|
|
||||||
GuiResourceTextPos attPosition;
|
|
||||||
{
|
{
|
||||||
auto index = arguments.Keys().IndexOf(GlobalStringKey::_ControlTemplate);
|
auto index = arguments.Keys().IndexOf(GlobalStringKey::_ControlTemplate);
|
||||||
if (index != -1)
|
if (index != -1)
|
||||||
{
|
{
|
||||||
auto argument = arguments.GetByIndex(index)[0];
|
auto argument = arguments.GetByIndex(index)[0];
|
||||||
controlTemplate = argument.expression;
|
|
||||||
attPosition = argument.attPosition;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (controlTemplate)
|
|
||||||
{
|
|
||||||
if (auto controlTemplateTd = GetControlTemplateType(resolvingResult, controlTemplate, typeInfo, attPosition, errors))
|
|
||||||
{
|
|
||||||
auto styleType = TypeInfoRetriver<TControlStyle*>::CreateTypeInfo();
|
|
||||||
|
|
||||||
auto refFactory = CreateTemplateFactory(resolvingResult, controlTemplateTd, attPosition, errors);
|
|
||||||
auto createStyle = MakePtr<WfNewClassExpression>();
|
auto createStyle = MakePtr<WfNewClassExpression>();
|
||||||
createStyle->type = GetTypeFromTypeInfo(styleType.Obj());
|
createStyle->type = GetTypeFromTypeInfo(TypeInfoRetriver<TControlStyle*>::CreateTypeInfo().Obj());
|
||||||
createStyle->arguments.Add(refFactory);
|
createStyle->arguments.Add(argument.expression);
|
||||||
|
|
||||||
return createStyle;
|
return createStyle;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return CreateIThemeCall(styleMethod);
|
return CreateIThemeCall(styleMethod);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Ptr<workflow::WfBaseConstructorCall> CreateRootInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, ArgumentMap& arguments, GuiResourceError::List& errors)override
|
Ptr<workflow::WfBaseConstructorCall> CreateRootInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, ArgumentMap& arguments, GuiResourceError::List& errors)override
|
||||||
{
|
{
|
||||||
@@ -1418,7 +1164,7 @@ GuiVrtualTypeInstanceLoader
|
|||||||
|
|
||||||
Ptr<workflow::WfStatement> CreateInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos tagPosition, GuiResourceError::List& errors)override
|
Ptr<workflow::WfStatement> CreateInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos tagPosition, GuiResourceError::List& errors)override
|
||||||
{
|
{
|
||||||
CHECK_ERROR(typeName == typeInfo.typeName, L"GuiTemplateControlInstanceLoader::CreateInstance# Wrong type info is provided.");
|
CHECK_ERROR(CanCreate(typeInfo), L"GuiTemplateControlInstanceLoader::CreateInstance# Wrong type info is provided.");
|
||||||
vint indexControlTemplate = arguments.Keys().IndexOf(GlobalStringKey::_ControlTemplate);
|
vint indexControlTemplate = arguments.Keys().IndexOf(GlobalStringKey::_ControlTemplate);
|
||||||
|
|
||||||
auto createStyleExpr = CreateInstance_ControlTemplate(resolvingResult, typeInfo, arguments, errors);
|
auto createStyleExpr = CreateInstance_ControlTemplate(resolvingResult, typeInfo, arguments, errors);
|
||||||
@@ -1437,7 +1183,7 @@ GuiVrtualTypeInstanceLoader
|
|||||||
varStat->variable = varTemplate;
|
varStat->variable = varTemplate;
|
||||||
block->statements.Add(varStat);
|
block->statements.Add(varStat);
|
||||||
}
|
}
|
||||||
PrepareAdditionalArguments(resolvingResult, typeInfo, variableName, arguments, errors, block);
|
|
||||||
{
|
{
|
||||||
auto controlType = TypeInfoRetriver<TControl*>::CreateTypeInfo();
|
auto controlType = TypeInfoRetriver<TControl*>::CreateTypeInfo();
|
||||||
|
|
||||||
|
|||||||
+31
-33
@@ -2648,7 +2648,7 @@ Type Declaration
|
|||||||
BEGIN_INTERFACE_MEMBER(IDataVisualizerFactory)
|
BEGIN_INTERFACE_MEMBER(IDataVisualizerFactory)
|
||||||
CLASS_MEMBER_BASE(IDescriptable)
|
CLASS_MEMBER_BASE(IDescriptable)
|
||||||
|
|
||||||
CLASS_MEMBER_METHOD(CreateVisualizer, {L"font" _ L"styleProvider"})
|
CLASS_MEMBER_METHOD(CreateVisualizer, {L"font" _ L"styleProvider" _ L"viewModelContext"})
|
||||||
END_INTERFACE_MEMBER(IDataVisualizerFactory)
|
END_INTERFACE_MEMBER(IDataVisualizerFactory)
|
||||||
|
|
||||||
BEGIN_INTERFACE_MEMBER(IDataVisualizer)
|
BEGIN_INTERFACE_MEMBER(IDataVisualizer)
|
||||||
@@ -2671,7 +2671,7 @@ Type Declaration
|
|||||||
BEGIN_INTERFACE_MEMBER(IDataEditorFactory)
|
BEGIN_INTERFACE_MEMBER(IDataEditorFactory)
|
||||||
CLASS_MEMBER_BASE(IDescriptable)
|
CLASS_MEMBER_BASE(IDescriptable)
|
||||||
|
|
||||||
CLASS_MEMBER_METHOD(CreateEditor, {L"callback"})
|
CLASS_MEMBER_METHOD(CreateEditor, {L"callback" _ L"viewModelContext"})
|
||||||
END_INTERFACE_MEMBER(IDataEditorFactory)
|
END_INTERFACE_MEMBER(IDataEditorFactory)
|
||||||
|
|
||||||
BEGIN_INTERFACE_MEMBER(IDataEditor)
|
BEGIN_INTERFACE_MEMBER(IDataEditor)
|
||||||
@@ -2695,6 +2695,7 @@ Type Declaration
|
|||||||
CLASS_MEMBER_BASE(IDescriptable)
|
CLASS_MEMBER_BASE(IDescriptable)
|
||||||
INTERFACE_IDENTIFIER(IDataProvider)
|
INTERFACE_IDENTIFIER(IDataProvider)
|
||||||
|
|
||||||
|
CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModelContext)
|
||||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnCount)
|
CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnCount)
|
||||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(SortedColumn)
|
CLASS_MEMBER_PROPERTY_READONLY_FAST(SortedColumn)
|
||||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(RowCount)
|
CLASS_MEMBER_PROPERTY_READONLY_FAST(RowCount)
|
||||||
@@ -2757,6 +2758,7 @@ Type Declaration
|
|||||||
BEGIN_INTERFACE_MEMBER(IStructuredDataProvider)
|
BEGIN_INTERFACE_MEMBER(IStructuredDataProvider)
|
||||||
CLASS_MEMBER_BASE(IDescriptable)
|
CLASS_MEMBER_BASE(IDescriptable)
|
||||||
|
|
||||||
|
CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModelContext)
|
||||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnCount)
|
CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnCount)
|
||||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(RowCount)
|
CLASS_MEMBER_PROPERTY_READONLY_FAST(RowCount)
|
||||||
|
|
||||||
@@ -3616,10 +3618,6 @@ Type Declaration
|
|||||||
GuiTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION)
|
GuiTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION)
|
||||||
END_CLASS_MEMBER(GuiTemplate)
|
END_CLASS_MEMBER(GuiTemplate)
|
||||||
|
|
||||||
BEGIN_INTERFACE_MEMBER(GuiTemplate::IFactory)
|
|
||||||
CLASS_MEMBER_METHOD(CreateTemplate, NO_PARAMETER)
|
|
||||||
END_INTERFACE_MEMBER(GuiTemplate::IFactory)
|
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiControlTemplate)
|
BEGIN_CLASS_MEMBER(GuiControlTemplate)
|
||||||
CLASS_MEMBER_BASE(GuiTemplate)
|
CLASS_MEMBER_BASE(GuiTemplate)
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiControlTemplate*(), NO_PARAMETER)
|
CLASS_MEMBER_CONSTRUCTOR(GuiControlTemplate*(), NO_PARAMETER)
|
||||||
@@ -3804,103 +3802,103 @@ Type Declaration
|
|||||||
CLASS_MEMBER_BASE(GuiControl::IStyleController)
|
CLASS_MEMBER_BASE(GuiControl::IStyleController)
|
||||||
CLASS_MEMBER_BASE(GuiControl::IStyleProvider)
|
CLASS_MEMBER_BASE(GuiControl::IStyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiControlTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiControlTemplate_StyleProvider*(TemplateProperty<GuiControlTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiControlTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiControlTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiLabelTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiLabelTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiLabel::IStyleController)
|
CLASS_MEMBER_BASE(GuiLabel::IStyleController)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiLabelTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiLabelTemplate_StyleProvider*(TemplateProperty<GuiLabelTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiLabelTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiLabelTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiSinglelineTextBoxTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiSinglelineTextBoxTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiSinglelineTextBox::IStyleProvider)
|
CLASS_MEMBER_BASE(GuiSinglelineTextBox::IStyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiSinglelineTextBoxTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiSinglelineTextBoxTemplate_StyleProvider*(TemplateProperty<GuiSinglelineTextBoxTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiSinglelineTextBoxTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiSinglelineTextBoxTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiDocumentLabelTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiDocumentLabelTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiDocumentLabel::IStyleController)
|
CLASS_MEMBER_BASE(GuiDocumentLabel::IStyleController)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiDocumentLabelTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiDocumentLabelTemplate_StyleProvider*(TemplateProperty<GuiDocumentLabelTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiDocumentLabelTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiDocumentLabelTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiMultilineTextBoxTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiMultilineTextBoxTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiMultilineTextBoxTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiMultilineTextBoxTemplate_StyleProvider*(TemplateProperty<GuiMultilineTextBoxTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiMultilineTextBoxTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiMultilineTextBoxTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiDocumentViewerTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiDocumentViewerTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiDocumentViewer::IStyleProvider)
|
CLASS_MEMBER_BASE(GuiDocumentViewer::IStyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiDocumentViewerTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiDocumentViewerTemplate_StyleProvider*(TemplateProperty<GuiDocumentViewerTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiDocumentViewerTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiDocumentViewerTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiMenuTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiMenuTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiWindow::IStyleController)
|
CLASS_MEMBER_BASE(GuiWindow::IStyleController)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiMenuTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiMenuTemplate_StyleProvider*(TemplateProperty<GuiMenuTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiMenuTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiMenuTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiWindowTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiWindowTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiWindow::IStyleController)
|
CLASS_MEMBER_BASE(GuiWindow::IStyleController)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiWindowTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiWindowTemplate_StyleProvider*(TemplateProperty<GuiWindowTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiWindowTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiWindowTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiButtonTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiButtonTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiButton::IStyleController)
|
CLASS_MEMBER_BASE(GuiButton::IStyleController)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiButtonTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiButtonTemplate_StyleProvider*(TemplateProperty<GuiButtonTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiButtonTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiButtonTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiSelectableButtonTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiSelectableButtonTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiSelectableButton::IStyleController)
|
CLASS_MEMBER_BASE(GuiSelectableButton::IStyleController)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiSelectableButtonTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiSelectableButtonTemplate_StyleProvider*(TemplateProperty<GuiSelectableButtonTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiSelectableButtonTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiSelectableButtonTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiToolstripButtonTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiToolstripButtonTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiMenuButton::IStyleController)
|
CLASS_MEMBER_BASE(GuiMenuButton::IStyleController)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiToolstripButtonTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiToolstripButtonTemplate_StyleProvider*(TemplateProperty<GuiToolstripButtonTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiToolstripButtonTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiToolstripButtonTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiListViewColumnHeaderTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiListViewColumnHeaderTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiListViewColumnHeader::IStyleController)
|
CLASS_MEMBER_BASE(GuiListViewColumnHeader::IStyleController)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiListViewColumnHeaderTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiListViewColumnHeaderTemplate_StyleProvider*(TemplateProperty<GuiListViewColumnHeaderTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiListViewColumnHeaderTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiListViewColumnHeaderTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiComboBoxListControl::IStyleController)
|
CLASS_MEMBER_BASE(GuiComboBoxListControl::IStyleController)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiComboBoxTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiComboBoxTemplate_StyleProvider*(TemplateProperty<GuiComboBoxTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiDatePickerTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiDatePickerTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiDatePicker::IStyleProvider)
|
CLASS_MEMBER_BASE(GuiDatePicker::IStyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiDatePickerTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiDatePickerTemplate_StyleProvider*(TemplateProperty<GuiDatePickerTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiDatePickerTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiDatePickerTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiDateComboBoxTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiDateComboBoxTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiComboBoxTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiComboBoxTemplate_StyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiDateComboBoxTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiDateComboBoxTemplate_StyleProvider*(TemplateProperty<GuiDateComboBoxTemplate>), { L"factory" })
|
||||||
CLASS_MEMBER_METHOD(CreateArgument, NO_PARAMETER)
|
CLASS_MEMBER_METHOD(CreateArgument, NO_PARAMETER)
|
||||||
END_CLASS_MEMBER(GuiDateComboBoxTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiDateComboBoxTemplate_StyleProvider)
|
||||||
|
|
||||||
@@ -3908,21 +3906,21 @@ Type Declaration
|
|||||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiScroll::IStyleController)
|
CLASS_MEMBER_BASE(GuiScroll::IStyleController)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiScrollTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiScrollTemplate_StyleProvider*(TemplateProperty<GuiScrollTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiScrollTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiScrollTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiScrollViewTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiScrollViewTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiScrollView::IStyleProvider)
|
CLASS_MEMBER_BASE(GuiScrollView::IStyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiScrollViewTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiScrollViewTemplate_StyleProvider*(TemplateProperty<GuiScrollViewTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiScrollViewTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiScrollViewTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiTextListTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiTextListTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiVirtualTextList::IStyleProvider)
|
CLASS_MEMBER_BASE(GuiVirtualTextList::IStyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiTextListTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiTextListTemplate_StyleProvider*(TemplateProperty<GuiTextListTemplate>), { L"factory" })
|
||||||
CLASS_MEMBER_METHOD(CreateArgument, NO_PARAMETER)
|
CLASS_MEMBER_METHOD(CreateArgument, NO_PARAMETER)
|
||||||
END_CLASS_MEMBER(GuiTextListTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiTextListTemplate_StyleProvider)
|
||||||
|
|
||||||
@@ -3930,40 +3928,40 @@ Type Declaration
|
|||||||
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiListViewBase::IStyleProvider)
|
CLASS_MEMBER_BASE(GuiListViewBase::IStyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiListViewTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiListViewTemplate_StyleProvider*(TemplateProperty<GuiListViewTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiListViewTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiListViewTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiTreeViewTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiTreeViewTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiVirtualTreeView::IStyleProvider)
|
CLASS_MEMBER_BASE(GuiVirtualTreeView::IStyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiTreeViewTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiTreeViewTemplate_StyleProvider*(TemplateProperty<GuiTreeViewTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiTreeViewTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiTreeViewTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiTabTemplate_StyleProvider)
|
BEGIN_CLASS_MEMBER(GuiTabTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiTab::IStyleController)
|
CLASS_MEMBER_BASE(GuiTab::IStyleController)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(GuiTabTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(GuiTabTemplate_StyleProvider*(TemplateProperty<GuiTabTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiTabTemplate_StyleProvider)
|
END_CLASS_MEMBER(GuiTabTemplate_StyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiControlTemplate_ItemStyleProvider)
|
BEGIN_CLASS_MEMBER(GuiControlTemplate_ItemStyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiComboBoxListControl::IItemStyleProvider)
|
CLASS_MEMBER_BASE(GuiComboBoxListControl::IItemStyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiControlTemplate_ItemStyleProvider>(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiControlTemplate_ItemStyleProvider>(TemplateProperty<GuiControlTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiControlTemplate_ItemStyleProvider)
|
END_CLASS_MEMBER(GuiControlTemplate_ItemStyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiTextListItemTemplate_ItemStyleProvider)
|
BEGIN_CLASS_MEMBER(GuiTextListItemTemplate_ItemStyleProvider)
|
||||||
CLASS_MEMBER_BASE(GuiSelectableListControl::IItemStyleProvider)
|
CLASS_MEMBER_BASE(GuiSelectableListControl::IItemStyleProvider)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiTextListItemTemplate_ItemStyleProvider>(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiTextListItemTemplate_ItemStyleProvider>(TemplateProperty<GuiTextListItemTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiTextListItemTemplate_ItemStyleProvider)
|
END_CLASS_MEMBER(GuiTextListItemTemplate_ItemStyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiTreeItemTemplate_ItemStyleProvider)
|
BEGIN_CLASS_MEMBER(GuiTreeItemTemplate_ItemStyleProvider)
|
||||||
CLASS_MEMBER_BASE(tree::INodeItemStyleProvider)
|
CLASS_MEMBER_BASE(tree::INodeItemStyleProvider)
|
||||||
CLASS_MEMBER_BASE(tree::INodeProviderCallback)
|
CLASS_MEMBER_BASE(tree::INodeProviderCallback)
|
||||||
|
|
||||||
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiTreeItemTemplate_ItemStyleProvider>(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiTreeItemTemplate_ItemStyleProvider>(TemplateProperty<GuiTreeItemTemplate>), { L"factory" })
|
||||||
END_CLASS_MEMBER(GuiTreeItemTemplate_ItemStyleProvider)
|
END_CLASS_MEMBER(GuiTreeItemTemplate_ItemStyleProvider)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer)
|
BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer)
|
||||||
@@ -3972,11 +3970,11 @@ Type Declaration
|
|||||||
END_CLASS_MEMBER(GuiBindableDataVisualizer)
|
END_CLASS_MEMBER(GuiBindableDataVisualizer)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer::Factory)
|
BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer::Factory)
|
||||||
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataVisualizer::Factory>(Ptr<GuiTemplate::IFactory>, list::BindableDataColumn*), { L"templateFactory" _ L"ownerColumn" })
|
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataVisualizer::Factory>(TemplateProperty<GuiGridVisualizerTemplate>), { L"templateFactory"})
|
||||||
END_CLASS_MEMBER(GuiBindableDataVisualizer::Factory)
|
END_CLASS_MEMBER(GuiBindableDataVisualizer::Factory)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer::DecoratedFactory)
|
BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer::DecoratedFactory)
|
||||||
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataVisualizer::DecoratedFactory>(Ptr<GuiTemplate::IFactory>, list::BindableDataColumn*, Ptr<list::IDataVisualizerFactory>), { L"templateFactory" _ L"ownerColumn" _ L"decoratedFactory" })
|
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataVisualizer::DecoratedFactory>(TemplateProperty<GuiGridVisualizerTemplate>, Ptr<list::IDataVisualizerFactory>), { L"templateFactory" _ L"decoratedFactory" })
|
||||||
END_CLASS_MEMBER(GuiBindableDataVisualizer::DecoratedFactory)
|
END_CLASS_MEMBER(GuiBindableDataVisualizer::DecoratedFactory)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiBindableDataEditor)
|
BEGIN_CLASS_MEMBER(GuiBindableDataEditor)
|
||||||
@@ -3984,7 +3982,7 @@ Type Declaration
|
|||||||
END_CLASS_MEMBER(GuiBindableDataEditor)
|
END_CLASS_MEMBER(GuiBindableDataEditor)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(GuiBindableDataEditor::Factory)
|
BEGIN_CLASS_MEMBER(GuiBindableDataEditor::Factory)
|
||||||
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataEditor::Factory>(Ptr<GuiTemplate::IFactory>, list::BindableDataColumn*), { L"templateFactory" _ L"ownerColumn" })
|
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataEditor::Factory>(TemplateProperty<GuiGridEditorTemplate>), { L"templateFactory" })
|
||||||
END_CLASS_MEMBER(GuiBindableDataEditor::Factory)
|
END_CLASS_MEMBER(GuiBindableDataEditor::Factory)
|
||||||
|
|
||||||
#undef INTERFACE_EXTERNALCTOR
|
#undef INTERFACE_EXTERNALCTOR
|
||||||
|
|||||||
+14
-16
@@ -1543,9 +1543,9 @@ Interface Proxy
|
|||||||
|
|
||||||
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(presentation::controls::list::IDataVisualizerFactory)
|
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(presentation::controls::list::IDataVisualizerFactory)
|
||||||
|
|
||||||
Ptr<presentation::controls::list::IDataVisualizer> CreateVisualizer(const presentation::FontProperties& font, presentation::controls::GuiListViewBase::IStyleProvider* styleProvider)override
|
Ptr<presentation::controls::list::IDataVisualizer> CreateVisualizer(const presentation::FontProperties& font, presentation::controls::GuiListViewBase::IStyleProvider* styleProvider, const description::Value& viewModelContext)override
|
||||||
{
|
{
|
||||||
INVOKEGET_INTERFACE_PROXY(CreateVisualizer, font, styleProvider);
|
INVOKEGET_INTERFACE_PROXY(CreateVisualizer, font, styleProvider, viewModelContext);
|
||||||
}
|
}
|
||||||
END_INTERFACE_PROXY(presentation::controls::list::IDataVisualizerFactory)
|
END_INTERFACE_PROXY(presentation::controls::list::IDataVisualizerFactory)
|
||||||
|
|
||||||
@@ -1579,9 +1579,9 @@ Interface Proxy
|
|||||||
|
|
||||||
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(presentation::controls::list::IDataEditorFactory)
|
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(presentation::controls::list::IDataEditorFactory)
|
||||||
|
|
||||||
Ptr<presentation::controls::list::IDataEditor> CreateEditor(presentation::controls::list::IDataEditorCallback* callback)
|
Ptr<presentation::controls::list::IDataEditor> CreateEditor(presentation::controls::list::IDataEditorCallback* callback, const description::Value& viewModelContext)
|
||||||
{
|
{
|
||||||
INVOKEGET_INTERFACE_PROXY(CreateEditor, callback);
|
INVOKEGET_INTERFACE_PROXY(CreateEditor, callback, viewModelContext);
|
||||||
}
|
}
|
||||||
END_INTERFACE_PROXY(presentation::controls::list::IDataEditorFactory)
|
END_INTERFACE_PROXY(presentation::controls::list::IDataEditorFactory)
|
||||||
|
|
||||||
@@ -1615,6 +1615,11 @@ Interface Proxy
|
|||||||
INVOKE_INTERFACE_PROXY(SetCommandExecutor, value);
|
INVOKE_INTERFACE_PROXY(SetCommandExecutor, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
description::Value GetViewModelContext()override
|
||||||
|
{
|
||||||
|
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetViewModelContext);
|
||||||
|
}
|
||||||
|
|
||||||
vint GetColumnCount()override
|
vint GetColumnCount()override
|
||||||
{
|
{
|
||||||
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetColumnCount);
|
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetColumnCount);
|
||||||
@@ -1812,6 +1817,11 @@ Interface Proxy
|
|||||||
INVOKE_INTERFACE_PROXY(SetCommandExecutor, value);
|
INVOKE_INTERFACE_PROXY(SetCommandExecutor, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
description::Value GetViewModelContext()override
|
||||||
|
{
|
||||||
|
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetViewModelContext);
|
||||||
|
}
|
||||||
|
|
||||||
vint GetColumnCount()
|
vint GetColumnCount()
|
||||||
{
|
{
|
||||||
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetColumnCount);
|
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetColumnCount);
|
||||||
@@ -1943,7 +1953,6 @@ Type List
|
|||||||
#define GUIREFLECTIONTEMPLATES_TYPELIST(F)\
|
#define GUIREFLECTIONTEMPLATES_TYPELIST(F)\
|
||||||
F(presentation::templates::BoolOption)\
|
F(presentation::templates::BoolOption)\
|
||||||
F(presentation::templates::GuiTemplate)\
|
F(presentation::templates::GuiTemplate)\
|
||||||
F(presentation::templates::GuiTemplate::IFactory)\
|
|
||||||
F(presentation::templates::GuiControlTemplate)\
|
F(presentation::templates::GuiControlTemplate)\
|
||||||
F(presentation::templates::GuiLabelTemplate)\
|
F(presentation::templates::GuiLabelTemplate)\
|
||||||
F(presentation::templates::GuiSinglelineTextBoxTemplate)\
|
F(presentation::templates::GuiSinglelineTextBoxTemplate)\
|
||||||
@@ -2002,17 +2011,6 @@ Type List
|
|||||||
|
|
||||||
GUIREFLECTIONTEMPLATES_TYPELIST(DECL_TYPE_INFO)
|
GUIREFLECTIONTEMPLATES_TYPELIST(DECL_TYPE_INFO)
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
Interface Proxy
|
|
||||||
***********************************************************************/
|
|
||||||
|
|
||||||
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(presentation::templates::GuiTemplate::IFactory)
|
|
||||||
presentation::templates::GuiTemplate* CreateTemplate(const Value& viewModel)override
|
|
||||||
{
|
|
||||||
INVOKEGET_INTERFACE_PROXY(CreateTemplate, viewModel);
|
|
||||||
}
|
|
||||||
END_INTERFACE_PROXY(presentation::templates::GuiTemplate::IFactory)
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
Type Loader
|
Type Loader
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
!!!!!! DO NOT MODIFY !!!!!!
|
!!!!!! DO NOT MODIFY !!!!!!
|
||||||
|
|
||||||
GacGen.exe Resource.xml
|
GacGen.exe Resource.xml
|
||||||
@@ -137,18 +137,35 @@ Closures
|
|||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
|
|
||||||
__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(::demo::MainWindowConstructor* __vwsnctorthis_0)
|
__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
|
||||||
:__vwsnthis_0(__vwsnctorthis_0)
|
:__vwsnthis_0(__vwsnctorthis_0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
::vl::presentation::templates::GuiTemplate* __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory::CreateTemplate(const ::vl::reflection::description::Value& __vwsn_viewModel_)
|
::vl::presentation::templates::GuiTextListItemTemplate* __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
if ([&](){ auto __vwsn_temp__ = __vwsn_viewModel_; return __vwsn_temp__.GetSharedPtr() && ::vl::__vwsn::RawPtrCast<::demo::IColorItem>(__vwsn_temp__.GetRawPtr()) != nullptr; }())
|
if ([&](){ auto __vwsn_temp__ = __vwsn_viewModel_; return __vwsn_temp__.GetSharedPtr() && ::vl::__vwsn::RawPtrCast<::demo::IColorItem>(__vwsn_temp__.GetRawPtr()) != nullptr; }())
|
||||||
{
|
{
|
||||||
auto __vwsn_template_ = static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::demo::ColorBomboItemTemplate(::vl::__vwsn::Unbox<::vl::Ptr<::demo::IColorItem>>(__vwsn_viewModel_)));
|
return static_cast<::vl::presentation::templates::GuiTextListItemTemplate*>(new ::demo::ColorListItemTemplate(::vl::__vwsn::Unbox<::vl::Ptr<::demo::IColorItem>>(__vwsn_viewModel_)));
|
||||||
return static_cast<::vl::presentation::templates::GuiTemplate*>(__vwsn_template_);
|
}
|
||||||
|
}
|
||||||
|
throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false));
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
|
||||||
|
__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
|
||||||
|
:__vwsnthis_0(__vwsnctorthis_0)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
::vl::presentation::templates::GuiControlTemplate* __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const
|
||||||
|
{
|
||||||
|
{
|
||||||
|
if ([&](){ auto __vwsn_temp__ = __vwsn_viewModel_; return __vwsn_temp__.GetSharedPtr() && ::vl::__vwsn::RawPtrCast<::demo::IColorItem>(__vwsn_temp__.GetRawPtr()) != nullptr; }())
|
||||||
|
{
|
||||||
|
return static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::demo::ColorBomboItemTemplate(::vl::__vwsn::Unbox<::vl::Ptr<::demo::IColorItem>>(__vwsn_viewModel_)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false));
|
throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false));
|
||||||
@@ -578,25 +595,6 @@ Closures
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
|
||||||
|
|
||||||
__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(::demo::MainWindowConstructor* __vwsnctorthis_0)
|
|
||||||
:__vwsnthis_0(__vwsnctorthis_0)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
::vl::presentation::templates::GuiTemplate* __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory::CreateTemplate(const ::vl::reflection::description::Value& __vwsn_viewModel_)
|
|
||||||
{
|
|
||||||
{
|
|
||||||
if ([&](){ auto __vwsn_temp__ = __vwsn_viewModel_; return __vwsn_temp__.GetSharedPtr() && ::vl::__vwsn::RawPtrCast<::demo::IColorItem>(__vwsn_temp__.GetRawPtr()) != nullptr; }())
|
|
||||||
{
|
|
||||||
auto __vwsn_template_ = static_cast<::vl::presentation::templates::GuiTextListItemTemplate*>(new ::demo::ColorListItemTemplate(::vl::__vwsn::Unbox<::vl::Ptr<::demo::IColorItem>>(__vwsn_viewModel_)));
|
|
||||||
return static_cast<::vl::presentation::templates::GuiTemplate*>(__vwsn_template_);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
@@ -840,7 +838,7 @@ Class (::demo::MainWindowConstructor)
|
|||||||
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse<bool>(::vl::WString(L"false", false)));
|
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse<bool>(::vl::WString(L"false", false)));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetStyleProvider(::vl::Ptr<::vl::presentation::controls::GuiListControl::IItemStyleProvider>(::vl::Ptr<::vl::presentation::templates::GuiTextListItemTemplate_ItemStyleProvider>(new ::vl::presentation::templates::GuiTextListItemTemplate_ItemStyleProvider(::vl::Ptr<::vl::presentation::templates::GuiTemplate::IFactory>(new ::vl_workflow_global::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(this))))));
|
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetStyleProvider(::vl::Ptr<::vl::presentation::controls::GuiListControl::IItemStyleProvider>(::vl::Ptr<::vl::presentation::templates::GuiTextListItemTemplate_ItemStyleProvider>(new ::vl::presentation::templates::GuiTextListItemTemplate_ItemStyleProvider(LAMBDA(::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))))));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle();
|
auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle();
|
||||||
@@ -851,7 +849,7 @@ Class (::demo::MainWindowConstructor)
|
|||||||
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_7)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }());
|
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_7)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->SetStyleProvider(::vl::Ptr<::vl::presentation::controls::GuiComboBoxListControl::IItemStyleProvider>(::vl::Ptr<::vl::presentation::templates::GuiControlTemplate_ItemStyleProvider>(new ::vl::presentation::templates::GuiControlTemplate_ItemStyleProvider(::vl::Ptr<::vl::presentation::templates::GuiTemplate::IFactory>(new ::vl_workflow_global::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(this))))));
|
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->SetStyleProvider(::vl::Ptr<::vl::presentation::controls::GuiComboBoxListControl::IItemStyleProvider>(::vl::Ptr<::vl::presentation::templates::GuiControlTemplate_ItemStyleProvider>(new ::vl::presentation::templates::GuiControlTemplate_ItemStyleProvider(LAMBDA(::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))))));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->GetBoundsComposition()));
|
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->GetBoundsComposition()));
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
!!!!!! DO NOT MODIFY !!!!!!
|
!!!!!! DO NOT MODIFY !!!!!!
|
||||||
|
|
||||||
GacGen.exe Resource.xml
|
GacGen.exe Resource.xml
|
||||||
@@ -33,7 +33,8 @@ namespace vl_workflow_global
|
|||||||
struct __vwsnf3_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__;
|
struct __vwsnf3_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__;
|
||||||
struct __vwsnf4_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__;
|
struct __vwsnf4_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__;
|
||||||
struct __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
struct __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||||
class __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
|
struct __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||||
|
struct __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||||
class __vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
|
class __vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
|
||||||
class __vwsnc2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
|
class __vwsnc2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
|
||||||
class __vwsnc3_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
|
class __vwsnc3_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
|
||||||
@@ -42,7 +43,6 @@ namespace vl_workflow_global
|
|||||||
class __vwsnc6_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
|
class __vwsnc6_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
|
||||||
class __vwsnc7_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
|
class __vwsnc7_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
|
||||||
class __vwsnc8_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
|
class __vwsnc8_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
|
||||||
class __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace demo
|
namespace demo
|
||||||
@@ -144,9 +144,9 @@ namespace demo
|
|||||||
|
|
||||||
class MainWindowConstructor : public ::vl::Object, public ::vl::reflection::Description<MainWindowConstructor>
|
class MainWindowConstructor : public ::vl::Object, public ::vl::reflection::Description<MainWindowConstructor>
|
||||||
{
|
{
|
||||||
friend class ::vl_workflow_global::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
|
|
||||||
friend class ::vl_workflow_global::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
|
|
||||||
friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||||
|
friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||||
|
friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||||
#ifndef VCZH_DEBUG_NO_REFLECTION
|
#ifndef VCZH_DEBUG_NO_REFLECTION
|
||||||
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<MainWindowConstructor>;
|
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<MainWindowConstructor>;
|
||||||
#endif
|
#endif
|
||||||
@@ -169,9 +169,9 @@ namespace demo
|
|||||||
class MainWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::MainWindowConstructor, public ::vl::reflection::Description<MainWindow>
|
class MainWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::MainWindowConstructor, public ::vl::reflection::Description<MainWindow>
|
||||||
{
|
{
|
||||||
friend class ::demo::MainWindowConstructor;
|
friend class ::demo::MainWindowConstructor;
|
||||||
friend class ::vl_workflow_global::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
|
|
||||||
friend class ::vl_workflow_global::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
|
|
||||||
friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||||
|
friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||||
|
friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||||
#ifndef VCZH_DEBUG_NO_REFLECTION
|
#ifndef VCZH_DEBUG_NO_REFLECTION
|
||||||
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<MainWindow>;
|
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<MainWindow>;
|
||||||
#endif
|
#endif
|
||||||
@@ -264,14 +264,22 @@ Closures
|
|||||||
::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
|
::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory : public ::vl::Object, public virtual ::vl::presentation::templates::GuiTemplate::IFactory
|
struct __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
|
||||||
{
|
{
|
||||||
public:
|
|
||||||
::demo::MainWindowConstructor* __vwsnthis_0;
|
::demo::MainWindowConstructor* __vwsnthis_0;
|
||||||
|
|
||||||
__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(::demo::MainWindowConstructor* __vwsnctorthis_0);
|
__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
|
||||||
|
|
||||||
::vl::presentation::templates::GuiTemplate* CreateTemplate(const ::vl::reflection::description::Value& __vwsn_viewModel_) override;
|
::vl::presentation::templates::GuiTextListItemTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
|
||||||
|
{
|
||||||
|
::demo::MainWindowConstructor* __vwsnthis_0;
|
||||||
|
|
||||||
|
__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
|
||||||
|
|
||||||
|
::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class __vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
|
class __vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
|
||||||
@@ -413,16 +421,6 @@ Closures
|
|||||||
bool GetStopped() override;
|
bool GetStopped() override;
|
||||||
bool StopListening() override;
|
bool StopListening() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory : public ::vl::Object, public virtual ::vl::presentation::templates::GuiTemplate::IFactory
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
::demo::MainWindowConstructor* __vwsnthis_0;
|
|
||||||
|
|
||||||
__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(::demo::MainWindowConstructor* __vwsnctorthis_0);
|
|
||||||
|
|
||||||
::vl::presentation::templates::GuiTemplate* CreateTemplate(const ::vl::reflection::description::Value& __vwsn_viewModel_) override;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined( _MSC_VER)
|
#if defined( _MSC_VER)
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user