Update release

This commit is contained in:
Zihan Chen
2018-06-05 21:38:12 -07:00
parent d70d214274
commit 53595282ce
4 changed files with 1011 additions and 942 deletions
+80 -57
View File
@@ -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<GuiCellComposition*> 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
}
}
}
+1 -4
View File
@@ -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<vint> rowSizes;
collections::Array<vint> 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);
};
+816 -792
View File
File diff suppressed because it is too large Load Diff
+114 -89
View File
@@ -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)