mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-27 10:15:30 +08:00
Update release
This commit is contained in:
+197
-224
File diff suppressed because it is too large
Load Diff
+186
-187
File diff suppressed because it is too large
Load Diff
+706
-661
File diff suppressed because it is too large
Load Diff
+36
-290
@@ -483,18 +483,28 @@ Instance Loader
|
||||
SupportSet,
|
||||
};
|
||||
|
||||
enum PropertyScope
|
||||
enum PropertyUsage
|
||||
{
|
||||
ViewModel, // <ref.Parameter/>
|
||||
Constructor, // constructor parameter that is not ViewModel
|
||||
Property, // property of the class
|
||||
ConstructorArgument,
|
||||
Property,
|
||||
};
|
||||
|
||||
enum PropertyBindability
|
||||
{
|
||||
Bindable,
|
||||
NotBindable,
|
||||
};
|
||||
|
||||
enum PropertyMergability
|
||||
{
|
||||
MergeWithParent,
|
||||
NotMerge,
|
||||
};
|
||||
|
||||
Support support = NotSupport;
|
||||
bool tryParent = false;
|
||||
bool required = false; // only apply to constructor
|
||||
bool bindable = false; // only apply to constructor
|
||||
PropertyScope scope = Property;
|
||||
PropertyUsage usage = Property;
|
||||
PropertyBindability bindability = NotBindable;
|
||||
PropertyMergability mergability = NotMerge;
|
||||
TypeInfoList acceptableTypes;
|
||||
|
||||
static Ptr<GuiInstancePropertyInfo> Unsupported();
|
||||
@@ -565,8 +575,8 @@ Instance Loader
|
||||
virtual GlobalStringKey GetTypeName() = 0;
|
||||
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 GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames);
|
||||
virtual void GetPairedProperties(const PropertyInfo& propertyInfo, collections::List<GlobalStringKey>& propertyNames);
|
||||
virtual Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo);
|
||||
|
||||
@@ -1006,10 +1016,6 @@ GuiVrtualTypeInstanceLoader
|
||||
ArgumentFunctionType argumentFunction;
|
||||
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)
|
||||
{
|
||||
}
|
||||
@@ -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:
|
||||
GuiTemplateControlInstanceLoader(const WString& _typeName, const WString& _styleMethod)
|
||||
:typeName(GlobalStringKey::Get(_typeName))
|
||||
@@ -1345,17 +1110,20 @@ GuiVrtualTypeInstanceLoader
|
||||
return typeName;
|
||||
}
|
||||
|
||||
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
propertyNames.Add(GlobalStringKey::_ControlTemplate);
|
||||
if (CanCreate(typeInfo))
|
||||
{
|
||||
propertyNames.Add(GlobalStringKey::_ControlTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
{
|
||||
if (propertyInfo.propertyName == GlobalStringKey::_ControlTemplate)
|
||||
{
|
||||
auto info = GuiInstancePropertyInfo::Assign(TypeInfoRetriver<WString>::CreateTypeInfo());
|
||||
info->scope = GuiInstancePropertyInfo::Constructor;
|
||||
auto info = GuiInstancePropertyInfo::Assign(TypeInfoRetriver<TemplateProperty<TTemplate>>::CreateTypeInfo());
|
||||
info->usage = GuiInstancePropertyInfo::ConstructorArgument;
|
||||
return info;
|
||||
}
|
||||
return 0;
|
||||
@@ -1368,40 +1136,18 @@ GuiVrtualTypeInstanceLoader
|
||||
|
||||
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);
|
||||
if (index != -1)
|
||||
{
|
||||
auto index = arguments.Keys().IndexOf(GlobalStringKey::_ControlTemplate);
|
||||
if (index != -1)
|
||||
{
|
||||
auto argument = arguments.GetByIndex(index)[0];
|
||||
controlTemplate = argument.expression;
|
||||
attPosition = argument.attPosition;
|
||||
}
|
||||
}
|
||||
auto argument = arguments.GetByIndex(index)[0];
|
||||
|
||||
if (controlTemplate)
|
||||
{
|
||||
if (auto controlTemplateTd = GetControlTemplateType(resolvingResult, controlTemplate, typeInfo, attPosition, errors))
|
||||
{
|
||||
auto styleType = TypeInfoRetriver<TControlStyle*>::CreateTypeInfo();
|
||||
auto createStyle = MakePtr<WfNewClassExpression>();
|
||||
createStyle->type = GetTypeFromTypeInfo(TypeInfoRetriver<TControlStyle*>::CreateTypeInfo().Obj());
|
||||
createStyle->arguments.Add(argument.expression);
|
||||
|
||||
auto refFactory = CreateTemplateFactory(resolvingResult, controlTemplateTd, attPosition, errors);
|
||||
auto createStyle = MakePtr<WfNewClassExpression>();
|
||||
createStyle->type = GetTypeFromTypeInfo(styleType.Obj());
|
||||
createStyle->arguments.Add(refFactory);
|
||||
|
||||
return createStyle;
|
||||
}
|
||||
else
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return CreateIThemeCall(styleMethod);
|
||||
return createStyle;
|
||||
}
|
||||
return CreateIThemeCall(styleMethod);
|
||||
}
|
||||
|
||||
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
|
||||
{
|
||||
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);
|
||||
|
||||
auto createStyleExpr = CreateInstance_ControlTemplate(resolvingResult, typeInfo, arguments, errors);
|
||||
@@ -1437,7 +1183,7 @@ GuiVrtualTypeInstanceLoader
|
||||
varStat->variable = varTemplate;
|
||||
block->statements.Add(varStat);
|
||||
}
|
||||
PrepareAdditionalArguments(resolvingResult, typeInfo, variableName, arguments, errors, block);
|
||||
|
||||
{
|
||||
auto controlType = TypeInfoRetriver<TControl*>::CreateTypeInfo();
|
||||
|
||||
|
||||
+31
-33
@@ -2648,7 +2648,7 @@ Type Declaration
|
||||
BEGIN_INTERFACE_MEMBER(IDataVisualizerFactory)
|
||||
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)
|
||||
|
||||
BEGIN_INTERFACE_MEMBER(IDataVisualizer)
|
||||
@@ -2671,7 +2671,7 @@ Type Declaration
|
||||
BEGIN_INTERFACE_MEMBER(IDataEditorFactory)
|
||||
CLASS_MEMBER_BASE(IDescriptable)
|
||||
|
||||
CLASS_MEMBER_METHOD(CreateEditor, {L"callback"})
|
||||
CLASS_MEMBER_METHOD(CreateEditor, {L"callback" _ L"viewModelContext"})
|
||||
END_INTERFACE_MEMBER(IDataEditorFactory)
|
||||
|
||||
BEGIN_INTERFACE_MEMBER(IDataEditor)
|
||||
@@ -2695,6 +2695,7 @@ Type Declaration
|
||||
CLASS_MEMBER_BASE(IDescriptable)
|
||||
INTERFACE_IDENTIFIER(IDataProvider)
|
||||
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModelContext)
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnCount)
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(SortedColumn)
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(RowCount)
|
||||
@@ -2757,6 +2758,7 @@ Type Declaration
|
||||
BEGIN_INTERFACE_MEMBER(IStructuredDataProvider)
|
||||
CLASS_MEMBER_BASE(IDescriptable)
|
||||
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModelContext)
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnCount)
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(RowCount)
|
||||
|
||||
@@ -3615,10 +3617,6 @@ Type Declaration
|
||||
|
||||
GuiTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION)
|
||||
END_CLASS_MEMBER(GuiTemplate)
|
||||
|
||||
BEGIN_INTERFACE_MEMBER(GuiTemplate::IFactory)
|
||||
CLASS_MEMBER_METHOD(CreateTemplate, NO_PARAMETER)
|
||||
END_INTERFACE_MEMBER(GuiTemplate::IFactory)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiControlTemplate)
|
||||
CLASS_MEMBER_BASE(GuiTemplate)
|
||||
@@ -3804,103 +3802,103 @@ Type Declaration
|
||||
CLASS_MEMBER_BASE(GuiControl::IStyleController)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiLabelTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiSinglelineTextBoxTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiDocumentLabelTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiMultilineTextBoxTemplate_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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiDocumentViewerTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiMenuTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiWindowTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiButtonTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiSelectableButtonTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiToolstripButtonTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiListViewColumnHeaderTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiDatePickerTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiDateComboBoxTemplate_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)
|
||||
END_CLASS_MEMBER(GuiDateComboBoxTemplate_StyleProvider)
|
||||
|
||||
@@ -3908,21 +3906,21 @@ Type Declaration
|
||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiScrollViewTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiTextListTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
||||
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)
|
||||
END_CLASS_MEMBER(GuiTextListTemplate_StyleProvider)
|
||||
|
||||
@@ -3930,40 +3928,40 @@ Type Declaration
|
||||
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiTreeViewTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiTabTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiControlTemplate_ItemStyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiTextListItemTemplate_ItemStyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiTreeItemTemplate_ItemStyleProvider)
|
||||
CLASS_MEMBER_BASE(tree::INodeItemStyleProvider)
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer)
|
||||
@@ -3972,11 +3970,11 @@ Type Declaration
|
||||
END_CLASS_MEMBER(GuiBindableDataVisualizer)
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiBindableDataEditor)
|
||||
@@ -3984,7 +3982,7 @@ Type Declaration
|
||||
END_CLASS_MEMBER(GuiBindableDataEditor)
|
||||
|
||||
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)
|
||||
|
||||
#undef INTERFACE_EXTERNALCTOR
|
||||
|
||||
+14
-16
@@ -1543,9 +1543,9 @@ Interface Proxy
|
||||
|
||||
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)
|
||||
|
||||
@@ -1579,9 +1579,9 @@ Interface Proxy
|
||||
|
||||
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)
|
||||
|
||||
@@ -1615,6 +1615,11 @@ Interface Proxy
|
||||
INVOKE_INTERFACE_PROXY(SetCommandExecutor, value);
|
||||
}
|
||||
|
||||
description::Value GetViewModelContext()override
|
||||
{
|
||||
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetViewModelContext);
|
||||
}
|
||||
|
||||
vint GetColumnCount()override
|
||||
{
|
||||
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetColumnCount);
|
||||
@@ -1812,6 +1817,11 @@ Interface Proxy
|
||||
INVOKE_INTERFACE_PROXY(SetCommandExecutor, value);
|
||||
}
|
||||
|
||||
description::Value GetViewModelContext()override
|
||||
{
|
||||
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetViewModelContext);
|
||||
}
|
||||
|
||||
vint GetColumnCount()
|
||||
{
|
||||
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetColumnCount);
|
||||
@@ -1943,7 +1953,6 @@ Type List
|
||||
#define GUIREFLECTIONTEMPLATES_TYPELIST(F)\
|
||||
F(presentation::templates::BoolOption)\
|
||||
F(presentation::templates::GuiTemplate)\
|
||||
F(presentation::templates::GuiTemplate::IFactory)\
|
||||
F(presentation::templates::GuiControlTemplate)\
|
||||
F(presentation::templates::GuiLabelTemplate)\
|
||||
F(presentation::templates::GuiSinglelineTextBoxTemplate)\
|
||||
@@ -2002,17 +2011,6 @@ Type List
|
||||
|
||||
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
|
||||
***********************************************************************/
|
||||
|
||||
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 !!!!!!
|
||||
|
||||
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)
|
||||
{
|
||||
}
|
||||
|
||||
::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; }())
|
||||
{
|
||||
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::GuiTemplate*>(__vwsn_template_);
|
||||
return static_cast<::vl::presentation::templates::GuiTextListItemTemplate*>(new ::demo::ColorListItemTemplate(::vl::__vwsn::Unbox<::vl::Ptr<::demo::IColorItem>>(__vwsn_viewModel_)));
|
||||
}
|
||||
}
|
||||
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));
|
||||
@@ -578,25 +595,6 @@ Closures
|
||||
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)->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();
|
||||
@@ -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_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()));
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/***********************************************************************
|
||||
/***********************************************************************
|
||||
!!!!!! DO NOT MODIFY !!!!!!
|
||||
|
||||
GacGen.exe Resource.xml
|
||||
@@ -33,7 +33,8 @@ namespace vl_workflow_global
|
||||
struct __vwsnf3_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__;
|
||||
struct __vwsnf4_Demo_demo_ColorListItemTemplateConstructor___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 __vwsnc2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
|
||||
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 __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 __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
|
||||
}
|
||||
|
||||
namespace demo
|
||||
@@ -144,9 +144,9 @@ namespace demo
|
||||
|
||||
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::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||
friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||
#ifndef VCZH_DEBUG_NO_REFLECTION
|
||||
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<MainWindowConstructor>;
|
||||
#endif
|
||||
@@ -169,9 +169,9 @@ namespace demo
|
||||
class MainWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::MainWindowConstructor, public ::vl::reflection::Description<MainWindow>
|
||||
{
|
||||
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::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||
friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
|
||||
#ifndef VCZH_DEBUG_NO_REFLECTION
|
||||
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<MainWindow>;
|
||||
#endif
|
||||
@@ -264,14 +264,22 @@ Closures
|
||||
::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;
|
||||
|
||||
__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
|
||||
@@ -413,16 +421,6 @@ Closures
|
||||
bool GetStopped() 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)
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user