diff --git a/Import/GacUI.cpp b/Import/GacUI.cpp index 61cab717..be083fbb 100644 --- a/Import/GacUI.cpp +++ b/Import/GacUI.cpp @@ -1240,15 +1240,8 @@ GuiTableComposition Rect GuiTableComposition::GetBounds() { - Rect result; - if (!IsAlignedToParent() && GetMinSizeLimitation() != GuiGraphicsComposition::NoLimit) - { - result = Rect(compositionBounds.LeftTop(), compositionBounds.GetSize() - Size(columnExtending, rowExtending)); - } - else - { - result = GuiBoundsComposition::GetBounds(); - } + Rect cached = previousBounds; + Rect result = GuiBoundsComposition::GetBounds(); bool cellMinSizeModified = false; SortedList cells; @@ -1266,9 +1259,8 @@ GuiTableComposition } } - if (previousContentBounds != result || cellMinSizeModified) + if (cached != result || cellMinSizeModified) { - previousContentBounds = result; UpdateCellBounds(); InvokeOnCompositionStateChanged(); } @@ -8688,6 +8680,10 @@ GuiResponsiveCompositionBase { responsiveParent->OnResponsiveChildLevelUpdated(); } + else + { + InvokeOnCompositionStateChanged(); + } } GuiResponsiveCompositionBase::GuiResponsiveCompositionBase() @@ -9005,7 +9001,9 @@ GuiResponsiveViewComposition auto x = CalculateLevelCount(); auto y = CalculateCurrentLevel(); - return x || y; + if (!x && !y) return false; + InvokeOnCompositionStateChanged(); + return true; } bool GuiResponsiveViewComposition::LevelUp() @@ -9031,7 +9029,9 @@ GuiResponsiveViewComposition auto x = CalculateLevelCount(); auto y = CalculateCurrentLevel(); - return x || y; + if (!x && !y) return false; + InvokeOnCompositionStateChanged(); + return true; } GuiResponsiveCompositionBase* GuiResponsiveViewComposition::GetCurrentView() @@ -9055,6 +9055,7 @@ GuiResponsiveFixedComposition void GuiResponsiveFixedComposition::OnResponsiveChildLevelUpdated() { + InvokeOnCompositionStateChanged(); } GuiResponsiveFixedComposition::GuiResponsiveFixedComposition() @@ -9213,7 +9214,9 @@ GuiResponsiveStackComposition } } - return CalculateCurrentLevel(); + if (!CalculateCurrentLevel()) return false; + InvokeOnCompositionStateChanged(); + return true; } GuiResponsiveStackComposition::GuiResponsiveStackComposition() @@ -9350,7 +9353,9 @@ GuiResponsiveGroupComposition } } - return CalculateCurrentLevel(); + if (!CalculateCurrentLevel()) return false; + InvokeOnCompositionStateChanged(); + return true; } bool GuiResponsiveGroupComposition::LevelUp() @@ -9368,7 +9373,9 @@ GuiResponsiveGroupComposition } } - return CalculateCurrentLevel(); + if (!CalculateCurrentLevel()) return false; + InvokeOnCompositionStateChanged(); + return true; } #undef DEFINE_AVAILABLE @@ -9377,63 +9384,79 @@ GuiResponsiveGroupComposition GuiResponsiveContainerComposition ***********************************************************************/ +#define RESPONSIVE_INVALID_SIZE Size(-1, -1) + void GuiResponsiveContainerComposition::OnBoundsChanged(GuiGraphicsComposition* sender, GuiEventArgs& arguments) { if (!responsiveTarget) return; - Size size = GetBounds().GetSize(); - bool testX = (vint)responsiveTarget->GetDirection() & (vint)ResponsiveDirection::Horizontal; - bool testY = (vint)responsiveTarget->GetDirection() & (vint)ResponsiveDirection::Vertical; + const Size containerSize = GetBounds().GetSize(); + const Size responsiveOriginalSize = responsiveTarget->GetPreferredBounds().GetSize(); + const bool testX = (vint)responsiveTarget->GetDirection() & (vint)ResponsiveDirection::Horizontal; + const bool testY = (vint)responsiveTarget->GetDirection() & (vint)ResponsiveDirection::Vertical; - if (!tryLevelDown && !tryLevelUp) +#define RESPONSIVE_IF_CONTAINER(OP, SIZE) ((testX && (containerSize).x OP SIZE.x) || (testY && (containerSize).y OP SIZE.y)) + + if (upperLevelSize != RESPONSIVE_INVALID_SIZE && RESPONSIVE_IF_CONTAINER(>=, upperLevelSize)) { - tryLevelDown = responsiveTarget->GetCurrentLevel() > 0; - tryLevelUp = responsiveTarget->GetCurrentLevel() < responsiveTarget->GetLevelCount() - 1; + upperLevelSize = RESPONSIVE_INVALID_SIZE; } - bool tried = true; - while (tried) + if (upperLevelSize == RESPONSIVE_INVALID_SIZE && RESPONSIVE_IF_CONTAINER(>=, responsiveOriginalSize)) { - tried = false; - if (tryLevelDown) + while (true) + { + if (responsiveTarget->GetCurrentLevel() == responsiveTarget->GetLevelCount() - 1) + { + break; + } + else if (responsiveTarget->LevelUp()) + { + responsiveTarget->ForceCalculateSizeImmediately(); + auto currentSize = responsiveTarget->GetPreferredBounds().GetSize(); + if (RESPONSIVE_IF_CONTAINER(<, currentSize)) + { + upperLevelSize = currentSize; + responsiveTarget->LevelDown(); + break; + } + } + else + { + break; + } + } + } + else + { + while (true) { responsiveTarget->ForceCalculateSizeImmediately(); - Size lowerLevelSize = responsiveTarget->GetPreferredBounds().GetSize(); - if ((testX && size.x < lowerLevelSize.x) || (testY && size.y < lowerLevelSize.y)) + auto currentSize = responsiveTarget->GetPreferredBounds().GetSize(); + if (RESPONSIVE_IF_CONTAINER(>=, currentSize)) { - if (responsiveTarget->LevelDown()) - { - tried = true; - tryLevelUp = true; - upperLevelSize = lowerLevelSize; - } - else - { - tryLevelDown = false; - break; - } + break; } - } - if (tryLevelUp) - { - if ((testX && size.x > upperLevelSize.x) || (testY && size.y > upperLevelSize.y)) + if (responsiveTarget->GetCurrentLevel() == 0) { - if (responsiveTarget->LevelUp()) - { - tried = true; - tryLevelDown = true; - } - else - { - tryLevelUp = false; - break; - } + break; + } + else if(responsiveTarget->LevelDown()) + { + upperLevelSize = currentSize; + } + else + { + break; } } } + +#undef RESPONSIVE_IF_CONTAINER } GuiResponsiveContainerComposition::GuiResponsiveContainerComposition() + :upperLevelSize(RESPONSIVE_INVALID_SIZE) { BoundsChanged.AttachMethod(this, &GuiResponsiveContainerComposition::OnBoundsChanged); } @@ -9457,21 +9480,21 @@ GuiResponsiveContainerComposition } responsiveTarget = value; - upperLevelSize = Size(); - tryLevelUp = true; - tryLevelDown = true; + upperLevelSize = RESPONSIVE_INVALID_SIZE; if (responsiveTarget) { responsiveTarget->SetAlignmentToParent(Margin(0, 0, 0, 0)); + while (responsiveTarget->LevelUp()); AddChild(responsiveTarget); - upperLevelSize = responsiveTarget->GetPreferredBounds().GetSize(); GuiEventArgs arguments(this); OnBoundsChanged(this, arguments); } } } + +#undef RESPONSIVE_INVALID_SIZE } } } diff --git a/Import/GacUI.h b/Import/GacUI.h index a8ef7015..b4645c47 100644 --- a/Import/GacUI.h +++ b/Import/GacUI.h @@ -7459,8 +7459,6 @@ GuiResponsiveContainerComposition protected: GuiResponsiveCompositionBase* responsiveTarget = nullptr; Size upperLevelSize; - bool tryLevelUp = true; - bool tryLevelDown = true; void OnBoundsChanged(GuiGraphicsComposition* sender, GuiEventArgs& arguments); @@ -7878,7 +7876,6 @@ Table Compositions collections::Array rowSizes; collections::Array columnSizes; - Rect previousContentBounds; Size previousContentMinSize; Size tableContentMinSize; @@ -8756,7 +8753,7 @@ GuiListItemTemplate GuiListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) - void BeginEditListItem(); + void BeginEditListItem(); void EndEditListItem(); void Initialize(controls::GuiListControl* _listControl); }; diff --git a/Import/GacUIReflection.cpp b/Import/GacUIReflection.cpp index 9a88c467..97f0786a 100644 --- a/Import/GacUIReflection.cpp +++ b/Import/GacUIReflection.cpp @@ -818,15 +818,15 @@ namespace vl #ifndef VCZH_DEBUG_NO_REFLECTION -/*********************************************************************** -Type Declaration -***********************************************************************/ - #define _ , #define INTERFACE_IDENTIFIER(INTERFACE)\ CLASS_MEMBER_STATIC_EXTERNALMETHOD(GetIdentifier, NO_PARAMETER, WString(*)(), vl::reflection::description::Interface_GetIdentifier<::INTERFACE>) +/*********************************************************************** +Type Declaration (Extra) +***********************************************************************/ + BEGIN_ENUM_ITEM(KeyDirection) ENUM_CLASS_ITEM(Up) ENUM_CLASS_ITEM(Down) @@ -864,6 +864,121 @@ Type Declaration CLASS_MEMBER_PROPERTY_READONLY_FAST(Direction) END_CLASS_MEMBER(GuiAxis) + BEGIN_ENUM_ITEM(GuiGraphicsComposition::MinSizeLimitation) + ENUM_ITEM_NAMESPACE(GuiGraphicsComposition) + ENUM_NAMESPACE_ITEM(NoLimit) + ENUM_NAMESPACE_ITEM(LimitToElement) + ENUM_NAMESPACE_ITEM(LimitToElementAndChildren) + END_ENUM_ITEM(GuiGraphicsComposition::MinSizeLimitation) + + BEGIN_ENUM_ITEM(GuiStackComposition::Direction) + ENUM_ITEM_NAMESPACE(GuiStackComposition) + ENUM_NAMESPACE_ITEM(Horizontal) + ENUM_NAMESPACE_ITEM(Vertical) + ENUM_NAMESPACE_ITEM(ReversedHorizontal) + ENUM_NAMESPACE_ITEM(ReversedVertical) + END_ENUM_ITEM(GuiStackComposition::Direction) + + BEGIN_STRUCT_MEMBER(GuiCellOption) + STRUCT_MEMBER(composeType) + STRUCT_MEMBER(absolute) + STRUCT_MEMBER(percentage) + END_STRUCT_MEMBER(GuiCellOption) + + BEGIN_ENUM_ITEM(GuiCellOption::ComposeType) + ENUM_ITEM_NAMESPACE(GuiCellOption) + ENUM_NAMESPACE_ITEM(Absolute) + ENUM_NAMESPACE_ITEM(Percentage) + ENUM_NAMESPACE_ITEM(MinSize) + END_ENUM_ITEM(GuiCellOption::ComposeType) + + BEGIN_STRUCT_MEMBER(GuiFlowOption) + STRUCT_MEMBER(baseline) + STRUCT_MEMBER(percentage) + STRUCT_MEMBER(distance) + END_STRUCT_MEMBER(GuiFlowOption) + + BEGIN_ENUM_ITEM(GuiFlowOption::BaselineType) + ENUM_ITEM_NAMESPACE(GuiFlowOption) + ENUM_NAMESPACE_ITEM(Percentage) + ENUM_NAMESPACE_ITEM(FromTop) + ENUM_NAMESPACE_ITEM(FromBottom) + END_ENUM_ITEM(GuiFlowOption::BaselineType) + + BEGIN_ENUM_ITEM(FlowAlignment) + ENUM_CLASS_ITEM(Left) + ENUM_CLASS_ITEM(Center) + ENUM_CLASS_ITEM(Extend) + END_ENUM_ITEM(FlowAlignment) + + BEGIN_ENUM_ITEM(GuiSideAlignedComposition::Direction) + ENUM_ITEM_NAMESPACE(GuiSideAlignedComposition) + ENUM_NAMESPACE_ITEM(Left) + ENUM_NAMESPACE_ITEM(Top) + ENUM_NAMESPACE_ITEM(Right) + ENUM_NAMESPACE_ITEM(Bottom) + END_ENUM_ITEM(GuiSideAlignedComposition::Direction) + + BEGIN_ENUM_ITEM(ResponsiveDirection) + ENUM_CLASS_ITEM(Horizontal) + ENUM_CLASS_ITEM(Vertical) + ENUM_CLASS_ITEM(Both) + END_ENUM_ITEM(ResponsiveDirection) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiShortcutKeyItem) + CLASS_MEMBER_PROPERTY_READONLY_FAST(Manager) + CLASS_MEMBER_PROPERTY_READONLY_FAST(Name) + END_INTERFACE_MEMBER(IGuiShortcutKeyItem) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiShortcutKeyManager) + CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemCount) + + CLASS_MEMBER_METHOD(GetItem, {L"index"}) + END_INTERFACE_MEMBER(IGuiShortcutKeyManager) + + BEGIN_CLASS_MEMBER(GuiShortcutKeyManager) + CLASS_MEMBER_BASE(IGuiShortcutKeyManager) + CLASS_MEMBER_CONSTRUCTOR(GuiShortcutKeyManager*(), NO_PARAMETER) + + CLASS_MEMBER_METHOD(CreateShortcut, {L"ctrl" _ L"shift" _ L"alt" _ L"ket"}) + CLASS_MEMBER_METHOD(DestroyShortcut, {L"ctrl" _ L"shift" _ L"alt" _ L"ket"}) + CLASS_MEMBER_METHOD(TryGetShortcut, {L"ctrl" _ L"shift" _ L"alt" _ L"ket"}) + END_CLASS_MEMBER(GuiShortcutKeyManager) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiAltAction) + INTERFACE_IDENTIFIER(vl::presentation::compositions::IGuiAltAction) + + CLASS_MEMBER_PROPERTY_READONLY_FAST(Alt) + + CLASS_MEMBER_METHOD(IsAltEnabled, NO_PARAMETER) + CLASS_MEMBER_METHOD(IsAltAvailable, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetAltComposition, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetActivatingAltHost, NO_PARAMETER) + CLASS_MEMBER_METHOD(OnActiveAlt, NO_PARAMETER) + END_INTERFACE_MEMBER(IGuiAltAction) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiAltActionContainer) + INTERFACE_IDENTIFIER(vl::presentation::compositions::IGuiAltActionContainer) + + CLASS_MEMBER_PROPERTY_READONLY_FAST(AltActionCount) + + CLASS_MEMBER_METHOD(GetAltAction, { L"index" }) + END_INTERFACE_MEMBER(IGuiAltActionContainer) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiAltActionHost) + INTERFACE_IDENTIFIER(vl::presentation::compositions::IGuiAltActionHost) + + CLASS_MEMBER_PROPERTY_READONLY_FAST(PreviousAltHost) + + CLASS_MEMBER_METHOD(OnActivatedAltHost, { L"previousHost" }) + CLASS_MEMBER_METHOD(OnDeactivatedAltHost, NO_PARAMETER) + CLASS_MEMBER_EXTERNALMETHOD(CollectAltActions, {L"actions"}, void(IGuiAltActionHost::*)(List&), vl::reflection::description::IGuiAltActionHost_CollectAltActions) + END_INTERFACE_MEMBER(IGuiAltActionHost) + +/*********************************************************************** +Type Declaration (Class) +***********************************************************************/ + BEGIN_CLASS_MEMBER(GuiGraphicsComposition) CLASS_MEMBER_EXTERNALMETHOD(SafeDelete, NO_PARAMETER, void(GuiGraphicsComposition::*)(), vl::presentation::compositions::SafeDeleteComposition) @@ -929,13 +1044,6 @@ Type Declaration CLASS_MEMBER_METHOD(IsSizeAffectParent, NO_PARAMETER) END_CLASS_MEMBER(GuiGraphicsComposition) - BEGIN_ENUM_ITEM(GuiGraphicsComposition::MinSizeLimitation) - ENUM_ITEM_NAMESPACE(GuiGraphicsComposition) - ENUM_NAMESPACE_ITEM(NoLimit) - ENUM_NAMESPACE_ITEM(LimitToElement) - ENUM_NAMESPACE_ITEM(LimitToElementAndChildren) - END_ENUM_ITEM(GuiGraphicsComposition::MinSizeLimitation) - BEGIN_CLASS_MEMBER(GuiGraphicsSite) CLASS_MEMBER_BASE(GuiGraphicsComposition) @@ -973,14 +1081,6 @@ Type Declaration CLASS_MEMBER_METHOD(EnsureVisible, {L"index"}) END_CLASS_MEMBER(GuiStackComposition) - BEGIN_ENUM_ITEM(GuiStackComposition::Direction) - ENUM_ITEM_NAMESPACE(GuiStackComposition) - ENUM_NAMESPACE_ITEM(Horizontal) - ENUM_NAMESPACE_ITEM(Vertical) - ENUM_NAMESPACE_ITEM(ReversedHorizontal) - ENUM_NAMESPACE_ITEM(ReversedVertical) - END_ENUM_ITEM(GuiStackComposition::Direction) - BEGIN_CLASS_MEMBER(GuiStackItemComposition) CLASS_MEMBER_BASE(GuiGraphicsSite) CLASS_MEMBER_CONSTRUCTOR(GuiStackItemComposition*(), NO_PARAMETER) @@ -989,19 +1089,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_FAST(ExtraMargin) END_CLASS_MEMBER(GuiStackItemComposition) - BEGIN_STRUCT_MEMBER(GuiCellOption) - STRUCT_MEMBER(composeType) - STRUCT_MEMBER(absolute) - STRUCT_MEMBER(percentage) - END_STRUCT_MEMBER(GuiCellOption) - - BEGIN_ENUM_ITEM(GuiCellOption::ComposeType) - ENUM_ITEM_NAMESPACE(GuiCellOption) - ENUM_NAMESPACE_ITEM(Absolute) - ENUM_NAMESPACE_ITEM(Percentage) - ENUM_NAMESPACE_ITEM(MinSize) - END_ENUM_ITEM(GuiCellOption::ComposeType) - BEGIN_CLASS_MEMBER(GuiTableComposition) CLASS_MEMBER_BASE(GuiBoundsComposition) CLASS_MEMBER_CONSTRUCTOR(GuiTableComposition*(), NO_PARAMETER) @@ -1061,12 +1148,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_FAST(ColumnsToTheLeft) END_CLASS_MEMBER(GuiColumnSplitterComposition) - BEGIN_ENUM_ITEM(FlowAlignment) - ENUM_CLASS_ITEM(Left) - ENUM_CLASS_ITEM(Center) - ENUM_CLASS_ITEM(Extend) - END_ENUM_ITEM(FlowAlignment) - BEGIN_CLASS_MEMBER(GuiFlowComposition) CLASS_MEMBER_BASE(GuiBoundsComposition) CLASS_MEMBER_CONSTRUCTOR(GuiFlowComposition*(), NO_PARAMETER) @@ -1079,19 +1160,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_FAST(Alignment) END_CLASS_MEMBER(GuiFlowComposition) - BEGIN_STRUCT_MEMBER(GuiFlowOption) - STRUCT_MEMBER(baseline) - STRUCT_MEMBER(percentage) - STRUCT_MEMBER(distance) - END_STRUCT_MEMBER(GuiFlowOption) - - BEGIN_ENUM_ITEM(GuiFlowOption::BaselineType) - ENUM_ITEM_NAMESPACE(GuiFlowOption) - ENUM_NAMESPACE_ITEM(Percentage) - ENUM_NAMESPACE_ITEM(FromTop) - ENUM_NAMESPACE_ITEM(FromBottom) - END_ENUM_ITEM(GuiFlowOption::BaselineType) - BEGIN_CLASS_MEMBER(GuiFlowItemComposition) CLASS_MEMBER_BASE(GuiGraphicsSite) CLASS_MEMBER_CONSTRUCTOR(GuiFlowItemComposition*(), NO_PARAMETER) @@ -1110,14 +1178,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_FAST(MaxRatio) END_CLASS_MEMBER(GuiSideAlignedComposition) - BEGIN_ENUM_ITEM(GuiSideAlignedComposition::Direction) - ENUM_ITEM_NAMESPACE(GuiSideAlignedComposition) - ENUM_NAMESPACE_ITEM(Left) - ENUM_NAMESPACE_ITEM(Top) - ENUM_NAMESPACE_ITEM(Right) - ENUM_NAMESPACE_ITEM(Bottom) - END_ENUM_ITEM(GuiSideAlignedComposition::Direction) - BEGIN_CLASS_MEMBER(GuiPartialViewComposition) CLASS_MEMBER_BASE(GuiGraphicsSite) CLASS_MEMBER_CONSTRUCTOR(GuiPartialViewComposition*(), NO_PARAMETER) @@ -1161,12 +1221,6 @@ Type Declaration CLASS_MEMBER_CONSTRUCTOR(GuiRepeatFlowComposition*(), NO_PARAMETER) END_CLASS_MEMBER(GuiRepeatFlowComposition) - BEGIN_ENUM_ITEM(ResponsiveDirection) - ENUM_CLASS_ITEM(Horizontal) - ENUM_CLASS_ITEM(Vertical) - ENUM_CLASS_ITEM(Both) - END_ENUM_ITEM(ResponsiveDirection) - BEGIN_CLASS_MEMBER(GuiResponsiveCompositionBase) CLASS_MEMBER_BASE(GuiBoundsComposition) @@ -1216,57 +1270,7 @@ Type Declaration CLASS_MEMBER_PROPERTY_FAST(ResponsiveTarget) END_CLASS_MEMBER(GuiResponsiveContainerComposition) - BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiShortcutKeyItem) - CLASS_MEMBER_PROPERTY_READONLY_FAST(Manager) - CLASS_MEMBER_PROPERTY_READONLY_FAST(Name) - END_INTERFACE_MEMBER(IGuiShortcutKeyItem) - - BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiShortcutKeyManager) - CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemCount) - - CLASS_MEMBER_METHOD(GetItem, {L"index"}) - END_INTERFACE_MEMBER(IGuiShortcutKeyManager) - - BEGIN_CLASS_MEMBER(GuiShortcutKeyManager) - CLASS_MEMBER_BASE(IGuiShortcutKeyManager) - CLASS_MEMBER_CONSTRUCTOR(GuiShortcutKeyManager*(), NO_PARAMETER) - - CLASS_MEMBER_METHOD(CreateShortcut, {L"ctrl" _ L"shift" _ L"alt" _ L"ket"}) - CLASS_MEMBER_METHOD(DestroyShortcut, {L"ctrl" _ L"shift" _ L"alt" _ L"ket"}) - CLASS_MEMBER_METHOD(TryGetShortcut, {L"ctrl" _ L"shift" _ L"alt" _ L"ket"}) - END_CLASS_MEMBER(GuiShortcutKeyManager) - - BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiAltAction) - INTERFACE_IDENTIFIER(vl::presentation::compositions::IGuiAltAction) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(Alt) - - CLASS_MEMBER_METHOD(IsAltEnabled, NO_PARAMETER) - CLASS_MEMBER_METHOD(IsAltAvailable, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetAltComposition, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetActivatingAltHost, NO_PARAMETER) - CLASS_MEMBER_METHOD(OnActiveAlt, NO_PARAMETER) - END_INTERFACE_MEMBER(IGuiAltAction) - - BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiAltActionContainer) - INTERFACE_IDENTIFIER(vl::presentation::compositions::IGuiAltActionContainer) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(AltActionCount) - - CLASS_MEMBER_METHOD(GetAltAction, { L"index" }) - END_INTERFACE_MEMBER(IGuiAltActionContainer) - - BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiAltActionHost) - INTERFACE_IDENTIFIER(vl::presentation::compositions::IGuiAltActionHost) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(PreviousAltHost) - - CLASS_MEMBER_METHOD(OnActivatedAltHost, { L"previousHost" }) - CLASS_MEMBER_METHOD(OnDeactivatedAltHost, NO_PARAMETER) - CLASS_MEMBER_EXTERNALMETHOD(CollectAltActions, {L"actions"}, void(IGuiAltActionHost::*)(List&), vl::reflection::description::IGuiAltActionHost_CollectAltActions) - END_INTERFACE_MEMBER(IGuiAltActionHost) - -#undef INTERFACE_EXTERNALCTOR +#undef INTERFACE_IDENTIFIER #undef _ /*********************************************************************** @@ -1324,10 +1328,6 @@ namespace vl #ifndef VCZH_DEBUG_NO_REFLECTION -/*********************************************************************** -Type Declaration -***********************************************************************/ - #define _ , #define CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE(CONTROL)\ @@ -1354,6 +1354,10 @@ Type Declaration #define INTERFACE_IDENTIFIER(INTERFACE)\ CLASS_MEMBER_STATIC_EXTERNALMETHOD(GetIdentifier, NO_PARAMETER, WString(*)(), vl::reflection::description::Interface_GetIdentifier<::INTERFACE>) +/*********************************************************************** +Type Declaration (Extra) +***********************************************************************/ + BEGIN_CLASS_MEMBER(GuiApplication) CLASS_MEMBER_STATIC_EXTERNALMETHOD(GetApplication, NO_PARAMETER, GuiApplication*(*)(), vl::presentation::controls::GetApplication) @@ -1471,6 +1475,525 @@ Type Declaration CLASS_MEMBER_METHOD(ShowDialog, NO_PARAMETER) END_CLASS_MEMBER(GuiSaveFileDialog) + BEGIN_CLASS_MEMBER(GuiSelectableButton::GroupController) + CLASS_MEMBER_BASE(GuiComponent) + + CLASS_MEMBER_METHOD(Attach, {L"button"}) + CLASS_MEMBER_METHOD(Detach, {L"button"}) + CLASS_MEMBER_METHOD(OnSelectedChanged, {L"button"}) + END_CLASS_MEMBER(GuiSelectableButton::GroupController) + + BEGIN_CLASS_MEMBER(GuiSelectableButton::MutexGroupController) + CLASS_MEMBER_BASE(GuiSelectableButton::GroupController) + CLASS_MEMBER_CONSTRUCTOR(GuiSelectableButton::MutexGroupController*(), NO_PARAMETER) + END_CLASS_MEMBER(GuiSelectableButton::MutexGroupController) + + BEGIN_INTERFACE_MEMBER(GuiListControl::IItemProviderCallback) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_METHOD(OnAttached, {L"provider"}) + CLASS_MEMBER_METHOD(OnItemModified, {L"start" _ L"count" _ L"newCount"}) + END_INTERFACE_MEMBER(GuiListControl::IItemProviderCallback) + + BEGIN_INTERFACE_MEMBER_NOPROXY(GuiListControl::IItemArrangerCallback) + CLASS_MEMBER_BASE(IDescriptable) + CLASS_MEMBER_METHOD(RequestItem, {L"itemIndex" _ L"itemComposition"}) + CLASS_MEMBER_METHOD(ReleaseItem, {L"style"}) + CLASS_MEMBER_METHOD(SetViewLocation, {L"value"}) + CLASS_MEMBER_METHOD(GetStylePreferredSize, {L"style"}) + CLASS_MEMBER_METHOD(SetStyleAlignmentToParent, {L"style" _ L"margin"}) + CLASS_MEMBER_METHOD(GetStyleBounds, {L"style"}) + CLASS_MEMBER_METHOD(SetStyleBounds, {L"style" _ L"bounds"}) + CLASS_MEMBER_METHOD(GetContainerComposition, NO_PARAMETER) + CLASS_MEMBER_METHOD(OnTotalSizeChanged, NO_PARAMETER) + END_INTERFACE_MEMBER(GuiListControl::IItemArrangerCallback) + + BEGIN_INTERFACE_MEMBER(GuiListControl::IItemProvider) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_METHOD(AttachCallback, {L"value"}) + CLASS_MEMBER_METHOD(DetachCallback, {L"value"}) + CLASS_MEMBER_METHOD(PushEditing, NO_PARAMETER) + CLASS_MEMBER_METHOD(PopEditing, NO_PARAMETER) + CLASS_MEMBER_METHOD(IsEditing, NO_PARAMETER) + CLASS_MEMBER_METHOD(Count, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetTextValue, { L"itemIndex" }) + CLASS_MEMBER_METHOD(GetBindingValue, { L"itemIndex" }) + CLASS_MEMBER_METHOD(RequestView, {L"identifier"}) + END_INTERFACE_MEMBER(GuiListControl::IItemProvider) + + BEGIN_INTERFACE_MEMBER(GuiListControl::IItemArranger) + CLASS_MEMBER_BASE(GuiListControl::IItemProviderCallback) + + CLASS_MEMBER_PROPERTY_FAST(Callback) + CLASS_MEMBER_PROPERTY_READONLY_FAST(TotalSize) + + CLASS_MEMBER_METHOD(AttachListControl, {L"value"}) + CLASS_MEMBER_METHOD(DetachListControl, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetVisibleStyle, {L"itemIndex"}) + CLASS_MEMBER_METHOD(GetVisibleIndex, {L"style"}) + CLASS_MEMBER_METHOD(ReloadVisibleStyles, NO_PARAMETER) + CLASS_MEMBER_METHOD(OnViewChanged, {L"bounds"}) + CLASS_MEMBER_METHOD(FindItem, {L"itemIndex" _ L"key"}) + CLASS_MEMBER_METHOD(EnsureItemVisible, {L"itemIndex"}) + CLASS_MEMBER_METHOD(GetAdoptedSize, {L"expectedSize"}) + END_INTERFACE_MEMBER(GuiListControl::IItemArranger) + + BEGIN_CLASS_MEMBER(ItemProviderBase) + CLASS_MEMBER_BASE(GuiListControl::IItemProvider) + END_CLASS_MEMBER(ItemProviderBase) + + BEGIN_CLASS_MEMBER(RangedItemArrangerBase) + CLASS_MEMBER_BASE(GuiListControl::IItemArranger) + END_CLASS_MEMBER(RangedItemArrangerBase) + + BEGIN_CLASS_MEMBER(FixedHeightItemArranger) + CLASS_MEMBER_BASE(RangedItemArrangerBase) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + END_CLASS_MEMBER(FixedHeightItemArranger) + + BEGIN_CLASS_MEMBER(FixedSizeMultiColumnItemArranger) + CLASS_MEMBER_BASE(RangedItemArrangerBase) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + END_CLASS_MEMBER(FixedSizeMultiColumnItemArranger) + + BEGIN_CLASS_MEMBER(FixedHeightMultiColumnItemArranger) + CLASS_MEMBER_BASE(RangedItemArrangerBase) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + END_CLASS_MEMBER(FixedHeightMultiColumnItemArranger) + + BEGIN_INTERFACE_MEMBER(ITextItemView) + INTERFACE_IDENTIFIER(vl::presentation::controls::list::ITextItemView) + + CLASS_MEMBER_METHOD(GetChecked, {L"itemIndex"}) + CLASS_MEMBER_METHOD(SetChecked, {L"itemIndex" _ L"value"}) + END_INTERFACE_MEMBER(ITextItemView) + + BEGIN_CLASS_MEMBER(TextItem) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&), {L"text"}) + CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&, bool), {L"text" _ L"checked"}) + + CLASS_MEMBER_PROPERTY_FAST(Text) + CLASS_MEMBER_PROPERTY_FAST(Checked) + END_CLASS_MEMBER(TextItem) + + BEGIN_ENUM_ITEM(TextListView) + ENUM_CLASS_ITEM(Text) + ENUM_CLASS_ITEM(Check) + ENUM_CLASS_ITEM(Radio) + ENUM_CLASS_ITEM(Unknown) + END_ENUM_ITEM(TextListView) + + BEGIN_INTERFACE_MEMBER(IListViewItemView) + INTERFACE_IDENTIFIER(vl::presentation::controls::list::IListViewItemView) + + CLASS_MEMBER_METHOD(GetSmallImage, {L"itemIndex"}) + CLASS_MEMBER_METHOD(GetLargeImage, {L"itemIndex"}) + CLASS_MEMBER_METHOD(GetText, {L"itemIndex"}) + CLASS_MEMBER_METHOD(GetSubItem, {L"itemIndex" _ L"index"}) + CLASS_MEMBER_METHOD(GetDataColumnCount, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetDataColumn, {L"index"}) + CLASS_MEMBER_METHOD(GetColumnCount, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetColumnText, {L"index"}) + END_INTERFACE_MEMBER(ListViewItemStyleProvider::IListViewItemView) + + BEGIN_CLASS_MEMBER(ListViewColumnItemArranger) + CLASS_MEMBER_BASE(FixedHeightItemArranger) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + END_CLASS_MEMBER(ListViewColumnItemArranger) + + BEGIN_CLASS_MEMBER(ListViewColumnItemArranger::IColumnItemViewCallback) + CLASS_MEMBER_METHOD(OnColumnChanged, NO_PARAMETER) + END_CLASS_MEMBER(ListViewColumnItemArranger::IColumnItemViewCallback) + + BEGIN_INTERFACE_MEMBER(ListViewColumnItemArranger::IColumnItemView) + CLASS_MEMBER_BASE(IDescriptable) + INTERFACE_IDENTIFIER(vl::presentation::controls::list::ListViewColumnItemArranger::IColumnItemView) + + CLASS_MEMBER_METHOD(AttachCallback, {L"value"}) + CLASS_MEMBER_METHOD(DetachCallback, {L"value"}) + CLASS_MEMBER_METHOD(GetColumnSize, {L"index"}) + CLASS_MEMBER_METHOD(SetColumnSize, {L"index" _ L"value"}) + CLASS_MEMBER_METHOD(GetDropdownPopup, {L"index"}) + CLASS_MEMBER_METHOD(GetSortingState, {L"index"}) + END_INTERFACE_MEMBER(ListViewColumnItemArranger::IColumnItemView) + + BEGIN_CLASS_MEMBER(ListViewItem) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + + CLASS_MEMBER_PROPERTY_FAST(SmallImage) + CLASS_MEMBER_PROPERTY_FAST(LargeImage) + CLASS_MEMBER_PROPERTY_FAST(Text) + CLASS_MEMBER_PROPERTY_READONLY_FAST(SubItems) + CLASS_MEMBER_PROPERTY_FAST(Tag) + END_CLASS_MEMBER(ListViewItem) + + BEGIN_CLASS_MEMBER(ListViewColumn) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&), {L"text"}) + CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&, vint), {L"text" _ L"size"}) + + CLASS_MEMBER_PROPERTY_FAST(Text) + CLASS_MEMBER_PROPERTY_FAST(TextProperty) + CLASS_MEMBER_PROPERTY_FAST(Size) + CLASS_MEMBER_PROPERTY_FAST(OwnPopup) + CLASS_MEMBER_PROPERTY_FAST(DropdownPopup) + CLASS_MEMBER_PROPERTY_FAST(SortingState) + END_CLASS_MEMBER(ListViewColumn) + + BEGIN_ENUM_ITEM(ListViewView) + ENUM_CLASS_ITEM(BigIcon) + ENUM_CLASS_ITEM(SmallIcon) + ENUM_CLASS_ITEM(List) + ENUM_CLASS_ITEM(Tile) + ENUM_CLASS_ITEM(Information) + ENUM_CLASS_ITEM(Detail) + ENUM_CLASS_ITEM(Unknown) + END_ENUM_ITEM(ListViewView) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiMenuService) + INTERFACE_IDENTIFIER(vl::presentation::controls::IGuiMenuService) + + CLASS_MEMBER_METHOD(GetParentMenuService, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetPreferredDirection, NO_PARAMETER) + CLASS_MEMBER_METHOD(IsActiveState, NO_PARAMETER) + CLASS_MEMBER_METHOD(IsSubMenuActivatedByMouseDown, NO_PARAMETER) + CLASS_MEMBER_METHOD(MenuItemExecuted, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetOpeningMenu, NO_PARAMETER) + CLASS_MEMBER_METHOD(MenuOpened, {L"menu"}) + CLASS_MEMBER_METHOD(MenuClosed, {L"menu"}) + END_INTERFACE_MEMBER(IGuiMenuService) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiMenuDropdownProvider) + INTERFACE_IDENTIFIER(vl::presentation::controls::IGuiMenuDropdownProvider) + + CLASS_MEMBER_METHOD(ProvideDropdownMenu, NO_PARAMETER) + END_INTERFACE_MEMBER(IGuiMenuDropdownProvider) + + BEGIN_ENUM_ITEM(IGuiMenuService::Direction) + ENUM_ITEM_NAMESPACE(IGuiMenuService) + ENUM_NAMESPACE_ITEM(Horizontal) + ENUM_NAMESPACE_ITEM(Vertical) + END_ENUM_ITEM(IGuiMenuService::Direction) + + BEGIN_INTERFACE_MEMBER_NOPROXY(INodeProviderCallback) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_METHOD(OnAttached, {L"provider"}) + CLASS_MEMBER_METHOD(OnBeforeItemModified, {L"parentNode" _ L"start" _ L"count" _ L"newCount"}) + CLASS_MEMBER_METHOD(OnAfterItemModified, {L"parentNode" _ L"start" _ L"count" _ L"newCount"}) + CLASS_MEMBER_METHOD(OnItemExpanded, {L"node"}) + CLASS_MEMBER_METHOD(OnItemCollapsed, {L"node"}) + END_INTERFACE_MEMBER(INodeProviderCallback) + + BEGIN_INTERFACE_MEMBER(INodeProvider) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_PROPERTY_FAST(Expanding) + CLASS_MEMBER_PROPERTY_READONLY_FAST(ChildCount) + CLASS_MEMBER_PROPERTY_READONLY_FAST(Parent) + + CLASS_MEMBER_METHOD(CalculateTotalVisibleNodes, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetChild, {L"index"}) + END_INTERFACE_MEMBER(INodeProvider) + + BEGIN_INTERFACE_MEMBER(INodeRootProvider) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_PROPERTY_READONLY_FAST(RootNode) + + CLASS_MEMBER_METHOD(CanGetNodeByVisibleIndex, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetNodeByVisibleIndex, {L"index"}) + CLASS_MEMBER_METHOD(AttachCallback, {L"value"}) + CLASS_MEMBER_METHOD(DetachCallback, {L"value"}) + CLASS_MEMBER_METHOD(GetTextValue, { L"node" }) + CLASS_MEMBER_METHOD(GetBindingValue, { L"node" }) + CLASS_MEMBER_METHOD(RequestView, {L"identifier"}) + END_INTERFACE_MEMBER(INodeRootProvider) + + BEGIN_INTERFACE_MEMBER(INodeItemView) + INTERFACE_IDENTIFIER(vl::presentation::controls::tree::INodeItemView) + + CLASS_MEMBER_METHOD(RequestNode, {L"index"}) + CLASS_MEMBER_METHOD(CalculateNodeVisibilityIndex, {L"node"}) + END_INTERFACE_MEMBER(INodeItemView) + + BEGIN_CLASS_MEMBER(MemoryNodeProvider) + CLASS_MEMBER_BASE(INodeProvider) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr), {L"data"}) + + CLASS_MEMBER_PROPERTY_FAST(Data) + + CLASS_MEMBER_METHOD(NotifyDataModified, NO_PARAMETER) + CLASS_MEMBER_METHOD_RENAME(GetChildren, Children, NO_PARAMETER) + CLASS_MEMBER_PROPERTY_READONLY(Children, GetChildren) + END_CLASS_MEMBER(MemoryNodeProvider) + + BEGIN_CLASS_MEMBER(NodeRootProviderBase) + CLASS_MEMBER_BASE(INodeRootProvider) + END_CLASS_MEMBER(NodeRootProviderBase) + + BEGIN_CLASS_MEMBER(MemoryNodeRootProvider) + CLASS_MEMBER_BASE(MemoryNodeProvider) + CLASS_MEMBER_BASE(NodeRootProviderBase) + + CLASS_MEMBER_PROPERTY_READONLY_FAST(RootNode) + + CLASS_MEMBER_METHOD(GetMemoryNode, {L"node"}) + END_CLASS_MEMBER(MemoryNodeRootProvider) + + BEGIN_INTERFACE_MEMBER(ITreeViewItemView) + INTERFACE_IDENTIFIER(vl::presentation::controls::tree::ITreeViewItemView) + + CLASS_MEMBER_METHOD(GetNodeImage, {L"node"}) + END_INTERFACE_MEMBER(ITreeViewItemView) + + BEGIN_CLASS_MEMBER(TreeViewItem) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(Ptr(const Ptr&, const WString&), {L"image" _ L"text"}) + + CLASS_MEMBER_FIELD(image) + CLASS_MEMBER_FIELD(text) + CLASS_MEMBER_FIELD(tag) + END_CLASS_MEMBER(TreeViewItem) + + BEGIN_CLASS_MEMBER(TreeViewItemRootProvider) + CLASS_MEMBER_BASE(MemoryNodeRootProvider) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + + CLASS_MEMBER_METHOD(GetTreeViewData, {L"node"}) + CLASS_MEMBER_METHOD(SetTreeViewData, {L"node" _ L"value"}) + CLASS_MEMBER_METHOD(UpdateTreeViewData, {L"node"}) + END_CLASS_MEMBER(TreeViewItemRootProvider) + + BEGIN_CLASS_MEMBER(GuiToolstripCommand) + CLASS_MEMBER_BASE(GuiComponent) + CLASS_MEMBER_CONSTRUCTOR(GuiToolstripCommand*(), NO_PARAMETER) + + CLASS_MEMBER_GUIEVENT(Executed) + CLASS_MEMBER_GUIEVENT(DescriptionChanged) + + CLASS_MEMBER_PROPERTY_EVENT_FAST(LargeImage, DescriptionChanged) + CLASS_MEMBER_PROPERTY_EVENT_FAST(Image, DescriptionChanged) + CLASS_MEMBER_PROPERTY_EVENT_FAST(Text, DescriptionChanged) + CLASS_MEMBER_PROPERTY_EVENT_FAST(Shortcut, DescriptionChanged) + CLASS_MEMBER_PROPERTY_EVENT_FAST(ShortcutBuilder, DescriptionChanged) + CLASS_MEMBER_PROPERTY_EVENT_FAST(Enabled, DescriptionChanged) + CLASS_MEMBER_PROPERTY_EVENT_FAST(Selected, DescriptionChanged) + END_CLASS_MEMBER(GuiToolstripCommand) + + BEGIN_ENUM_ITEM(RibbonButtonSize) + ENUM_CLASS_ITEM(Large) + ENUM_CLASS_ITEM(Small) + ENUM_CLASS_ITEM(Icon) + END_ENUM_ITEM(RibbonButtonSize) + + BEGIN_STRUCT_MEMBER(GalleryPos) + STRUCT_MEMBER(group) + STRUCT_MEMBER(item) + END_STRUCT_MEMBER(GalleryPos) + + BEGIN_CLASS_MEMBER(GalleryGroup) + CLASS_MEMBER_PROPERTY_READONLY_FAST(Name) + CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemValues) + END_CLASS_MEMBER(GalleryGroup) + + BEGIN_CLASS_MEMBER(GroupedDataSource) + CLASS_MEMBER_PROPERTY_FAST(ItemSource) + CLASS_MEMBER_PROPERTY_GUIEVENT_READONLY_FAST(GroupEnabled) + CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(GroupTitleProperty) + CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(GroupChildrenProperty) + CLASS_MEMBER_PROPERTY_READONLY_FAST(Groups) + END_CLASS_MEMBER(GroupedDataSource) + + BEGIN_CLASS_MEMBER(GuiDocumentItem) + CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&), { L"name" }) + + CLASS_MEMBER_PROPERTY_READONLY_FAST(Container) + CLASS_MEMBER_PROPERTY_READONLY_FAST(Name) + END_CLASS_MEMBER(GuiDocumentItem) + + BEGIN_ENUM_ITEM(GuiDocumentCommonInterface::EditMode) + ENUM_ITEM_NAMESPACE(GuiDocumentCommonInterface) + ENUM_NAMESPACE_ITEM(ViewOnly) + ENUM_NAMESPACE_ITEM(Selectable) + ENUM_NAMESPACE_ITEM(Editable) + END_ENUM_ITEM(GuiDocumentCommonInterface::EditMode) + + BEGIN_INTERFACE_MEMBER(IDataGridContext) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemProvider) + CLASS_MEMBER_PROPERTY_READONLY_FAST(ListViewControlTemplate) + CLASS_MEMBER_METHOD(RequestSaveData, NO_PARAMETER) + END_INTERFACE_MEMBER(IDataGridContext) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IDataVisualizerFactory) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_METHOD(CreateVisualizer, {L"dataGridContext"}) + END_INTERFACE_MEMBER(IDataVisualizerFactory) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IDataVisualizer) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_PROPERTY_READONLY_FAST(Factory) + CLASS_MEMBER_PROPERTY_READONLY_FAST(Template) + + CLASS_MEMBER_METHOD(BeforeVisualizeCell, {L"itemProvider" _ L"row" _ L"column"}) + CLASS_MEMBER_METHOD(SetSelected, {L"value"}) + END_INTERFACE_MEMBER(IDataVisualizer) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IDataEditorFactory) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_METHOD(CreateEditor, {L"dataGridContext"}) + END_INTERFACE_MEMBER(IDataEditorFactory) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IDataEditor) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_PROPERTY_READONLY_FAST(Factory) + CLASS_MEMBER_PROPERTY_READONLY_FAST(Template) + CLASS_MEMBER_PROPERTY_READONLY_FAST(CellValueSaved) + + CLASS_MEMBER_METHOD(BeforeEditCell, {L"itemProvider" _ L"row" _ L"column"}) + END_INTERFACE_MEMBER(IDataEditor) + + BEGIN_INTERFACE_MEMBER(IDataGridView) + CLASS_MEMBER_BASE(IDescriptable) + INTERFACE_IDENTIFIER(vl::presentation::controls::list::IDataGridView) + + CLASS_MEMBER_PROPERTY_READONLY_FAST(SortedColumn) + CLASS_MEMBER_METHOD(IsColumnSortable, {L"column"}) + CLASS_MEMBER_METHOD(SortByColumn, {L"column" _ L"ascending"}) + CLASS_MEMBER_METHOD(IsSortOrderAscending, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetCellSpan, {L"row" _ L"column"}) + CLASS_MEMBER_METHOD(GetCellDataVisualizerFactory, {L"row" _ L"column"}) + CLASS_MEMBER_METHOD(GetCellDataEditorFactory, {L"row" _ L"column"}) + CLASS_MEMBER_METHOD(GetBindingCellValue, {L"row" _ L"column"}) + CLASS_MEMBER_METHOD(SetBindingCellValue, {L"row" _ L"column" _ L"value"}) + END_INTERFACE_MEMBER(IDataGridView) + + BEGIN_CLASS_MEMBER(DataVisualizerBase) + CLASS_MEMBER_BASE(IDataVisualizer) + END_CLASS_MEMBER(DataVisualizerBase) + + BEGIN_CLASS_MEMBER(DataVisualizerFactory) + CLASS_MEMBER_BASE(IDataVisualizerFactory) + CLASS_MEMBER_CONSTRUCTOR(Ptr(TemplateProperty, Ptr), { L"templateFactory" _ L"decoratedFactory"}) + END_CLASS_MEMBER(DataVisualizerFactory) + + BEGIN_CLASS_MEMBER(DataEditorBase) + CLASS_MEMBER_BASE(IDataEditor) + END_CLASS_MEMBER(DataEditorBase) + + BEGIN_CLASS_MEMBER(DataEditorFactory) + CLASS_MEMBER_BASE(IDataEditorFactory) + CLASS_MEMBER_CONSTRUCTOR(Ptr(TemplateProperty), { L"templateFactory" }) + END_CLASS_MEMBER(DataEditorFactory) + + BEGIN_INTERFACE_MEMBER(IDataProcessorCallback) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemProvider) + CLASS_MEMBER_METHOD(OnProcessorChanged, NO_PARAMETER) + END_INTERFACE_MEMBER(IDataProcessorCallback) + + BEGIN_INTERFACE_MEMBER(IDataFilter) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_METHOD(SetCallback, { L"value" }) + CLASS_MEMBER_METHOD(Filter, { L"row" }) + END_INTERFACE_MEMBER(IDataFilter) + + BEGIN_INTERFACE_MEMBER(IDataSorter) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_METHOD(SetCallback, { L"value" }) + CLASS_MEMBER_METHOD(Compare, { L"row1" _ L"row2" }) + END_INTERFACE_MEMBER(IDataSorter) + + BEGIN_CLASS_MEMBER(DataFilterBase) + CLASS_MEMBER_BASE(IDataFilter) + END_CLASS_MEMBER(DataFilterBase) + + BEGIN_CLASS_MEMBER(DataMultipleFilter) + CLASS_MEMBER_BASE(DataFilterBase) + + CLASS_MEMBER_METHOD(AddSubFilter, {L"value"}) + CLASS_MEMBER_METHOD(RemoveSubFilter, {L"value"}) + END_CLASS_MEMBER(DataMultipleFilter) + + BEGIN_CLASS_MEMBER(DataAndFilter) + CLASS_MEMBER_BASE(DataMultipleFilter) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + END_CLASS_MEMBER(DataAndFilter) + + BEGIN_CLASS_MEMBER(DataOrFilter) + CLASS_MEMBER_BASE(DataMultipleFilter) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + END_CLASS_MEMBER(DataOrFilter) + + BEGIN_CLASS_MEMBER(DataNotFilter) + CLASS_MEMBER_BASE(DataFilterBase) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + + CLASS_MEMBER_METHOD(SetSubFilter, {L"value"}) + END_CLASS_MEMBER(DataNotFilter) + + BEGIN_CLASS_MEMBER(DataSorterBase) + CLASS_MEMBER_BASE(IDataSorter) + END_CLASS_MEMBER(DataSorterBase) + + BEGIN_CLASS_MEMBER(DataMultipleSorter) + CLASS_MEMBER_BASE(DataSorterBase) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + + CLASS_MEMBER_METHOD(SetLeftSorter, {L"value"}) + CLASS_MEMBER_METHOD(SetRightSorter, {L"value"}) + END_CLASS_MEMBER(DataMultipleSorter) + + BEGIN_CLASS_MEMBER(DataReverseSorter) + CLASS_MEMBER_BASE(DataSorterBase) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + + CLASS_MEMBER_METHOD(SetSubSorter, {L"value"}) + END_CLASS_MEMBER(DataReverseSorter) + + BEGIN_CLASS_MEMBER(DataColumn) + CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) + + CLASS_MEMBER_PROPERTY_FAST(Text) + CLASS_MEMBER_PROPERTY_FAST(Size) + CLASS_MEMBER_PROPERTY_FAST(OwnPopup) + CLASS_MEMBER_PROPERTY_FAST(Popup) + CLASS_MEMBER_PROPERTY_FAST(Filter) + CLASS_MEMBER_PROPERTY_FAST(Sorter) + CLASS_MEMBER_PROPERTY_FAST(VisualizerFactory) + CLASS_MEMBER_PROPERTY_FAST(EditorFactory) + + CLASS_MEMBER_METHOD(GetCellText, { L"row" }) + CLASS_MEMBER_METHOD(GetCellValue, { L"row" }) + CLASS_MEMBER_METHOD(SetCellValue, { L"row" _ L"value" }) + CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(TextProperty) + CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ValueProperty) + END_CLASS_MEMBER(DataColumn) + + BEGIN_CLASS_MEMBER(DataProvider) + CLASS_MEMBER_BASE(ItemProviderBase) + CLASS_MEMBER_BASE(IListViewItemView) + CLASS_MEMBER_BASE(ListViewColumnItemArranger::IColumnItemView) + CLASS_MEMBER_BASE(IDataGridView) + CLASS_MEMBER_BASE(IDataProcessorCallback) + END_CLASS_MEMBER(DataProvider) + +/*********************************************************************** +Type Declaration (Class) +***********************************************************************/ + BEGIN_CLASS_MEMBER(GuiControl) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiControl) @@ -1538,19 +2061,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Selected) END_CLASS_MEMBER(GuiSelectableButton) - BEGIN_CLASS_MEMBER(GuiSelectableButton::GroupController) - CLASS_MEMBER_BASE(GuiComponent) - - CLASS_MEMBER_METHOD(Attach, {L"button"}) - CLASS_MEMBER_METHOD(Detach, {L"button"}) - CLASS_MEMBER_METHOD(OnSelectedChanged, {L"button"}) - END_CLASS_MEMBER(GuiSelectableButton::GroupController) - - BEGIN_CLASS_MEMBER(GuiSelectableButton::MutexGroupController) - CLASS_MEMBER_BASE(GuiSelectableButton::GroupController) - CLASS_MEMBER_CONSTRUCTOR(GuiSelectableButton::MutexGroupController*(), NO_PARAMETER) - END_CLASS_MEMBER(GuiSelectableButton::MutexGroupController) - BEGIN_CLASS_MEMBER(GuiScroll) CLASS_MEMBER_BASE(GuiControl) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiScroll) @@ -1706,57 +2216,6 @@ Type Declaration CLASS_MEMBER_METHOD(GetAdoptedSize, {L"expectedSize"}) END_CLASS_MEMBER(GuiListControl) - BEGIN_INTERFACE_MEMBER(GuiListControl::IItemProviderCallback) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_METHOD(OnAttached, {L"provider"}) - CLASS_MEMBER_METHOD(OnItemModified, {L"start" _ L"count" _ L"newCount"}) - END_INTERFACE_MEMBER(GuiListControl::IItemProviderCallback) - - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiListControl::IItemArrangerCallback) - CLASS_MEMBER_BASE(IDescriptable) - CLASS_MEMBER_METHOD(RequestItem, {L"itemIndex" _ L"itemComposition"}) - CLASS_MEMBER_METHOD(ReleaseItem, {L"style"}) - CLASS_MEMBER_METHOD(SetViewLocation, {L"value"}) - CLASS_MEMBER_METHOD(GetStylePreferredSize, {L"style"}) - CLASS_MEMBER_METHOD(SetStyleAlignmentToParent, {L"style" _ L"margin"}) - CLASS_MEMBER_METHOD(GetStyleBounds, {L"style"}) - CLASS_MEMBER_METHOD(SetStyleBounds, {L"style" _ L"bounds"}) - CLASS_MEMBER_METHOD(GetContainerComposition, NO_PARAMETER) - CLASS_MEMBER_METHOD(OnTotalSizeChanged, NO_PARAMETER) - END_INTERFACE_MEMBER(GuiListControl::IItemArrangerCallback) - - BEGIN_INTERFACE_MEMBER(GuiListControl::IItemProvider) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_METHOD(AttachCallback, {L"value"}) - CLASS_MEMBER_METHOD(DetachCallback, {L"value"}) - CLASS_MEMBER_METHOD(PushEditing, NO_PARAMETER) - CLASS_MEMBER_METHOD(PopEditing, NO_PARAMETER) - CLASS_MEMBER_METHOD(IsEditing, NO_PARAMETER) - CLASS_MEMBER_METHOD(Count, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetTextValue, { L"itemIndex" }) - CLASS_MEMBER_METHOD(GetBindingValue, { L"itemIndex" }) - CLASS_MEMBER_METHOD(RequestView, {L"identifier"}) - END_INTERFACE_MEMBER(GuiListControl::IItemProvider) - - BEGIN_INTERFACE_MEMBER(GuiListControl::IItemArranger) - CLASS_MEMBER_BASE(GuiListControl::IItemProviderCallback) - - CLASS_MEMBER_PROPERTY_FAST(Callback) - CLASS_MEMBER_PROPERTY_READONLY_FAST(TotalSize) - - CLASS_MEMBER_METHOD(AttachListControl, {L"value"}) - CLASS_MEMBER_METHOD(DetachListControl, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetVisibleStyle, {L"itemIndex"}) - CLASS_MEMBER_METHOD(GetVisibleIndex, {L"style"}) - CLASS_MEMBER_METHOD(ReloadVisibleStyles, NO_PARAMETER) - CLASS_MEMBER_METHOD(OnViewChanged, {L"bounds"}) - CLASS_MEMBER_METHOD(FindItem, {L"itemIndex" _ L"key"}) - CLASS_MEMBER_METHOD(EnsureItemVisible, {L"itemIndex"}) - CLASS_MEMBER_METHOD(GetAdoptedSize, {L"expectedSize"}) - END_INTERFACE_MEMBER(GuiListControl::IItemArranger) - BEGIN_CLASS_MEMBER(GuiSelectableListControl) CLASS_MEMBER_BASE(GuiListControl) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiSelectableListControl, GuiListControl::IItemProvider*, itemProvider) @@ -1775,52 +2234,6 @@ Type Declaration CLASS_MEMBER_METHOD(ClearSelection, NO_PARAMETER) END_CLASS_MEMBER(GuiSelectableListControl) - BEGIN_CLASS_MEMBER(ItemProviderBase) - CLASS_MEMBER_BASE(GuiListControl::IItemProvider) - END_CLASS_MEMBER(ItemProviderBase) - - BEGIN_CLASS_MEMBER(RangedItemArrangerBase) - CLASS_MEMBER_BASE(GuiListControl::IItemArranger) - END_CLASS_MEMBER(RangedItemArrangerBase) - - BEGIN_CLASS_MEMBER(FixedHeightItemArranger) - CLASS_MEMBER_BASE(RangedItemArrangerBase) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - END_CLASS_MEMBER(FixedHeightItemArranger) - - BEGIN_CLASS_MEMBER(FixedSizeMultiColumnItemArranger) - CLASS_MEMBER_BASE(RangedItemArrangerBase) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - END_CLASS_MEMBER(FixedSizeMultiColumnItemArranger) - - BEGIN_CLASS_MEMBER(FixedHeightMultiColumnItemArranger) - CLASS_MEMBER_BASE(RangedItemArrangerBase) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - END_CLASS_MEMBER(FixedHeightMultiColumnItemArranger) - - BEGIN_INTERFACE_MEMBER(ITextItemView) - INTERFACE_IDENTIFIER(vl::presentation::controls::list::ITextItemView) - - CLASS_MEMBER_METHOD(GetChecked, {L"itemIndex"}) - CLASS_MEMBER_METHOD(SetChecked, {L"itemIndex" _ L"value"}) - END_INTERFACE_MEMBER(ITextItemView) - - BEGIN_CLASS_MEMBER(TextItem) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&), {L"text"}) - CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&, bool), {L"text" _ L"checked"}) - - CLASS_MEMBER_PROPERTY_FAST(Text) - CLASS_MEMBER_PROPERTY_FAST(Checked) - END_CLASS_MEMBER(TextItem) - - BEGIN_ENUM_ITEM(TextListView) - ENUM_CLASS_ITEM(Text) - ENUM_CLASS_ITEM(Check) - ENUM_CLASS_ITEM(Radio) - ENUM_CLASS_ITEM(Unknown) - END_ENUM_ITEM(TextListView) - BEGIN_CLASS_MEMBER(GuiVirtualTextList) CLASS_MEMBER_BASE(GuiSelectableListControl) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_2(GuiVirtualTextList, GuiListControl::IItemProvider*, L"itemProvider") @@ -1851,73 +2264,6 @@ Type Declaration CLASS_MEMBER_GUIEVENT(ColumnClicked) END_CLASS_MEMBER(GuiListViewBase) - BEGIN_INTERFACE_MEMBER(IListViewItemView) - INTERFACE_IDENTIFIER(vl::presentation::controls::list::IListViewItemView) - - CLASS_MEMBER_METHOD(GetSmallImage, {L"itemIndex"}) - CLASS_MEMBER_METHOD(GetLargeImage, {L"itemIndex"}) - CLASS_MEMBER_METHOD(GetText, {L"itemIndex"}) - CLASS_MEMBER_METHOD(GetSubItem, {L"itemIndex" _ L"index"}) - CLASS_MEMBER_METHOD(GetDataColumnCount, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetDataColumn, {L"index"}) - CLASS_MEMBER_METHOD(GetColumnCount, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetColumnText, {L"index"}) - END_INTERFACE_MEMBER(ListViewItemStyleProvider::IListViewItemView) - - BEGIN_CLASS_MEMBER(ListViewColumnItemArranger) - CLASS_MEMBER_BASE(FixedHeightItemArranger) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - END_CLASS_MEMBER(ListViewColumnItemArranger) - - BEGIN_CLASS_MEMBER(ListViewColumnItemArranger::IColumnItemViewCallback) - CLASS_MEMBER_METHOD(OnColumnChanged, NO_PARAMETER) - END_CLASS_MEMBER(ListViewColumnItemArranger::IColumnItemViewCallback) - - BEGIN_INTERFACE_MEMBER(ListViewColumnItemArranger::IColumnItemView) - CLASS_MEMBER_BASE(IDescriptable) - INTERFACE_IDENTIFIER(vl::presentation::controls::list::ListViewColumnItemArranger::IColumnItemView) - - CLASS_MEMBER_METHOD(AttachCallback, {L"value"}) - CLASS_MEMBER_METHOD(DetachCallback, {L"value"}) - CLASS_MEMBER_METHOD(GetColumnSize, {L"index"}) - CLASS_MEMBER_METHOD(SetColumnSize, {L"index" _ L"value"}) - CLASS_MEMBER_METHOD(GetDropdownPopup, {L"index"}) - CLASS_MEMBER_METHOD(GetSortingState, {L"index"}) - END_INTERFACE_MEMBER(ListViewColumnItemArranger::IColumnItemView) - - BEGIN_CLASS_MEMBER(ListViewItem) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - - CLASS_MEMBER_PROPERTY_FAST(SmallImage) - CLASS_MEMBER_PROPERTY_FAST(LargeImage) - CLASS_MEMBER_PROPERTY_FAST(Text) - CLASS_MEMBER_PROPERTY_READONLY_FAST(SubItems) - CLASS_MEMBER_PROPERTY_FAST(Tag) - END_CLASS_MEMBER(ListViewItem) - - BEGIN_CLASS_MEMBER(ListViewColumn) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&), {L"text"}) - CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&, vint), {L"text" _ L"size"}) - - CLASS_MEMBER_PROPERTY_FAST(Text) - CLASS_MEMBER_PROPERTY_FAST(TextProperty) - CLASS_MEMBER_PROPERTY_FAST(Size) - CLASS_MEMBER_PROPERTY_FAST(OwnPopup) - CLASS_MEMBER_PROPERTY_FAST(DropdownPopup) - CLASS_MEMBER_PROPERTY_FAST(SortingState) - END_CLASS_MEMBER(ListViewColumn) - - BEGIN_ENUM_ITEM(ListViewView) - ENUM_CLASS_ITEM(BigIcon) - ENUM_CLASS_ITEM(SmallIcon) - ENUM_CLASS_ITEM(List) - ENUM_CLASS_ITEM(Tile) - ENUM_CLASS_ITEM(Information) - ENUM_CLASS_ITEM(Detail) - ENUM_CLASS_ITEM(Unknown) - END_ENUM_ITEM(ListViewView) - BEGIN_CLASS_MEMBER(GuiVirtualListView) CLASS_MEMBER_BASE(GuiListViewBase) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiVirtualListView, GuiListControl::IItemProvider*, itemProvider) @@ -1935,31 +2281,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) END_CLASS_MEMBER(GuiListView) - BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiMenuService) - INTERFACE_IDENTIFIER(vl::presentation::controls::IGuiMenuService) - - CLASS_MEMBER_METHOD(GetParentMenuService, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetPreferredDirection, NO_PARAMETER) - CLASS_MEMBER_METHOD(IsActiveState, NO_PARAMETER) - CLASS_MEMBER_METHOD(IsSubMenuActivatedByMouseDown, NO_PARAMETER) - CLASS_MEMBER_METHOD(MenuItemExecuted, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetOpeningMenu, NO_PARAMETER) - CLASS_MEMBER_METHOD(MenuOpened, {L"menu"}) - CLASS_MEMBER_METHOD(MenuClosed, {L"menu"}) - END_INTERFACE_MEMBER(IGuiMenuService) - - BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiMenuDropdownProvider) - INTERFACE_IDENTIFIER(vl::presentation::controls::IGuiMenuDropdownProvider) - - CLASS_MEMBER_METHOD(ProvideDropdownMenu, NO_PARAMETER) - END_INTERFACE_MEMBER(IGuiMenuDropdownProvider) - - BEGIN_ENUM_ITEM(IGuiMenuService::Direction) - ENUM_ITEM_NAMESPACE(IGuiMenuService) - ENUM_NAMESPACE_ITEM(Horizontal) - ENUM_NAMESPACE_ITEM(Vertical) - END_ENUM_ITEM(IGuiMenuService::Direction) - BEGIN_CLASS_MEMBER(GuiMenu) CLASS_MEMBER_BASE(GuiPopup) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_2(GuiMenu, GuiControl*, owner) @@ -1993,73 +2314,6 @@ Type Declaration CLASS_MEMBER_METHOD(SetSubMenu, {L"value" _ L"owned"}) END_CLASS_MEMBER(GuiMenuButton) - BEGIN_INTERFACE_MEMBER_NOPROXY(INodeProviderCallback) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_METHOD(OnAttached, {L"provider"}) - CLASS_MEMBER_METHOD(OnBeforeItemModified, {L"parentNode" _ L"start" _ L"count" _ L"newCount"}) - CLASS_MEMBER_METHOD(OnAfterItemModified, {L"parentNode" _ L"start" _ L"count" _ L"newCount"}) - CLASS_MEMBER_METHOD(OnItemExpanded, {L"node"}) - CLASS_MEMBER_METHOD(OnItemCollapsed, {L"node"}) - END_INTERFACE_MEMBER(INodeProviderCallback) - - BEGIN_INTERFACE_MEMBER(INodeProvider) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_PROPERTY_FAST(Expanding) - CLASS_MEMBER_PROPERTY_READONLY_FAST(ChildCount) - CLASS_MEMBER_PROPERTY_READONLY_FAST(Parent) - - CLASS_MEMBER_METHOD(CalculateTotalVisibleNodes, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetChild, {L"index"}) - END_INTERFACE_MEMBER(INodeProvider) - - BEGIN_INTERFACE_MEMBER(INodeRootProvider) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(RootNode) - - CLASS_MEMBER_METHOD(CanGetNodeByVisibleIndex, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetNodeByVisibleIndex, {L"index"}) - CLASS_MEMBER_METHOD(AttachCallback, {L"value"}) - CLASS_MEMBER_METHOD(DetachCallback, {L"value"}) - CLASS_MEMBER_METHOD(GetTextValue, { L"node" }) - CLASS_MEMBER_METHOD(GetBindingValue, { L"node" }) - CLASS_MEMBER_METHOD(RequestView, {L"identifier"}) - END_INTERFACE_MEMBER(INodeRootProvider) - - BEGIN_INTERFACE_MEMBER(INodeItemView) - INTERFACE_IDENTIFIER(vl::presentation::controls::tree::INodeItemView) - - CLASS_MEMBER_METHOD(RequestNode, {L"index"}) - CLASS_MEMBER_METHOD(CalculateNodeVisibilityIndex, {L"node"}) - END_INTERFACE_MEMBER(INodeItemView) - - BEGIN_CLASS_MEMBER(MemoryNodeProvider) - CLASS_MEMBER_BASE(INodeProvider) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr), {L"data"}) - - CLASS_MEMBER_PROPERTY_FAST(Data) - - CLASS_MEMBER_METHOD(NotifyDataModified, NO_PARAMETER) - CLASS_MEMBER_METHOD_RENAME(GetChildren, Children, NO_PARAMETER) - CLASS_MEMBER_PROPERTY_READONLY(Children, GetChildren) - END_CLASS_MEMBER(MemoryNodeProvider) - - BEGIN_CLASS_MEMBER(NodeRootProviderBase) - CLASS_MEMBER_BASE(INodeRootProvider) - END_CLASS_MEMBER(NodeRootProviderBase) - - BEGIN_CLASS_MEMBER(MemoryNodeRootProvider) - CLASS_MEMBER_BASE(MemoryNodeProvider) - CLASS_MEMBER_BASE(NodeRootProviderBase) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(RootNode) - - CLASS_MEMBER_METHOD(GetMemoryNode, {L"node"}) - END_CLASS_MEMBER(MemoryNodeRootProvider) - BEGIN_CLASS_MEMBER(GuiVirtualTreeListControl) CLASS_MEMBER_BASE(GuiSelectableListControl) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_2(GuiVirtualTreeListControl, Ptr, rootNodeProvider) @@ -2083,30 +2337,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_READONLY_FAST(NodeRootProvider) END_CLASS_MEMBER(GuiVirtualTreeListControl) - BEGIN_INTERFACE_MEMBER(ITreeViewItemView) - INTERFACE_IDENTIFIER(vl::presentation::controls::tree::ITreeViewItemView) - - CLASS_MEMBER_METHOD(GetNodeImage, {L"node"}) - END_INTERFACE_MEMBER(ITreeViewItemView) - - BEGIN_CLASS_MEMBER(TreeViewItem) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - CLASS_MEMBER_CONSTRUCTOR(Ptr(const Ptr&, const WString&), {L"image" _ L"text"}) - - CLASS_MEMBER_FIELD(image) - CLASS_MEMBER_FIELD(text) - CLASS_MEMBER_FIELD(tag) - END_CLASS_MEMBER(TreeViewItem) - - BEGIN_CLASS_MEMBER(TreeViewItemRootProvider) - CLASS_MEMBER_BASE(MemoryNodeRootProvider) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - - CLASS_MEMBER_METHOD(GetTreeViewData, {L"node"}) - CLASS_MEMBER_METHOD(SetTreeViewData, {L"node" _ L"value"}) - CLASS_MEMBER_METHOD(UpdateTreeViewData, {L"node"}) - END_CLASS_MEMBER(TreeViewItemRootProvider) - BEGIN_CLASS_MEMBER(GuiVirtualTreeView) CLASS_MEMBER_BASE(GuiVirtualTreeListControl) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiVirtualTreeView, Ptr, rootNodeProvider) @@ -2140,22 +2370,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemProvider) END_CLASS_MEMBER(GuiComboBoxListControl) - BEGIN_CLASS_MEMBER(GuiToolstripCommand) - CLASS_MEMBER_BASE(GuiComponent) - CLASS_MEMBER_CONSTRUCTOR(GuiToolstripCommand*(), NO_PARAMETER) - - CLASS_MEMBER_GUIEVENT(Executed) - CLASS_MEMBER_GUIEVENT(DescriptionChanged) - - CLASS_MEMBER_PROPERTY_EVENT_FAST(LargeImage, DescriptionChanged) - CLASS_MEMBER_PROPERTY_EVENT_FAST(Image, DescriptionChanged) - CLASS_MEMBER_PROPERTY_EVENT_FAST(Text, DescriptionChanged) - CLASS_MEMBER_PROPERTY_EVENT_FAST(Shortcut, DescriptionChanged) - CLASS_MEMBER_PROPERTY_EVENT_FAST(ShortcutBuilder, DescriptionChanged) - CLASS_MEMBER_PROPERTY_EVENT_FAST(Enabled, DescriptionChanged) - CLASS_MEMBER_PROPERTY_EVENT_FAST(Selected, DescriptionChanged) - END_CLASS_MEMBER(GuiToolstripCommand) - BEGIN_CLASS_MEMBER(GuiToolstripMenu) CLASS_MEMBER_BASE(GuiMenu) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiToolstripMenu, GuiControl*, owner) @@ -2233,12 +2447,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_READONLY_FAST(Items) END_CLASS_MEMBER(GuiRibbonGroup) - BEGIN_ENUM_ITEM(RibbonButtonSize) - ENUM_CLASS_ITEM(Large) - ENUM_CLASS_ITEM(Small) - ENUM_CLASS_ITEM(Icon) - END_ENUM_ITEM(RibbonButtonSize) - BEGIN_CLASS_MEMBER(GuiRibbonButtons) CLASS_MEMBER_BASE(GuiControl) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_3(GuiRibbonButtons, RibbonButtonSize, maxSize, RibbonButtonSize, minSize) @@ -2272,24 +2480,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_READONLY_FAST(ContentComposition) END_CLASS_MEMBER(GuiRibbonToolstripMenu) - BEGIN_STRUCT_MEMBER(GalleryPos) - STRUCT_MEMBER(group) - STRUCT_MEMBER(item) - END_STRUCT_MEMBER(GalleryPos) - - BEGIN_CLASS_MEMBER(GalleryGroup) - CLASS_MEMBER_PROPERTY_READONLY_FAST(Name) - CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemValues) - END_CLASS_MEMBER(GalleryGroup) - - BEGIN_CLASS_MEMBER(GroupedDataSource) - CLASS_MEMBER_PROPERTY_FAST(ItemSource) - CLASS_MEMBER_PROPERTY_GUIEVENT_READONLY_FAST(GroupEnabled) - CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(GroupTitleProperty) - CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(GroupChildrenProperty) - CLASS_MEMBER_PROPERTY_READONLY_FAST(Groups) - END_CLASS_MEMBER(GroupedDataSource) - BEGIN_CLASS_MEMBER(GuiBindableRibbonGalleryList) CLASS_MEMBER_BASE(GuiRibbonGallery) CLASS_MEMBER_BASE(GroupedDataSource) @@ -2314,13 +2504,6 @@ Type Declaration CLASS_MEMBER_METHOD(SelectItem, { L"index" }) END_CLASS_MEMBER(GuiBindableRibbonGalleryList) - BEGIN_CLASS_MEMBER(GuiDocumentItem) - CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&), { L"name" }) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(Container) - CLASS_MEMBER_PROPERTY_READONLY_FAST(Name) - END_CLASS_MEMBER(GuiDocumentItem) - BEGIN_CLASS_MEMBER(GuiDocumentCommonInterface) CLASS_MEMBER_PROPERTY_FAST(Document) CLASS_MEMBER_PROPERTY_FAST(EditMode) @@ -2375,13 +2558,6 @@ Type Declaration CLASS_MEMBER_METHOD(Redo, NO_PARAMETER) END_CLASS_MEMBER(GuiDocumentCommonInterface) - BEGIN_ENUM_ITEM(GuiDocumentCommonInterface::EditMode) - ENUM_ITEM_NAMESPACE(GuiDocumentCommonInterface) - ENUM_NAMESPACE_ITEM(ViewOnly) - ENUM_NAMESPACE_ITEM(Selectable) - ENUM_NAMESPACE_ITEM(Editable) - END_ENUM_ITEM(GuiDocumentCommonInterface::EditMode) - BEGIN_CLASS_MEMBER(GuiDocumentViewer) CLASS_MEMBER_BASE(GuiScrollContainer) CLASS_MEMBER_BASE(GuiDocumentCommonInterface) @@ -2449,61 +2625,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_FAST(PasswordChar) END_CLASS_MEMBER(GuiSinglelineTextBox) - BEGIN_INTERFACE_MEMBER(IDataGridContext) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemProvider) - CLASS_MEMBER_PROPERTY_READONLY_FAST(ListViewControlTemplate) - CLASS_MEMBER_METHOD(RequestSaveData, NO_PARAMETER) - END_INTERFACE_MEMBER(IDataGridContext) - - BEGIN_INTERFACE_MEMBER_NOPROXY(IDataVisualizerFactory) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_METHOD(CreateVisualizer, {L"dataGridContext"}) - END_INTERFACE_MEMBER(IDataVisualizerFactory) - - BEGIN_INTERFACE_MEMBER_NOPROXY(IDataVisualizer) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(Factory) - CLASS_MEMBER_PROPERTY_READONLY_FAST(Template) - - CLASS_MEMBER_METHOD(BeforeVisualizeCell, {L"itemProvider" _ L"row" _ L"column"}) - CLASS_MEMBER_METHOD(SetSelected, {L"value"}) - END_INTERFACE_MEMBER(IDataVisualizer) - - BEGIN_INTERFACE_MEMBER_NOPROXY(IDataEditorFactory) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_METHOD(CreateEditor, {L"dataGridContext"}) - END_INTERFACE_MEMBER(IDataEditorFactory) - - BEGIN_INTERFACE_MEMBER_NOPROXY(IDataEditor) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(Factory) - CLASS_MEMBER_PROPERTY_READONLY_FAST(Template) - CLASS_MEMBER_PROPERTY_READONLY_FAST(CellValueSaved) - - CLASS_MEMBER_METHOD(BeforeEditCell, {L"itemProvider" _ L"row" _ L"column"}) - END_INTERFACE_MEMBER(IDataEditor) - - BEGIN_INTERFACE_MEMBER(IDataGridView) - CLASS_MEMBER_BASE(IDescriptable) - INTERFACE_IDENTIFIER(vl::presentation::controls::list::IDataGridView) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(SortedColumn) - CLASS_MEMBER_METHOD(IsColumnSortable, {L"column"}) - CLASS_MEMBER_METHOD(SortByColumn, {L"column" _ L"ascending"}) - CLASS_MEMBER_METHOD(IsSortOrderAscending, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetCellSpan, {L"row" _ L"column"}) - CLASS_MEMBER_METHOD(GetCellDataVisualizerFactory, {L"row" _ L"column"}) - CLASS_MEMBER_METHOD(GetCellDataEditorFactory, {L"row" _ L"column"}) - CLASS_MEMBER_METHOD(GetBindingCellValue, {L"row" _ L"column"}) - CLASS_MEMBER_METHOD(SetBindingCellValue, {L"row" _ L"column" _ L"value"}) - END_INTERFACE_MEMBER(IDataGridView) - BEGIN_CLASS_MEMBER(GuiVirtualDataGrid) CLASS_MEMBER_BASE(GuiVirtualListView) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiVirtualDataGrid, GuiListControl::IItemProvider*, itemProvider) @@ -2515,44 +2636,6 @@ Type Declaration CLASS_MEMBER_METHOD(SetViewToDefault, NO_PARAMETER) END_CLASS_MEMBER(GuiVirtualDataGrid) - BEGIN_CLASS_MEMBER(DataVisualizerBase) - CLASS_MEMBER_BASE(IDataVisualizer) - END_CLASS_MEMBER(DataVisualizerBase) - - BEGIN_CLASS_MEMBER(DataVisualizerFactory) - CLASS_MEMBER_BASE(IDataVisualizerFactory) - CLASS_MEMBER_CONSTRUCTOR(Ptr(TemplateProperty, Ptr), { L"templateFactory" _ L"decoratedFactory"}) - END_CLASS_MEMBER(DataVisualizerFactory) - - BEGIN_CLASS_MEMBER(DataEditorBase) - CLASS_MEMBER_BASE(IDataEditor) - END_CLASS_MEMBER(DataEditorBase) - - BEGIN_CLASS_MEMBER(DataEditorFactory) - CLASS_MEMBER_BASE(IDataEditorFactory) - CLASS_MEMBER_CONSTRUCTOR(Ptr(TemplateProperty), { L"templateFactory" }) - END_CLASS_MEMBER(DataEditorFactory) - - BEGIN_CLASS_MEMBER(MainColumnVisualizerTemplate) - CLASS_MEMBER_BASE(GuiGridVisualizerTemplate) - CLASS_MEMBER_CONSTRUCTOR(MainColumnVisualizerTemplate*(), NO_PARAMETER) - END_CLASS_MEMBER(MainColumnVisualizerTemplate) - - BEGIN_CLASS_MEMBER(SubColumnVisualizerTemplate) - CLASS_MEMBER_BASE(GuiGridVisualizerTemplate) - CLASS_MEMBER_CONSTRUCTOR(SubColumnVisualizerTemplate*(), NO_PARAMETER) - END_CLASS_MEMBER(SubColumnVisualizerTemplate) - - BEGIN_CLASS_MEMBER(HyperlinkVisualizerTemplate) - CLASS_MEMBER_BASE(SubColumnVisualizerTemplate) - CLASS_MEMBER_CONSTRUCTOR(HyperlinkVisualizerTemplate*(), NO_PARAMETER) - END_CLASS_MEMBER(HyperlinkVisualizerTemplate) - - BEGIN_CLASS_MEMBER(CellBorderVisualizerTemplate) - CLASS_MEMBER_BASE(GuiGridVisualizerTemplate) - CLASS_MEMBER_CONSTRUCTOR(CellBorderVisualizerTemplate*(), NO_PARAMETER) - END_CLASS_MEMBER(CellBorderVisualizerTemplate) - BEGIN_CLASS_MEMBER(GuiDatePicker) CLASS_MEMBER_BASE(GuiControl) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiDatePicker) @@ -2606,101 +2689,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) END_CLASS_MEMBER(GuiBindableTreeView) - BEGIN_INTERFACE_MEMBER(IDataProcessorCallback) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemProvider) - CLASS_MEMBER_METHOD(OnProcessorChanged, NO_PARAMETER) - END_INTERFACE_MEMBER(IDataProcessorCallback) - - BEGIN_INTERFACE_MEMBER(IDataFilter) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_METHOD(SetCallback, { L"value" }) - CLASS_MEMBER_METHOD(Filter, { L"row" }) - END_INTERFACE_MEMBER(IDataFilter) - - BEGIN_INTERFACE_MEMBER(IDataSorter) - CLASS_MEMBER_BASE(IDescriptable) - - CLASS_MEMBER_METHOD(SetCallback, { L"value" }) - CLASS_MEMBER_METHOD(Compare, { L"row1" _ L"row2" }) - END_INTERFACE_MEMBER(IDataSorter) - - BEGIN_CLASS_MEMBER(DataFilterBase) - CLASS_MEMBER_BASE(IDataFilter) - END_CLASS_MEMBER(DataFilterBase) - - BEGIN_CLASS_MEMBER(DataMultipleFilter) - CLASS_MEMBER_BASE(DataFilterBase) - - CLASS_MEMBER_METHOD(AddSubFilter, {L"value"}) - CLASS_MEMBER_METHOD(RemoveSubFilter, {L"value"}) - END_CLASS_MEMBER(DataMultipleFilter) - - BEGIN_CLASS_MEMBER(DataAndFilter) - CLASS_MEMBER_BASE(DataMultipleFilter) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - END_CLASS_MEMBER(DataAndFilter) - - BEGIN_CLASS_MEMBER(DataOrFilter) - CLASS_MEMBER_BASE(DataMultipleFilter) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - END_CLASS_MEMBER(DataOrFilter) - - BEGIN_CLASS_MEMBER(DataNotFilter) - CLASS_MEMBER_BASE(DataFilterBase) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - - CLASS_MEMBER_METHOD(SetSubFilter, {L"value"}) - END_CLASS_MEMBER(DataNotFilter) - - BEGIN_CLASS_MEMBER(DataSorterBase) - CLASS_MEMBER_BASE(IDataSorter) - END_CLASS_MEMBER(DataSorterBase) - - BEGIN_CLASS_MEMBER(DataMultipleSorter) - CLASS_MEMBER_BASE(DataSorterBase) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - - CLASS_MEMBER_METHOD(SetLeftSorter, {L"value"}) - CLASS_MEMBER_METHOD(SetRightSorter, {L"value"}) - END_CLASS_MEMBER(DataMultipleSorter) - - BEGIN_CLASS_MEMBER(DataReverseSorter) - CLASS_MEMBER_BASE(DataSorterBase) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - - CLASS_MEMBER_METHOD(SetSubSorter, {L"value"}) - END_CLASS_MEMBER(DataReverseSorter) - - BEGIN_CLASS_MEMBER(DataColumn) - CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - - CLASS_MEMBER_PROPERTY_FAST(Text) - CLASS_MEMBER_PROPERTY_FAST(Size) - CLASS_MEMBER_PROPERTY_FAST(OwnPopup) - CLASS_MEMBER_PROPERTY_FAST(Popup) - CLASS_MEMBER_PROPERTY_FAST(Filter) - CLASS_MEMBER_PROPERTY_FAST(Sorter) - CLASS_MEMBER_PROPERTY_FAST(VisualizerFactory) - CLASS_MEMBER_PROPERTY_FAST(EditorFactory) - - CLASS_MEMBER_METHOD(GetCellText, { L"row" }) - CLASS_MEMBER_METHOD(GetCellValue, { L"row" }) - CLASS_MEMBER_METHOD(SetCellValue, { L"row" _ L"value" }) - CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(TextProperty) - CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ValueProperty) - END_CLASS_MEMBER(DataColumn) - - BEGIN_CLASS_MEMBER(DataProvider) - CLASS_MEMBER_BASE(ItemProviderBase) - CLASS_MEMBER_BASE(IListViewItemView) - CLASS_MEMBER_BASE(ListViewColumnItemArranger::IColumnItemView) - CLASS_MEMBER_BASE(IDataGridView) - CLASS_MEMBER_BASE(IDataProcessorCallback) - END_CLASS_MEMBER(DataProvider) - BEGIN_CLASS_MEMBER(GuiBindableDataGrid) CLASS_MEMBER_BASE(GuiVirtualDataGrid) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE(GuiBindableDataGrid) @@ -2716,8 +2704,12 @@ Type Declaration END_CLASS_MEMBER(GuiBindableDataGrid) #undef INTERFACE_IDENTIFIER +#undef CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_3 +#undef CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_3 +#undef CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_2 +#undef CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2 #undef CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE -#undef INTERFACE_EXTERNALCTOR +#undef CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE #undef _ /*********************************************************************** @@ -2771,12 +2763,15 @@ namespace vl #ifndef VCZH_DEBUG_NO_REFLECTION -/*********************************************************************** -Type Declaration -***********************************************************************/ - #define _ , +#define ELEMENT_CONSTRUCTOR(ELEMENT)\ + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::ELEMENT>) + +/*********************************************************************** +Type Declaration (Extra) +***********************************************************************/ + BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiGraphicsElement) CLASS_MEMBER_PROPERTY_READONLY_FAST(OwnerComposition) END_INTERFACE_MEMBER(IGuiGraphicsElement) @@ -2809,69 +2804,12 @@ Type Declaration STRUCT_MEMBER(radiusY) END_STRUCT_MEMBER(ElementShape) - BEGIN_CLASS_MEMBER(GuiSolidBorderElement) - CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBorderElement>) - - CLASS_MEMBER_PROPERTY_FAST(Color) - CLASS_MEMBER_PROPERTY_FAST(Shape) - END_CLASS_MEMBER(GuiSolidBorderElement) - - BEGIN_CLASS_MEMBER(Gui3DBorderElement) - CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::Gui3DBorderElement>) - - CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) - - CLASS_MEMBER_PROPERTY_FAST(Color1) - CLASS_MEMBER_PROPERTY_FAST(Color2) - END_CLASS_MEMBER(Gui3DBorderElement) - - BEGIN_CLASS_MEMBER(Gui3DSplitterElement) - CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::Gui3DSplitterElement>) - - CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) - - CLASS_MEMBER_PROPERTY_FAST(Color1) - CLASS_MEMBER_PROPERTY_FAST(Color2) - CLASS_MEMBER_PROPERTY_FAST(Direction) - END_CLASS_MEMBER(Gui3DSplitterElement) - BEGIN_ENUM_ITEM(Gui3DSplitterElement::Direction) ENUM_ITEM_NAMESPACE(Gui3DSplitterElement) ENUM_NAMESPACE_ITEM(Horizontal) ENUM_NAMESPACE_ITEM(Vertical) END_ENUM_ITEM(Gui3DSplitterElement::Direction) - BEGIN_CLASS_MEMBER(GuiSolidBackgroundElement) - CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBackgroundElement>) - - CLASS_MEMBER_PROPERTY_FAST(Color) - CLASS_MEMBER_PROPERTY_FAST(Shape) - END_CLASS_MEMBER(GuiSolidBackgroundElement) - - BEGIN_CLASS_MEMBER(GuiGradientBackgroundElement) - CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiGradientBackgroundElement>) - - CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) - - CLASS_MEMBER_PROPERTY_FAST(Color1) - CLASS_MEMBER_PROPERTY_FAST(Color2) - CLASS_MEMBER_PROPERTY_FAST(Direction) - CLASS_MEMBER_PROPERTY_FAST(Shape) - END_CLASS_MEMBER(GuiGradientBackgroundElement) - - BEGIN_CLASS_MEMBER(GuiInnerShadowElement) - CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiInnerShadowElement>) - - CLASS_MEMBER_PROPERTY_FAST(Color) - CLASS_MEMBER_PROPERTY_FAST(Thickness) - END_CLASS_MEMBER(GuiInnerShadowElement) - BEGIN_ENUM_ITEM(GuiGradientBackgroundElement::Direction) ENUM_ITEM_NAMESPACE(GuiGradientBackgroundElement) ENUM_NAMESPACE_ITEM(Horizontal) @@ -2880,51 +2818,6 @@ Type Declaration ENUM_NAMESPACE_ITEM(Backslash) END_ENUM_ITEM(GuiGradientBackgroundElement::Direction) - BEGIN_CLASS_MEMBER(GuiSolidLabelElement) - CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>) - - CLASS_MEMBER_METHOD(SetAlignments, {L"horizontal" _ L"vertical"}) - - CLASS_MEMBER_PROPERTY_FAST(Color) - CLASS_MEMBER_PROPERTY_FAST(Font) - CLASS_MEMBER_PROPERTY_FAST(Text) - CLASS_MEMBER_PROPERTY_FAST(HorizontalAlignment) - CLASS_MEMBER_PROPERTY_FAST(VerticalAlignment) - CLASS_MEMBER_PROPERTY_FAST(WrapLine) - CLASS_MEMBER_PROPERTY_FAST(Ellipse) - CLASS_MEMBER_PROPERTY_FAST(Multiline) - CLASS_MEMBER_PROPERTY_FAST(WrapLineHeightCalculation) - END_CLASS_MEMBER(GuiSolidLabelElement) - - BEGIN_CLASS_MEMBER(GuiImageFrameElement) - CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiImageFrameElement>) - - CLASS_MEMBER_METHOD(GetImage, NO_PARAMETER) - CLASS_MEMBER_METHOD_OVERLOAD(SetImage, {L"value"}, void(GuiImageFrameElement::*)(Ptr)) - CLASS_MEMBER_METHOD_OVERLOAD(SetImage, {L"image" _ L"frameIndex"}, void(GuiImageFrameElement::*)(Ptr _ vint)) - CLASS_MEMBER_PROPERTY(Image, GetImage, SetImage) - - CLASS_MEMBER_PROPERTY_FAST(FrameIndex) - CLASS_MEMBER_PROPERTY_FAST(HorizontalAlignment) - CLASS_MEMBER_PROPERTY_FAST(VerticalAlignment) - CLASS_MEMBER_PROPERTY_FAST(Stretch) - CLASS_MEMBER_PROPERTY_FAST(Enabled) - END_CLASS_MEMBER(GuiImageFrameElement) - - BEGIN_CLASS_MEMBER(GuiPolygonElement) - CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>) - - CLASS_MEMBER_METHOD_RENAME(GetPoints, GetPointsArray, NO_PARAMETER); - CLASS_MEMBER_METHOD_RENAME(SetPoints, SetPointsArray, {L"points"}); - CLASS_MEMBER_PROPERTY(Points, GetPoints, SetPoints); - CLASS_MEMBER_PROPERTY_FAST(Size) - CLASS_MEMBER_PROPERTY_FAST(BorderColor) - CLASS_MEMBER_PROPERTY_FAST(BackgroundColor) - END_CLASS_MEMBER(GuiPolygonElement) - BEGIN_CLASS_MEMBER(text::TextLines) CLASS_MEMBER_PROPERTY_READONLY_FAST(Count) CLASS_MEMBER_PROPERTY_FAST(TabSpaceCount) @@ -2960,9 +2853,115 @@ Type Declaration STRUCT_MEMBER(selectedUnfocused) END_STRUCT_MEMBER(text::ColorEntry) +/*********************************************************************** +Type Declaration (Class) +***********************************************************************/ + + BEGIN_CLASS_MEMBER(GuiSolidBorderElement) + CLASS_MEMBER_BASE(IGuiGraphicsElement) + ELEMENT_CONSTRUCTOR(GuiSolidBorderElement) + + CLASS_MEMBER_PROPERTY_FAST(Color) + CLASS_MEMBER_PROPERTY_FAST(Shape) + END_CLASS_MEMBER(GuiSolidBorderElement) + + BEGIN_CLASS_MEMBER(Gui3DBorderElement) + CLASS_MEMBER_BASE(IGuiGraphicsElement) + ELEMENT_CONSTRUCTOR(Gui3DBorderElement) + + CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) + + CLASS_MEMBER_PROPERTY_FAST(Color1) + CLASS_MEMBER_PROPERTY_FAST(Color2) + END_CLASS_MEMBER(Gui3DBorderElement) + + BEGIN_CLASS_MEMBER(Gui3DSplitterElement) + CLASS_MEMBER_BASE(IGuiGraphicsElement) + ELEMENT_CONSTRUCTOR(Gui3DSplitterElement) + + CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) + + CLASS_MEMBER_PROPERTY_FAST(Color1) + CLASS_MEMBER_PROPERTY_FAST(Color2) + CLASS_MEMBER_PROPERTY_FAST(Direction) + END_CLASS_MEMBER(Gui3DSplitterElement) + + BEGIN_CLASS_MEMBER(GuiSolidBackgroundElement) + CLASS_MEMBER_BASE(IGuiGraphicsElement) + ELEMENT_CONSTRUCTOR(GuiSolidBackgroundElement) + + CLASS_MEMBER_PROPERTY_FAST(Color) + CLASS_MEMBER_PROPERTY_FAST(Shape) + END_CLASS_MEMBER(GuiSolidBackgroundElement) + + BEGIN_CLASS_MEMBER(GuiGradientBackgroundElement) + CLASS_MEMBER_BASE(IGuiGraphicsElement) + ELEMENT_CONSTRUCTOR(GuiGradientBackgroundElement) + + CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) + + CLASS_MEMBER_PROPERTY_FAST(Color1) + CLASS_MEMBER_PROPERTY_FAST(Color2) + CLASS_MEMBER_PROPERTY_FAST(Direction) + CLASS_MEMBER_PROPERTY_FAST(Shape) + END_CLASS_MEMBER(GuiGradientBackgroundElement) + + BEGIN_CLASS_MEMBER(GuiInnerShadowElement) + CLASS_MEMBER_BASE(IGuiGraphicsElement) + ELEMENT_CONSTRUCTOR(GuiInnerShadowElement) + + CLASS_MEMBER_PROPERTY_FAST(Color) + CLASS_MEMBER_PROPERTY_FAST(Thickness) + END_CLASS_MEMBER(GuiInnerShadowElement) + + BEGIN_CLASS_MEMBER(GuiSolidLabelElement) + CLASS_MEMBER_BASE(IGuiGraphicsElement) + ELEMENT_CONSTRUCTOR(GuiSolidLabelElement) + + CLASS_MEMBER_METHOD(SetAlignments, {L"horizontal" _ L"vertical"}) + + CLASS_MEMBER_PROPERTY_FAST(Color) + CLASS_MEMBER_PROPERTY_FAST(Font) + CLASS_MEMBER_PROPERTY_FAST(Text) + CLASS_MEMBER_PROPERTY_FAST(HorizontalAlignment) + CLASS_MEMBER_PROPERTY_FAST(VerticalAlignment) + CLASS_MEMBER_PROPERTY_FAST(WrapLine) + CLASS_MEMBER_PROPERTY_FAST(Ellipse) + CLASS_MEMBER_PROPERTY_FAST(Multiline) + CLASS_MEMBER_PROPERTY_FAST(WrapLineHeightCalculation) + END_CLASS_MEMBER(GuiSolidLabelElement) + + BEGIN_CLASS_MEMBER(GuiImageFrameElement) + CLASS_MEMBER_BASE(IGuiGraphicsElement) + ELEMENT_CONSTRUCTOR(GuiImageFrameElement) + + CLASS_MEMBER_METHOD(GetImage, NO_PARAMETER) + CLASS_MEMBER_METHOD_OVERLOAD(SetImage, {L"value"}, void(GuiImageFrameElement::*)(Ptr)) + CLASS_MEMBER_METHOD_OVERLOAD(SetImage, {L"image" _ L"frameIndex"}, void(GuiImageFrameElement::*)(Ptr _ vint)) + CLASS_MEMBER_PROPERTY(Image, GetImage, SetImage) + + CLASS_MEMBER_PROPERTY_FAST(FrameIndex) + CLASS_MEMBER_PROPERTY_FAST(HorizontalAlignment) + CLASS_MEMBER_PROPERTY_FAST(VerticalAlignment) + CLASS_MEMBER_PROPERTY_FAST(Stretch) + CLASS_MEMBER_PROPERTY_FAST(Enabled) + END_CLASS_MEMBER(GuiImageFrameElement) + + BEGIN_CLASS_MEMBER(GuiPolygonElement) + CLASS_MEMBER_BASE(IGuiGraphicsElement) + ELEMENT_CONSTRUCTOR(GuiPolygonElement) + + CLASS_MEMBER_METHOD_RENAME(GetPoints, GetPointsArray, NO_PARAMETER); + CLASS_MEMBER_METHOD_RENAME(SetPoints, SetPointsArray, {L"points"}); + CLASS_MEMBER_PROPERTY(Points, GetPoints, SetPoints); + CLASS_MEMBER_PROPERTY_FAST(Size) + CLASS_MEMBER_PROPERTY_FAST(BorderColor) + CLASS_MEMBER_PROPERTY_FAST(BackgroundColor) + END_CLASS_MEMBER(GuiPolygonElement) + BEGIN_CLASS_MEMBER(GuiColorizedTextElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiColorizedTextElement>) + ELEMENT_CONSTRUCTOR(GuiColorizedTextElement) CLASS_MEMBER_PROPERTY_FAST(Font) CLASS_MEMBER_PROPERTY_FAST(PasswordChar) @@ -2981,7 +2980,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiDocumentElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiDocumentElement>) + ELEMENT_CONSTRUCTOR(GuiDocumentElement) CLASS_MEMBER_PROPERTY_FAST(Document) CLASS_MEMBER_PROPERTY_READONLY_FAST(CaretBegin) @@ -3011,6 +3010,8 @@ Type Declaration CLASS_MEMBER_METHOD(SummarizeParagraphAlignment, { L"begin" _ L"end" }) CLASS_MEMBER_METHOD(GetHyperlinkFromPoint, {L"point"}) END_CLASS_MEMBER(GuiDocumentElement) + +#undef ELEMENT_CONSTRUCTOR #undef _ /*********************************************************************** @@ -3204,17 +3205,16 @@ namespace vl { namespace description { +#define GUIREFLECTIONTEMPLATES_IMPL_VL_TYPE_INFO(NAME, BASE) IMPL_VL_TYPE_INFO(presentation::templates::NAME) + GUIREFLECTIONBASIC_TYPELIST(IMPL_VL_TYPE_INFO) GUIREFLECTIONELEMENT_TYPELIST(IMPL_VL_TYPE_INFO) GUIREFLECTIONCOMPOSITION_TYPELIST(IMPL_VL_TYPE_INFO) GUIREFLECTIONEVENT_TYPELIST(IMPL_VL_TYPE_INFO) - GUIREFLECTIONTEMPLATES_EXTRA_TYPELIST(IMPL_VL_TYPE_INFO) + GUIREFLECTIONTEMPLATES_TYPELIST(IMPL_VL_TYPE_INFO) GUIREFLECTIONCONTROLS_TYPELIST(IMPL_VL_TYPE_INFO) -#define GUIREFLECTIONTEMPLATE_IMPL_VL_TYPE_INFO(CLASS, BASE) IMPL_VL_TYPE_INFO(presentation::templates::##CLASS) - GUI_CONTROL_TEMPLATE_DECL(GUIREFLECTIONTEMPLATE_IMPL_VL_TYPE_INFO) - GUI_ITEM_TEMPLATE_DECL(GUIREFLECTIONTEMPLATE_IMPL_VL_TYPE_INFO) -#undef GUIREFLECTIONTEMPLATE_IMPL_VL_TYPE_INFO +#undef GUIREFLECTIONTEMPLATES_IMPL_VL_TYPE_INFO extern bool LoadGuiBasicTypes(); extern bool LoadGuiElementTypes(); @@ -3270,19 +3270,20 @@ namespace vl using namespace presentation; using namespace presentation::compositions; using namespace presentation::controls; + using namespace presentation::controls::list; using namespace presentation::templates; #ifndef VCZH_DEBUG_NO_REFLECTION -/*********************************************************************** -Type Declaration -***********************************************************************/ - #define _ , #define GUI_TEMPLATE_PROPERTY_REFLECTION(CLASS, TYPE, NAME, VALUE)\ CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(NAME) +/*********************************************************************** +Type Declaration (Extra) +***********************************************************************/ + BEGIN_ENUM_ITEM(ButtonState) ENUM_CLASS_ITEM(Normal) ENUM_CLASS_ITEM(Active) @@ -3392,6 +3393,25 @@ Type Declaration CLASS_MEMBER_METHOD(KillAnimation, { L"animation" }) END_CLASS_MEMBER(GuiInstanceRootObject) + BEGIN_CLASS_MEMBER(GuiCommonScrollBehavior) + CLASS_MEMBER_BASE(GuiComponent) + CLASS_MEMBER_CONSTRUCTOR(GuiCommonScrollBehavior*(), NO_PARAMETER) + + CLASS_MEMBER_METHOD(AttachScrollTemplate, { L"value" }) + CLASS_MEMBER_METHOD(AttachDecreaseButton, { L"button" }) + CLASS_MEMBER_METHOD(AttachIncreaseButton, { L"button" }) + CLASS_MEMBER_METHOD(AttachHorizontalScrollHandle, { L"partialView" }) + CLASS_MEMBER_METHOD(AttachVerticalScrollHandle, { L"partialView" }) + CLASS_MEMBER_METHOD(AttachHorizontalTrackerHandle, { L"partialView" }) + CLASS_MEMBER_METHOD(AttachVerticalTrackerHandle, { L"partialView" }) + CLASS_MEMBER_METHOD(GetHorizontalTrackerHandlerPosition, { L"handle" _ L"totalSize" _ L"pageSize" _ L"position" }) + CLASS_MEMBER_METHOD(GetVerticalTrackerHandlerPosition, { L"handle" _ L"totalSize" _ L"pageSize" _ L"position" }) + END_CLASS_MEMBER(GuiCommonScrollBehavior) + +/*********************************************************************** +Type Declaration (Class) +***********************************************************************/ + BEGIN_CLASS_MEMBER(GuiTemplate) CLASS_MEMBER_BASE(GuiBoundsComposition) CLASS_MEMBER_BASE(GuiInstanceRootObject) @@ -3435,20 +3455,25 @@ Type Declaration CLASS_MEMBER_PROPERTY_READONLY_FAST(ContainerComposition) END_CLASS_MEMBER(GuiCommonScrollViewLook) - BEGIN_CLASS_MEMBER(GuiCommonScrollBehavior) - CLASS_MEMBER_BASE(GuiComponent) - CLASS_MEMBER_CONSTRUCTOR(GuiCommonScrollBehavior*(), NO_PARAMETER) - - CLASS_MEMBER_METHOD(AttachScrollTemplate, { L"value" }) - CLASS_MEMBER_METHOD(AttachDecreaseButton, { L"button" }) - CLASS_MEMBER_METHOD(AttachIncreaseButton, { L"button" }) - CLASS_MEMBER_METHOD(AttachHorizontalScrollHandle, { L"partialView" }) - CLASS_MEMBER_METHOD(AttachVerticalScrollHandle, { L"partialView" }) - CLASS_MEMBER_METHOD(AttachHorizontalTrackerHandle, { L"partialView" }) - CLASS_MEMBER_METHOD(AttachVerticalTrackerHandle, { L"partialView" }) - CLASS_MEMBER_METHOD(GetHorizontalTrackerHandlerPosition, { L"handle" _ L"totalSize" _ L"pageSize" _ L"position" }) - CLASS_MEMBER_METHOD(GetVerticalTrackerHandlerPosition, { L"handle" _ L"totalSize" _ L"pageSize" _ L"position" }) - END_CLASS_MEMBER(GuiCommonScrollBehavior) + BEGIN_CLASS_MEMBER(MainColumnVisualizerTemplate) + CLASS_MEMBER_BASE(GuiGridVisualizerTemplate) + CLASS_MEMBER_CONSTRUCTOR(MainColumnVisualizerTemplate*(), NO_PARAMETER) + END_CLASS_MEMBER(MainColumnVisualizerTemplate) + + BEGIN_CLASS_MEMBER(SubColumnVisualizerTemplate) + CLASS_MEMBER_BASE(GuiGridVisualizerTemplate) + CLASS_MEMBER_CONSTRUCTOR(SubColumnVisualizerTemplate*(), NO_PARAMETER) + END_CLASS_MEMBER(SubColumnVisualizerTemplate) + + BEGIN_CLASS_MEMBER(HyperlinkVisualizerTemplate) + CLASS_MEMBER_BASE(SubColumnVisualizerTemplate) + CLASS_MEMBER_CONSTRUCTOR(HyperlinkVisualizerTemplate*(), NO_PARAMETER) + END_CLASS_MEMBER(HyperlinkVisualizerTemplate) + + BEGIN_CLASS_MEMBER(CellBorderVisualizerTemplate) + CLASS_MEMBER_BASE(GuiGridVisualizerTemplate) + CLASS_MEMBER_CONSTRUCTOR(CellBorderVisualizerTemplate*(), NO_PARAMETER) + END_CLASS_MEMBER(CellBorderVisualizerTemplate) #undef GUI_CONTROL_TEMPLATE #undef GUI_TEMPLATE_PROPERTY_REFLECTION @@ -3463,12 +3488,11 @@ Type Loader public: void Load(ITypeManager* manager) { - GUIREFLECTIONTEMPLATES_EXTRA_TYPELIST(ADD_TYPE_INFO) +#define GUIREFLECTIONTEMPLATES_ADD_TYPE_INFO(NAME, BASE) ADD_TYPE_INFO(presentation::templates::NAME) -#define GUIREFLECTIONTEMPLATE_ADD_TYPE_INFO(CLASS, BASE) ADD_TYPE_INFO(CLASS) - GUI_CONTROL_TEMPLATE_DECL(GUIREFLECTIONTEMPLATE_ADD_TYPE_INFO) - GUI_ITEM_TEMPLATE_DECL(GUIREFLECTIONTEMPLATE_ADD_TYPE_INFO) -#undef GUIREFLECTIONTEMPLATE_ADD_TYPE_INFO + GUIREFLECTIONTEMPLATES_TYPELIST(ADD_TYPE_INFO) + +#undef GUIREFLECTIONTEMPLATES_ADD_TYPE_INFO } void Unload(ITypeManager* manager) diff --git a/Import/GacUIReflection.h b/Import/GacUIReflection.h index f21eeb05..d94a85ee 100644 --- a/Import/GacUIReflection.h +++ b/Import/GacUIReflection.h @@ -167,67 +167,81 @@ Type List (Basic) Type List (Elements) ***********************************************************************/ -#define GUIREFLECTIONELEMENT_TYPELIST(F)\ +#define GUIREFLECTIONELEMENT_EXTRA_TYPELIST(F)\ F(presentation::elements::IGuiGraphicsElement)\ F(presentation::elements::IGuiGraphicsParagraph)\ F(presentation::elements::IGuiGraphicsParagraph::CaretRelativePosition)\ F(presentation::elements::ElementShapeType)\ F(presentation::elements::ElementShape)\ + F(presentation::elements::Gui3DSplitterElement::Direction)\ + F(presentation::elements::GuiGradientBackgroundElement::Direction)\ + F(presentation::elements::text::TextLines)\ + F(presentation::elements::text::ColorItem)\ + F(presentation::elements::text::ColorEntry)\ + +#define GUIREFLECTIONELEMENT_CLASS_TYPELIST(F)\ F(presentation::elements::GuiSolidBorderElement)\ F(presentation::elements::Gui3DBorderElement)\ F(presentation::elements::Gui3DSplitterElement)\ - F(presentation::elements::Gui3DSplitterElement::Direction)\ F(presentation::elements::GuiSolidBackgroundElement)\ F(presentation::elements::GuiGradientBackgroundElement)\ - F(presentation::elements::GuiGradientBackgroundElement::Direction)\ F(presentation::elements::GuiInnerShadowElement)\ F(presentation::elements::GuiSolidLabelElement)\ F(presentation::elements::GuiImageFrameElement)\ F(presentation::elements::GuiPolygonElement)\ - F(presentation::elements::text::TextLines)\ - F(presentation::elements::text::ColorItem)\ - F(presentation::elements::text::ColorEntry)\ F(presentation::elements::GuiColorizedTextElement)\ F(presentation::elements::GuiDocumentElement)\ +#define GUIREFLECTIONELEMENT_TYPELIST(F)\ + GUIREFLECTIONELEMENT_CLASS_TYPELIST(F)\ + GUIREFLECTIONELEMENT_EXTRA_TYPELIST(F)\ + /*********************************************************************** Type List (Compositions) ***********************************************************************/ -#define GUIREFLECTIONCOMPOSITION_TYPELIST(F)\ +#define GUIREFLECTIONCOMPOSITION_EXTRA_TYPELIST(F)\ F(presentation::compositions::KeyDirection)\ F(presentation::compositions::IGuiAxis)\ F(presentation::compositions::GuiDefaultAxis)\ F(presentation::compositions::GuiAxis)\ - F(presentation::compositions::GuiGraphicsComposition)\ F(presentation::compositions::GuiGraphicsComposition::MinSizeLimitation)\ + F(presentation::compositions::GuiStackComposition::Direction)\ + F(presentation::compositions::GuiCellOption::ComposeType)\ + F(presentation::compositions::GuiCellOption)\ + F(presentation::compositions::GuiFlowOption)\ + F(presentation::compositions::GuiFlowOption::BaselineType)\ + F(presentation::compositions::FlowAlignment)\ + F(presentation::compositions::GuiSideAlignedComposition::Direction)\ + F(presentation::compositions::ResponsiveDirection)\ + F(presentation::compositions::IGuiShortcutKeyItem)\ + F(presentation::compositions::IGuiShortcutKeyManager)\ + F(presentation::compositions::GuiShortcutKeyManager)\ + F(presentation::compositions::IGuiAltAction)\ + F(presentation::compositions::IGuiAltActionContainer)\ + F(presentation::compositions::IGuiAltActionHost)\ + +#define GUIREFLECTIONCOMPOSITION_CLASS_TYPELIST(F)\ + F(presentation::compositions::GuiGraphicsComposition)\ F(presentation::compositions::GuiGraphicsSite)\ F(presentation::compositions::GuiWindowComposition)\ F(presentation::compositions::GuiBoundsComposition)\ F(presentation::compositions::GuiStackComposition)\ - F(presentation::compositions::GuiStackComposition::Direction)\ F(presentation::compositions::GuiStackItemComposition)\ - F(presentation::compositions::GuiCellOption)\ - F(presentation::compositions::GuiCellOption::ComposeType)\ F(presentation::compositions::GuiTableComposition)\ F(presentation::compositions::GuiCellComposition)\ F(presentation::compositions::GuiTableSplitterCompositionBase)\ F(presentation::compositions::GuiRowSplitterComposition)\ F(presentation::compositions::GuiColumnSplitterComposition)\ - F(presentation::compositions::FlowAlignment)\ F(presentation::compositions::GuiFlowComposition)\ - F(presentation::compositions::GuiFlowOption)\ - F(presentation::compositions::GuiFlowOption::BaselineType)\ F(presentation::compositions::GuiFlowItemComposition)\ F(presentation::compositions::GuiSideAlignedComposition)\ - F(presentation::compositions::GuiSideAlignedComposition::Direction)\ F(presentation::compositions::GuiPartialViewComposition)\ F(presentation::compositions::GuiSharedSizeItemComposition)\ F(presentation::compositions::GuiSharedSizeRootComposition)\ F(presentation::compositions::GuiRepeatCompositionBase)\ F(presentation::compositions::GuiRepeatStackComposition)\ F(presentation::compositions::GuiRepeatFlowComposition)\ - F(presentation::compositions::ResponsiveDirection)\ F(presentation::compositions::GuiResponsiveCompositionBase)\ F(presentation::compositions::GuiResponsiveSharedComposition)\ F(presentation::compositions::GuiResponsiveViewComposition)\ @@ -235,12 +249,10 @@ Type List (Compositions) F(presentation::compositions::GuiResponsiveStackComposition)\ F(presentation::compositions::GuiResponsiveGroupComposition)\ F(presentation::compositions::GuiResponsiveContainerComposition)\ - F(presentation::compositions::IGuiShortcutKeyItem)\ - F(presentation::compositions::IGuiShortcutKeyManager)\ - F(presentation::compositions::GuiShortcutKeyManager)\ - F(presentation::compositions::IGuiAltAction)\ - F(presentation::compositions::IGuiAltActionContainer)\ - F(presentation::compositions::IGuiAltActionHost)\ + +#define GUIREFLECTIONCOMPOSITION_TYPELIST(F)\ + GUIREFLECTIONCOMPOSITION_CLASS_TYPELIST(F)\ + GUIREFLECTIONCOMPOSITION_EXTRA_TYPELIST(F)\ /*********************************************************************** Type List (Events) @@ -277,17 +289,29 @@ Type List (Templates) F(presentation::controls::IGuiAnimationCoroutine::IImpl)\ F(presentation::controls::IGuiAnimationCoroutine)\ F(presentation::controls::GuiInstanceRootObject)\ + F(presentation::templates::GuiCommonScrollBehavior)\ + +#define GUIREFLECTIONTEMPLATES_CLASS_TYPELIST(F)\ F(presentation::templates::GuiTemplate)\ F(presentation::templates::GuiListItemTemplate)\ F(presentation::templates::GuiCommonDatePickerLook)\ F(presentation::templates::GuiCommonScrollViewLook)\ - F(presentation::templates::GuiCommonScrollBehavior)\ + GUI_CONTROL_TEMPLATE_DECL(GUIREFLECTIONTEMPLATES_##F)\ + GUI_ITEM_TEMPLATE_DECL(GUIREFLECTIONTEMPLATES_##F)\ + F(presentation::controls::list::MainColumnVisualizerTemplate)\ + F(presentation::controls::list::SubColumnVisualizerTemplate)\ + F(presentation::controls::list::HyperlinkVisualizerTemplate)\ + F(presentation::controls::list::CellBorderVisualizerTemplate)\ + +#define GUIREFLECTIONTEMPLATES_TYPELIST(F)\ + GUIREFLECTIONTEMPLATES_CLASS_TYPELIST(F)\ + GUIREFLECTIONTEMPLATES_EXTRA_TYPELIST(F)\ /*********************************************************************** Type List (Controls) ***********************************************************************/ -#define GUIREFLECTIONCONTROLS_TYPELIST(F)\ +#define GUIREFLECTIONCONTROLS_EXTRA_TYPELIST(F)\ F(presentation::controls::GuiApplication)\ F(presentation::theme::ThemeName)\ F(presentation::theme::ITheme)\ @@ -299,28 +323,12 @@ Type List (Controls) F(presentation::controls::GuiFileDialogBase)\ F(presentation::controls::GuiOpenFileDialog)\ F(presentation::controls::GuiSaveFileDialog)\ - F(presentation::controls::GuiControl)\ - F(presentation::controls::GuiCustomControl)\ - F(presentation::controls::GuiLabel)\ - F(presentation::controls::GuiButton)\ - F(presentation::controls::GuiSelectableButton)\ F(presentation::controls::GuiSelectableButton::GroupController)\ F(presentation::controls::GuiSelectableButton::MutexGroupController)\ - F(presentation::controls::GuiScroll)\ - F(presentation::controls::GuiTabPage)\ - F(presentation::controls::GuiTab)\ - F(presentation::controls::GuiScrollView)\ - F(presentation::controls::GuiScrollContainer)\ - F(presentation::controls::GuiControlHost)\ - F(presentation::controls::GuiWindow)\ - F(presentation::controls::GuiPopup)\ - F(presentation::controls::GuiTooltip)\ - F(presentation::controls::GuiListControl)\ F(presentation::controls::GuiListControl::IItemProviderCallback)\ F(presentation::controls::GuiListControl::IItemArrangerCallback)\ F(presentation::controls::GuiListControl::IItemProvider)\ F(presentation::controls::GuiListControl::IItemArranger)\ - F(presentation::controls::GuiSelectableListControl)\ F(presentation::controls::list::ItemProviderBase)\ F(presentation::controls::list::RangedItemArrangerBase)\ F(presentation::controls::list::FixedHeightItemArranger)\ @@ -329,25 +337,15 @@ Type List (Controls) F(presentation::controls::list::ITextItemView)\ F(presentation::controls::list::TextItem)\ F(presentation::controls::TextListView)\ - F(presentation::controls::GuiVirtualTextList)\ - F(presentation::controls::GuiTextList)\ - F(presentation::controls::GuiListViewColumnHeader)\ - F(presentation::controls::GuiListViewBase)\ F(presentation::controls::list::IListViewItemView)\ F(presentation::controls::list::ListViewColumnItemArranger)\ F(presentation::controls::list::ListViewColumnItemArranger::IColumnItemViewCallback)\ F(presentation::controls::list::ListViewColumnItemArranger::IColumnItemView)\ F(presentation::controls::list::ListViewItem)\ F(presentation::controls::list::ListViewColumn)\ - F(presentation::controls::ListViewView)\ - F(presentation::controls::GuiVirtualListView)\ - F(presentation::controls::GuiListView)\ F(presentation::controls::IGuiMenuService)\ F(presentation::controls::IGuiMenuService::Direction)\ F(presentation::controls::IGuiMenuDropdownProvider)\ - F(presentation::controls::GuiMenu)\ - F(presentation::controls::GuiMenuBar)\ - F(presentation::controls::GuiMenuButton)\ F(presentation::controls::tree::INodeProviderCallback)\ F(presentation::controls::tree::INodeProvider)\ F(presentation::controls::tree::INodeRootProvider)\ @@ -355,62 +353,28 @@ Type List (Controls) F(presentation::controls::tree::MemoryNodeProvider)\ F(presentation::controls::tree::NodeRootProviderBase)\ F(presentation::controls::tree::MemoryNodeRootProvider)\ - F(presentation::controls::GuiVirtualTreeListControl)\ F(presentation::controls::tree::ITreeViewItemView)\ F(presentation::controls::tree::TreeViewItem)\ F(presentation::controls::tree::TreeViewItemRootProvider)\ - F(presentation::controls::GuiVirtualTreeView)\ - F(presentation::controls::GuiTreeView)\ - F(presentation::controls::GuiComboBoxBase)\ - F(presentation::controls::GuiComboBoxListControl)\ F(presentation::controls::GuiToolstripCommand)\ - F(presentation::controls::GuiToolstripMenu)\ - F(presentation::controls::GuiToolstripMenuBar)\ - F(presentation::controls::GuiToolstripToolBar)\ - F(presentation::controls::GuiToolstripButton)\ - F(presentation::controls::GuiToolstripNestedContainer)\ - F(presentation::controls::GuiToolstripGroupContainer)\ - F(presentation::controls::GuiToolstripGroup)\ - F(presentation::controls::GuiRibbonTab)\ - F(presentation::controls::GuiRibbonTabPage)\ - F(presentation::controls::GuiRibbonGroup)\ F(presentation::controls::RibbonButtonSize)\ - F(presentation::controls::GuiRibbonButtons)\ - F(presentation::controls::GuiRibbonToolstrips)\ - F(presentation::controls::GuiRibbonGallery)\ - F(presentation::controls::GuiRibbonToolstripMenu)\ F(presentation::controls::GalleryPos)\ F(presentation::controls::list::GalleryGroup)\ F(presentation::controls::list::GroupedDataSource)\ - F(presentation::controls::GuiBindableRibbonGalleryList)\ F(presentation::controls::GuiDocumentItem)\ F(presentation::controls::GuiDocumentCommonInterface)\ F(presentation::controls::GuiDocumentCommonInterface::EditMode)\ - F(presentation::controls::GuiDocumentViewer)\ - F(presentation::controls::GuiDocumentLabel)\ F(presentation::controls::GuiTextBoxCommonInterface)\ - F(presentation::controls::GuiMultilineTextBox)\ - F(presentation::controls::GuiSinglelineTextBox)\ F(presentation::controls::list::IDataGridContext)\ F(presentation::controls::list::IDataVisualizerFactory)\ F(presentation::controls::list::IDataVisualizer)\ F(presentation::controls::list::IDataEditorFactory)\ F(presentation::controls::list::IDataEditor)\ F(presentation::controls::list::IDataGridView)\ - F(presentation::controls::GuiVirtualDataGrid)\ F(presentation::controls::list::DataVisualizerBase)\ F(presentation::controls::list::DataVisualizerFactory)\ F(presentation::controls::list::DataEditorBase)\ F(presentation::controls::list::DataEditorFactory)\ - F(presentation::controls::list::MainColumnVisualizerTemplate)\ - F(presentation::controls::list::SubColumnVisualizerTemplate)\ - F(presentation::controls::list::HyperlinkVisualizerTemplate)\ - F(presentation::controls::list::CellBorderVisualizerTemplate)\ - F(presentation::controls::GuiDatePicker)\ - F(presentation::controls::GuiDateComboBox)\ - F(presentation::controls::GuiBindableTextList)\ - F(presentation::controls::GuiBindableListView)\ - F(presentation::controls::GuiBindableTreeView)\ F(presentation::controls::list::IDataProcessorCallback)\ F(presentation::controls::list::IDataFilter)\ F(presentation::controls::list::IDataSorter)\ @@ -424,23 +388,84 @@ Type List (Controls) F(presentation::controls::list::DataReverseSorter)\ F(presentation::controls::list::DataColumn)\ F(presentation::controls::list::DataProvider)\ + +#define GUIREFLECTIONCONTROLS_CLASS_TYPELIST(F)\ + F(presentation::controls::GuiControl)\ + F(presentation::controls::GuiCustomControl)\ + F(presentation::controls::GuiLabel)\ + F(presentation::controls::GuiButton)\ + F(presentation::controls::GuiSelectableButton)\ + F(presentation::controls::GuiScroll)\ + F(presentation::controls::GuiTabPage)\ + F(presentation::controls::GuiTab)\ + F(presentation::controls::GuiScrollView)\ + F(presentation::controls::GuiScrollContainer)\ + F(presentation::controls::GuiControlHost)\ + F(presentation::controls::GuiWindow)\ + F(presentation::controls::GuiPopup)\ + F(presentation::controls::GuiTooltip)\ + F(presentation::controls::GuiListControl)\ + F(presentation::controls::GuiSelectableListControl)\ + F(presentation::controls::GuiVirtualTextList)\ + F(presentation::controls::GuiTextList)\ + F(presentation::controls::GuiListViewColumnHeader)\ + F(presentation::controls::GuiListViewBase)\ + F(presentation::controls::ListViewView)\ + F(presentation::controls::GuiVirtualListView)\ + F(presentation::controls::GuiListView)\ + F(presentation::controls::GuiMenu)\ + F(presentation::controls::GuiMenuBar)\ + F(presentation::controls::GuiMenuButton)\ + F(presentation::controls::GuiVirtualTreeListControl)\ + F(presentation::controls::GuiVirtualTreeView)\ + F(presentation::controls::GuiTreeView)\ + F(presentation::controls::GuiComboBoxBase)\ + F(presentation::controls::GuiComboBoxListControl)\ + F(presentation::controls::GuiToolstripMenu)\ + F(presentation::controls::GuiToolstripMenuBar)\ + F(presentation::controls::GuiToolstripToolBar)\ + F(presentation::controls::GuiToolstripButton)\ + F(presentation::controls::GuiToolstripNestedContainer)\ + F(presentation::controls::GuiToolstripGroupContainer)\ + F(presentation::controls::GuiToolstripGroup)\ + F(presentation::controls::GuiRibbonTab)\ + F(presentation::controls::GuiRibbonTabPage)\ + F(presentation::controls::GuiRibbonGroup)\ + F(presentation::controls::GuiRibbonButtons)\ + F(presentation::controls::GuiRibbonToolstrips)\ + F(presentation::controls::GuiRibbonGallery)\ + F(presentation::controls::GuiRibbonToolstripMenu)\ + F(presentation::controls::GuiBindableRibbonGalleryList)\ + F(presentation::controls::GuiDocumentViewer)\ + F(presentation::controls::GuiDocumentLabel)\ + F(presentation::controls::GuiMultilineTextBox)\ + F(presentation::controls::GuiSinglelineTextBox)\ + F(presentation::controls::GuiVirtualDataGrid)\ + F(presentation::controls::GuiDatePicker)\ + F(presentation::controls::GuiDateComboBox)\ + F(presentation::controls::GuiBindableTextList)\ + F(presentation::controls::GuiBindableListView)\ + F(presentation::controls::GuiBindableTreeView)\ F(presentation::controls::GuiBindableDataGrid)\ +#define GUIREFLECTIONCONTROLS_TYPELIST(F)\ + GUIREFLECTIONCONTROLS_CLASS_TYPELIST(F)\ + GUIREFLECTIONCONTROLS_EXTRA_TYPELIST(F)\ + /*********************************************************************** Type List ***********************************************************************/ +#define GUIREFLECTIONTEMPLATES_DECL_TYPE_INFO(NAME, BASE) DECL_TYPE_INFO(presentation::templates::NAME) + GUIREFLECTIONBASIC_TYPELIST(DECL_TYPE_INFO) GUIREFLECTIONELEMENT_TYPELIST(DECL_TYPE_INFO) GUIREFLECTIONCOMPOSITION_TYPELIST(DECL_TYPE_INFO) GUIREFLECTIONEVENT_TYPELIST(DECL_TYPE_INFO) - GUIREFLECTIONTEMPLATES_EXTRA_TYPELIST(DECL_TYPE_INFO) + GUIREFLECTIONTEMPLATES_TYPELIST(DECL_TYPE_INFO) GUIREFLECTIONCONTROLS_TYPELIST(DECL_TYPE_INFO) -#define GUIREFLECTIONTEMPLATE_DECL_TYPE_INFO(CLASS, BASE) DECL_TYPE_INFO(presentation::templates::##CLASS) - GUI_CONTROL_TEMPLATE_DECL(GUIREFLECTIONTEMPLATE_DECL_TYPE_INFO) - GUI_ITEM_TEMPLATE_DECL(GUIREFLECTIONTEMPLATE_DECL_TYPE_INFO) -#undef GUIREFLECTIONTEMPLATE_DECL_TYPE_INFO +#undef GUIREFLECTIONTEMPLATES_DECL_TYPE_INFO #pragma warning(push) #pragma warning(disable:4250)