diff --git a/Import/GacUI.cpp b/Import/GacUI.cpp index ae4a127c..40827184 100644 --- a/Import/GacUI.cpp +++ b/Import/GacUI.cpp @@ -3629,6 +3629,7 @@ GuiGraphicsComposition if(!child) return false; vint index=children.IndexOf(child); if(index==-1) return false; + if(index==newIndex) return true; children.RemoveAt(index); children.Insert(newIndex, child); InvokeOnCompositionStateChanged(); @@ -6801,6 +6802,7 @@ GuiScrollView void GuiScrollView::SetViewPosition(Point value) { + if (GetViewPosition() == value) return; auto ct = TypedControlTemplateObject(true); if (auto hScroll = ct->GetHorizontalScroll()) { @@ -8188,14 +8190,26 @@ DataReverseSorter DataColumn ***********************************************************************/ - void DataColumn::NotifyAllColumnsUpdate(bool affectItem) + void DataColumn::NotifyRebuilt() { if (dataProvider) { vint index = dataProvider->columns.IndexOf(this); if (index != -1) { - dataProvider->columns.NotifyColumnUpdated(index, affectItem); + dataProvider->columns.NotifyColumnRebuilt(index); + } + } + } + + void DataColumn::NotifyChanged(bool needToRefreshItems) + { + if (dataProvider) + { + vint index = dataProvider->columns.IndexOf(this); + if (index != -1) + { + dataProvider->columns.NotifyColumnChanged(index, needToRefreshItems); } } } @@ -8222,7 +8236,7 @@ DataColumn if (text != value) { text = value; - NotifyAllColumnsUpdate(false); + NotifyChanged(false); } } @@ -8236,7 +8250,7 @@ DataColumn if (size != value) { size = value; - NotifyAllColumnsUpdate(false); + NotifyChanged(true); } } @@ -8260,7 +8274,7 @@ DataColumn if (popup != value) { popup = value; - NotifyAllColumnsUpdate(false); + NotifyChanged(false); } } @@ -8274,7 +8288,7 @@ DataColumn if (associatedFilter) associatedFilter->SetCallback(nullptr); associatedFilter = value; if (associatedFilter) associatedFilter->SetCallback(dataProvider); - NotifyAllColumnsUpdate(false); + NotifyChanged(false); } Ptr DataColumn::GetSorter() @@ -8287,7 +8301,7 @@ DataColumn if (associatedSorter) associatedSorter->SetCallback(nullptr); associatedSorter = value; if (associatedSorter) associatedSorter->SetCallback(dataProvider); - NotifyAllColumnsUpdate(false); + NotifyChanged(false); } Ptr DataColumn::GetVisualizerFactory() @@ -8298,7 +8312,7 @@ DataColumn void DataColumn::SetVisualizerFactory(Ptr value) { visualizerFactory = value; - NotifyAllColumnsUpdate(true); + NotifyRebuilt(); } Ptr DataColumn::GetEditorFactory() @@ -8309,7 +8323,7 @@ DataColumn void DataColumn::SetEditorFactory(Ptr value) { editorFactory = value; - NotifyAllColumnsUpdate(true); + NotifyRebuilt(); } WString DataColumn::GetCellText(vint row) @@ -8336,7 +8350,7 @@ DataColumn { auto rowValue = dataProvider->GetBindingValue(row); WriteProperty(rowValue, valueProperty, value); - dataProvider->InvokeOnItemModified(row, 1, 1); + dataProvider->InvokeOnItemModified(row, 1, 1, false); } } @@ -8350,7 +8364,7 @@ DataColumn if (textProperty != value) { textProperty = value; - NotifyAllColumnsUpdate(true); + NotifyRebuilt(); compositions::GuiEventArgs arguments; TextPropertyChanged.Execute(arguments); } @@ -8366,7 +8380,7 @@ DataColumn if (valueProperty != value) { valueProperty = value; - NotifyAllColumnsUpdate(true); + NotifyRebuilt(); compositions::GuiEventArgs arguments; ValuePropertyChanged.Execute(arguments); } @@ -8376,20 +8390,19 @@ DataColumn DataColumns ***********************************************************************/ - void DataColumns::NotifyColumnUpdated(vint index, bool affectItem) + void DataColumns::NotifyColumnRebuilt(vint column) { - affectItemFlag = affectItem; - NotifyUpdateInternal(index, 1, 1); - affectItemFlag = true; + NotifyUpdate(column, 1); + } + + void DataColumns::NotifyColumnChanged(vint column, bool needToRefreshItems) + { + dataProvider->NotifyColumnChanged(); } void DataColumns::NotifyUpdateInternal(vint start, vint count, vint newCount) { - dataProvider->NotifyAllColumnsUpdate(); - if (affectItemFlag) - { - dataProvider->NotifyAllItemsUpdate(); - } + dataProvider->NotifyColumnRebuilt(); } bool DataColumns::QueryInsert(vint index, const Ptr& value) @@ -8420,17 +8433,46 @@ DataColumns DataProvider ***********************************************************************/ - void DataProvider::NotifyAllItemsUpdate() + bool DataProvider::NotifyUpdate(vint start, vint count, bool itemReferenceUpdated) { - InvokeOnItemModified(0, Count(), Count()); + if (!itemSource) return false; + if (start<0 || start >= itemSource->GetCount() || count <= 0 || start + count > itemSource->GetCount()) + { + return false; + } + else + { + InvokeOnItemModified(start, count, count, itemReferenceUpdated); + return true; + } } - void DataProvider::NotifyAllColumnsUpdate() + void DataProvider::RebuildAllItems() { - if (columnItemViewCallback) + NotifyUpdate(0, Count(), true); + } + + void DataProvider::RefreshAllItems() + { + NotifyUpdate(0, Count(), false); + } + + void DataProvider::NotifyColumnRebuilt() + { + for (auto callback : columnItemViewCallbacks) { - columnItemViewCallback->OnColumnChanged(); + callback->OnColumnRebuilt(); } + RefreshAllItems(); + } + + void DataProvider::NotifyColumnChanged() + { + for (auto callback : columnItemViewCallbacks) + { + callback->OnColumnChanged(true); + } + RefreshAllItems(); } GuiListControl::IItemProvider* DataProvider::GetItemProvider() @@ -8448,7 +8490,7 @@ DataProvider { if (!currentSorter && !currentFilter && count == newCount) { - InvokeOnItemModified(start, count, newCount); + InvokeOnItemModified(start, count, newCount, true); } else { @@ -8583,7 +8625,7 @@ DataProvider if (invokeCallback) { - NotifyAllItemsUpdate(); + RefreshAllItems(); } } @@ -8708,16 +8750,29 @@ DataProvider bool DataProvider::AttachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value) { - if (columnItemViewCallback)return false; - columnItemViewCallback = value; - return true; + if (columnItemViewCallbacks.Contains(value)) + { + return false; + } + else + { + columnItemViewCallbacks.Add(value); + return true; + } } bool DataProvider::DetachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value) { - if (!columnItemViewCallback) return false; - columnItemViewCallback = nullptr; - return true; + vint index = columnItemViewCallbacks.IndexOf(value); + if (index == -1) + { + return false; + } + else + { + columnItemViewCallbacks.Remove(value); + return true; + } } vint DataProvider::GetColumnSize(vint index) @@ -8781,7 +8836,7 @@ DataProvider ColumnSortingState::Descending ; } - NotifyAllColumnsUpdate(); + NotifyColumnChanged(); ReorderRows(true); } @@ -8893,7 +8948,7 @@ GuiBindableDataGrid if (dataProvider->largeImageProperty != value) { dataProvider->largeImageProperty = value; - dataProvider->NotifyAllItemsUpdate(); + dataProvider->RefreshAllItems(); LargeImagePropertyChanged.Execute(GetNotifyEventArguments()); } } @@ -8908,7 +8963,7 @@ GuiBindableDataGrid if (dataProvider->smallImageProperty != value) { dataProvider->smallImageProperty = value; - dataProvider->NotifyAllItemsUpdate(); + dataProvider->RefreshAllItems(); SmallImagePropertyChanged.Execute(GetNotifyEventArguments()); } } @@ -8932,6 +8987,12 @@ GuiBindableDataGrid } return dataProvider->GetColumns()[pos.column]->GetCellValue(pos.row); } + + bool GuiBindableDataGrid::NotifyItemDataModified(vint start, vint count) + { + StopEdit(); + return dataProvider->NotifyUpdate(start, count, false); + } } } } @@ -8997,7 +9058,7 @@ GuiBindableTextList::ItemSource itemSource = ol; itemChangedEventHandler = ol->ItemChanged.Add([this](vint start, vint oldCount, vint newCount) { - InvokeOnItemModified(start, oldCount, newCount); + InvokeOnItemModified(start, oldCount, newCount, true); }); } else if (auto rl = _itemSource.Cast()) @@ -9010,7 +9071,7 @@ GuiBindableTextList::ItemSource } } - InvokeOnItemModified(0, oldCount, itemSource ? itemSource->GetCount() : 0); + InvokeOnItemModified(0, oldCount, itemSource ? itemSource->GetCount() : 0, true); } description::Value GuiBindableTextList::ItemSource::Get(vint index) @@ -9021,9 +9082,23 @@ GuiBindableTextList::ItemSource void GuiBindableTextList::ItemSource::UpdateBindingProperties() { - InvokeOnItemModified(0, Count(), Count()); + InvokeOnItemModified(0, Count(), Count(), false); } - + + bool GuiBindableTextList::ItemSource::NotifyUpdate(vint start, vint count, bool itemReferenceUpdated) + { + if (!itemSource) return false; + if (start<0 || start >= itemSource->GetCount() || count <= 0 || start + count > itemSource->GetCount()) + { + return false; + } + else + { + InvokeOnItemModified(start, count, count, itemReferenceUpdated); + return true; + } + } + // ===================== GuiListControl::IItemProvider ===================== vint GuiBindableTextList::ItemSource::Count() @@ -9092,7 +9167,7 @@ GuiBindableTextList::ItemSource { auto thisValue = itemSource->Get(itemIndex); WriteProperty(thisValue, checkedProperty, value); - InvokeOnItemModified(itemIndex, 1, 1); + InvokeOnItemModified(itemIndex, 1, 1, false); } } } @@ -9161,6 +9236,11 @@ GuiBindableTextList return itemSource->Get(index); } + bool GuiBindableTextList::NotifyItemDataModified(vint start, vint count) + { + return itemSource->NotifyUpdate(start, count, false); + } + /*********************************************************************** GuiBindableListView::ItemSource ***********************************************************************/ @@ -9208,7 +9288,7 @@ GuiBindableListView::ItemSource itemSource = ol; itemChangedEventHandler = ol->ItemChanged.Add([this](vint start, vint oldCount, vint newCount) { - InvokeOnItemModified(start, oldCount, newCount); + InvokeOnItemModified(start, oldCount, newCount, true); }); } else if (auto rl = _itemSource.Cast()) @@ -9221,7 +9301,7 @@ GuiBindableListView::ItemSource } } - InvokeOnItemModified(0, oldCount, itemSource ? itemSource->GetCount() : 0); + InvokeOnItemModified(0, oldCount, itemSource ? itemSource->GetCount() : 0, true); } description::Value GuiBindableListView::ItemSource::Get(vint index) @@ -9232,10 +9312,10 @@ GuiBindableListView::ItemSource void GuiBindableListView::ItemSource::UpdateBindingProperties() { - InvokeOnItemModified(0, Count(), Count()); + InvokeOnItemModified(0, Count(), Count(), false); } - bool GuiBindableListView::ItemSource::NotifyUpdate(vint start, vint count) + bool GuiBindableListView::ItemSource::NotifyUpdate(vint start, vint count, bool itemReferenceUpdated) { if (!itemSource) return false; if (start<0 || start >= itemSource->GetCount() || count <= 0 || start + count > itemSource->GetCount()) @@ -9244,7 +9324,7 @@ GuiBindableListView::ItemSource } else { - InvokeOnItemModified(start, count, count); + InvokeOnItemModified(start, count, count, itemReferenceUpdated); return true; } } @@ -9261,18 +9341,32 @@ GuiBindableListView::ItemSource // ===================== list::IListViewItemProvider ===================== - void GuiBindableListView::ItemSource::NotifyAllItemsUpdate() + void GuiBindableListView::ItemSource::RebuildAllItems() { - NotifyUpdate(0, Count()); + InvokeOnItemModified(0, Count(), Count(), true); } - void GuiBindableListView::ItemSource::NotifyAllColumnsUpdate() + void GuiBindableListView::ItemSource::RefreshAllItems() { - // TODO: (enumerable) foreach - for (vint i = 0; i < columnItemViewCallbacks.Count(); i++) + InvokeOnItemModified(0, Count(), Count(), false); + } + + void GuiBindableListView::ItemSource::NotifyColumnRebuilt() + { + for (auto callback : columnItemViewCallbacks) { - columnItemViewCallbacks[i]->OnColumnChanged(); + callback->OnColumnRebuilt(); } + RebuildAllItems(); + } + + void GuiBindableListView::ItemSource::NotifyColumnChanged() + { + for (auto callback : columnItemViewCallbacks) + { + callback->OnColumnChanged(true); + } + RefreshAllItems(); } // ===================== GuiListControl::IItemProvider ===================== @@ -9540,6 +9634,11 @@ GuiBindableListView return itemSource->Get(index); } + bool GuiBindableListView::NotifyItemDataModified(vint start, vint count) + { + return itemSource->NotifyUpdate(start, count, false); + } + /*********************************************************************** GuiBindableTreeView::ItemSourceNode ***********************************************************************/ @@ -9576,7 +9675,7 @@ GuiBindableTreeView::ItemSourceNode { itemChangedEventHandler = ol->ItemChanged.Add([this](vint start, vint oldCount, vint newCount) { - callback->OnBeforeItemModified(this, start, oldCount, newCount); + callback->OnBeforeItemModified(this, start, oldCount, newCount, true); children.RemoveRange(start, oldCount); for (vint i = 0; i < newCount; i++) { @@ -9584,7 +9683,7 @@ GuiBindableTreeView::ItemSourceNode auto node = Ptr(new ItemSourceNode(value, this)); children.Insert(start + i, node); } - callback->OnAfterItemModified(this, start, oldCount, newCount); + callback->OnAfterItemModified(this, start, oldCount, newCount, true); }); } @@ -9614,12 +9713,37 @@ GuiBindableTreeView::ItemSourceNode children.Clear(); } + void GuiBindableTreeView::ItemSourceNode::PrepareReverseMapping() + { +#define ERROR_MESSAGE_PREFIX L"vl::presentation::controls::GuiBindableTreeView::ItemSourceNode::PrepareReverseMapping()#" + if (rootProvider->reverseMappingProperty && !itemSource.IsNull()) + { + auto oldValue = ReadProperty(itemSource, rootProvider->reverseMappingProperty); + CHECK_ERROR(oldValue.IsNull(), ERROR_MESSAGE_PREFIX L"The reverse mapping property of an item has been unexpectedly changed."); + WriteProperty(itemSource, rootProvider->reverseMappingProperty, Value::From(this)); + } +#undef ERROR_MESSAGE_PREFIX + } + + void GuiBindableTreeView::ItemSourceNode::UnprepareReverseMapping() + { +#define ERROR_MESSAGE_PREFIX L"vl::presentation::controls::GuiBindableTreeView::ItemSourceNode::PrepareReverseMapping()#" + if (rootProvider->reverseMappingProperty && !itemSource.IsNull()) + { + auto oldValue = ReadProperty(itemSource, rootProvider->reverseMappingProperty); + CHECK_ERROR(oldValue.GetRawPtr() == this, ERROR_MESSAGE_PREFIX L"The reverse mapping property of an item has been unexpectedly changed."); + WriteProperty(itemSource, rootProvider->reverseMappingProperty, {}); + } +#undef ERROR_MESSAGE_PREFIX + } + GuiBindableTreeView::ItemSourceNode::ItemSourceNode(const description::Value& _itemSource, ItemSourceNode* _parent) :itemSource(_itemSource) , rootProvider(_parent->rootProvider) , parent(_parent) , callback(_parent->callback) { + PrepareReverseMapping(); } GuiBindableTreeView::ItemSourceNode::ItemSourceNode(ItemSource* _rootProvider) @@ -9631,6 +9755,7 @@ GuiBindableTreeView::ItemSourceNode GuiBindableTreeView::ItemSourceNode::~ItemSourceNode() { + UnprepareReverseMapping(); if (itemChangedEventHandler) { auto ol = childrenVirtualList.Cast(); @@ -9649,11 +9774,13 @@ GuiBindableTreeView::ItemSourceNode vint oldCount = childrenVirtualList ? childrenVirtualList->GetCount() : 0; vint newCount = newVirtualList->GetCount(); - callback->OnBeforeItemModified(this, 0, oldCount, newCount); + callback->OnBeforeItemModified(this, 0, oldCount, newCount, true); UnprepareChildren(); + UnprepareReverseMapping(); itemSource = _itemSource; + PrepareReverseMapping(); PrepareChildren(newVirtualList); - callback->OnAfterItemModified(this, 0, oldCount, newCount); + callback->OnAfterItemModified(this, 0, oldCount, newCount, true); } bool GuiBindableTreeView::ItemSourceNode::GetExpanding() @@ -9696,6 +9823,16 @@ GuiBindableTreeView::ItemSourceNode return count; } + void GuiBindableTreeView::ItemSourceNode::NotifyDataModified() + { + if (parent) + { + vint index = parent->children.IndexOf(this); + callback->OnBeforeItemModified(parent, index, 1, 1, false); + callback->OnAfterItemModified(parent, index, 1, 1, false); + } + } + vint GuiBindableTreeView::ItemSourceNode::GetChildCount() { if (!childrenVirtualList) @@ -9754,8 +9891,8 @@ GuiBindableTreeView::ItemSource rootNode->UnprepareChildren(); } vint newCount = rootNode->GetChildCount(); - OnBeforeItemModified(rootNode.Obj(), 0, oldCount, newCount); - OnAfterItemModified(rootNode.Obj(), 0, oldCount, newCount); + OnBeforeItemModified(rootNode.Obj(), 0, oldCount, newCount, updateChildrenProperty); + OnAfterItemModified(rootNode.Obj(), 0, oldCount, newCount, updateChildrenProperty); } // ===================== tree::INodeRootProvider ===================== @@ -9806,10 +9943,11 @@ GuiBindableTreeView::ItemSource GuiBindableTreeView ***********************************************************************/ - GuiBindableTreeView::GuiBindableTreeView(theme::ThemeName themeName) + GuiBindableTreeView::GuiBindableTreeView(theme::ThemeName themeName, WritableItemProperty reverseMappingProperty) :GuiVirtualTreeView(themeName, Ptr(new ItemSource)) { itemSource = dynamic_cast(GetNodeRootProvider()); + itemSource->reverseMappingProperty = reverseMappingProperty; TextPropertyChanged.SetAssociatedComposition(boundsComposition); ImagePropertyChanged.SetAssociatedComposition(boundsComposition); @@ -9829,6 +9967,11 @@ GuiBindableTreeView { itemSource->SetItemSource(_itemSource); } + + WritableItemProperty GuiBindableTreeView::GetReverseMappingProperty() + { + return itemSource->reverseMappingProperty; + } ItemProperty GuiBindableTreeView::GetTextProperty() { @@ -9890,6 +10033,29 @@ GuiBindableTreeView } return result; } + + void GuiBindableTreeView::NotifyNodeDataModified(description::Value value) + { +#define ERROR_MESSAGE_PREFIX L"vl::presentation::controls::GuiBindableTreeView::NotifyNodeDataModified(Value)#" + + CHECK_ERROR(itemSource->reverseMappingProperty, ERROR_MESSAGE_PREFIX L"This function can only be called when the ReverseMappingProperty is in use."); + CHECK_ERROR(!value.IsNull(), ERROR_MESSAGE_PREFIX L"The item cannot be null."); + auto mapping = ReadProperty(value, itemSource->reverseMappingProperty); + auto node = dynamic_cast(mapping.GetRawPtr()); + CHECK_ERROR(node, ERROR_MESSAGE_PREFIX L"The item is not binded to a GuiBindableTreeView control or its reverse mapping property has been unexpectedly changed."); + + auto rootNode = node; + while (rootNode->GetParent()) + { + rootNode = rootNode->GetParent().Obj(); + } + + CHECK_ERROR(rootNode == itemSource->rootNode.Obj(), ERROR_MESSAGE_PREFIX L"The item is not binded to this control."); + CHECK_ERROR(node != itemSource->rootNode.Obj(), ERROR_MESSAGE_PREFIX L"The item should not be the root item, which is the item source assigned to this control."); + node->NotifyDataModified(); + +#undef ERROR_MESSAGE_PREFIX + } } } } @@ -10132,14 +10298,11 @@ GuiComboBoxListControl { } - void GuiComboBoxListControl::OnItemModified(vint start, vint count, vint newCount) + void GuiComboBoxListControl::OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated) { - if (count == newCount) + if (count == newCount && start <= selectedIndex && selectedIndex < start + count) { - if (start <= selectedIndex && selectedIndex < start + count) - { - DisplaySelectedContent(selectedIndex); - } + DisplaySelectedContent(selectedIndex); } else { @@ -10378,34 +10541,58 @@ DefaultDataGridItemTemplate } } - void DefaultDataGridItemTemplate::OnColumnChanged() + void DefaultDataGridItemTemplate::DeleteAllVisualizers() { - UpdateSubItemSize(); + for (vint i = 0; i < dataVisualizers.Count(); i++) + { + DeleteVisualizer(i); + } } - void DefaultDataGridItemTemplate::OnInitialize() + void DefaultDataGridItemTemplate::DeleteVisualizer(vint column) { - DefaultListViewItemTemplate::OnInitialize(); + auto visualizer = dataVisualizers[column]; + auto composition = visualizer->GetTemplate(); + visualizer->NotifyDeletedTemplate(); + if (composition->GetParent()) { - textTable = new GuiTableComposition; - textTable->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - textTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); - textTable->SetRowsAndColumns(1, 1); - textTable->SetRowOption(0, GuiCellOption::MinSizeOption()); - textTable->SetColumnOption(0, GuiCellOption::AbsoluteOption(0)); - AddChild(textTable); + composition->GetParent()->RemoveChild(composition); } + SafeDeleteComposition(composition); + dataVisualizers[column] = nullptr; + } - if (auto dataGrid = dynamic_cast(listControl)) + void DefaultDataGridItemTemplate::ResetDataTable(vint columnCount) + { + vint itemIndex = GetIndex(); + + if (dataVisualizers.Count() == columnCount) { - vint columnCount = dataGrid->listViewItemView->GetColumnCount(); - vint itemIndex = GetIndex(); - - dataVisualizers.Resize(columnCount); - for (vint i = 0; i < dataVisualizers.Count(); i++) + for (vint i = 0; i < columnCount; i++) { auto factory = GetDataVisualizerFactory(itemIndex, i); - dataVisualizers[i] = factory->CreateVisualizer(dataGrid); + if (dataVisualizerFactories[i] != factory) + { + DeleteVisualizer(i); + dataVisualizerFactories[i] = factory; + } + } + } + else + { + DeleteAllVisualizers(); + dataVisualizerFactories.Resize(columnCount); + dataVisualizers.Resize(columnCount); + + for (auto cell : dataCells) + { + SafeDeleteComposition(cell); + } + dataCells.Resize(columnCount); + + for (vint i = 0; i < columnCount; i++) + { + dataVisualizerFactories[i] = GetDataVisualizerFactory(itemIndex, i); } textTable->SetRowsAndColumns(1, columnCount); @@ -10418,28 +10605,21 @@ DefaultDataGridItemTemplate cell->GetEventReceiver()->rightButtonDown.AttachMethod(this, &DefaultDataGridItemTemplate::OnCellButtonDown); cell->GetEventReceiver()->leftButtonUp.AttachMethod(this, &DefaultDataGridItemTemplate::OnCellLeftButtonUp); cell->GetEventReceiver()->rightButtonUp.AttachMethod(this, &DefaultDataGridItemTemplate::OnCellRightButtonUp); + dataCells[i] = cell; + } + } + } - auto composition = dataVisualizers[i]->GetTemplate(); - composition->SetAlignmentToParent(Margin(0, 0, 0, 0)); - cell->AddChild(composition); - } - - // TODO: (enumerable) foreach - for (vint i = 0; i < dataVisualizers.Count(); i++) - { - dataVisualizers[i]->BeforeVisualizeCell(dataGrid->GetItemProvider(), itemIndex, i); - } - - GridPos selectedCell = dataGrid->GetSelectedCell(); - if (selectedCell.row == itemIndex) - { - NotifySelectCell(selectedCell.column); - } - else - { - NotifySelectCell(-1); - } - UpdateSubItemSize(); + void DefaultDataGridItemTemplate::OnInitialize() + { + { + textTable = new GuiTableComposition; + textTable->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + textTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); + textTable->SetRowsAndColumns(1, 1); + textTable->SetRowOption(0, GuiCellOption::MinSizeOption()); + textTable->SetColumnOption(0, GuiCellOption::AbsoluteOption(0)); + AddChild(textTable); } SelectedChanged.AttachMethod(this, &DefaultDataGridItemTemplate::OnSelectedChanged); @@ -10453,6 +10633,44 @@ DefaultDataGridItemTemplate VisuallyEnabledChanged.Execute(compositions::GuiEventArgs(this)); } + void DefaultDataGridItemTemplate::OnRefresh() + { + if (auto dataGrid = dynamic_cast(listControl)) + { + vint columnCount = dataGrid->listViewItemView->GetColumnCount(); + vint itemIndex = GetIndex(); + ResetDataTable(columnCount); + + for (vint i = 0; i < columnCount; i++) + { + auto& dataVisualizer = dataVisualizers[i]; + if (!dataVisualizer) + { + dataVisualizer = dataVisualizerFactories[i]->CreateVisualizer(dataGrid); + dataVisualizer->GetTemplate()->SetFont(GetFont()); + dataVisualizers[i] = dataVisualizer; + + auto cell = dataCells[i]; + auto composition = dataVisualizer->GetTemplate(); + composition->SetAlignmentToParent(Margin(0, 0, 0, 0)); + cell->AddChild(composition); + } + dataVisualizer->BeforeVisualizeCell(dataGrid->GetItemProvider(), itemIndex, i); + } + + GridPos selectedCell = dataGrid->GetSelectedCell(); + if (selectedCell.row == itemIndex) + { + NotifySelectCell(selectedCell.column); + } + else + { + NotifySelectCell(-1); + } + } + UpdateSubItemSize(); + } + void DefaultDataGridItemTemplate::OnSelectedChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) { if (!GetSelected()) @@ -10619,18 +10837,18 @@ GuiVirtualDataGrid (Editor) return GuiVirtualListView::GetActivatingAltHost(); } - void GuiVirtualDataGrid::OnItemModified(vint start, vint count, vint newCount) + void GuiVirtualDataGrid::OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated) { - GuiVirtualListView::OnItemModified(start, count, newCount); - if(!GetItemProvider()->IsEditing()) + GuiVirtualListView::OnItemModified(start, count, newCount, itemReferenceUpdated); + if (!GetItemProvider()->IsEditing()) { StopEdit(); } } - void GuiVirtualDataGrid::OnStyleInstalled(vint index, ItemStyle* style) + void GuiVirtualDataGrid::OnStyleInstalled(vint index, ItemStyle* style, bool refreshPropertiesOnly) { - GuiVirtualListView::OnStyleInstalled(index, style); + GuiVirtualListView::OnStyleInstalled(index, style, refreshPropertiesOnly); if (auto itemStyle = dynamic_cast(style)) { if (selectedCell.row == index && selectedCell.column != -1) @@ -10740,6 +10958,7 @@ GuiVirtualDataGrid (IDataGridContext) void GuiVirtualDataGrid::RequestSaveData() { +#define ERROR_MESSAGE_PREFIX L"vl::presentation::controls::list::DefaultTextListItemTemplate::OnBulletSelectedChanged(GuiGraphicsComposition*, GuiEventArgs&)#" if (currentEditor && !currentEditorOpeningEditor) { GuiControl* focusedControl = nullptr; @@ -10756,7 +10975,7 @@ GuiVirtualDataGrid (IDataGridContext) GetItemProvider()->PushEditing(); dataGridView->SetBindingCellValue(currentEditorPos.row, currentEditorPos.column, currentEditor->GetTemplate()->GetCellValue()); - GetItemProvider()->PopEditing(); + CHECK_ERROR(GetItemProvider()->PopEditing(), ERROR_MESSAGE_PREFIX L"BeginEditListItem and EndEditListItem calls are not paired."); auto style = GetArranger()->GetVisibleStyle(currentEditorPos.row); if (auto itemStyle = dynamic_cast(style)) @@ -10769,6 +10988,7 @@ GuiVirtualDataGrid (IDataGridContext) focusedControl->SetFocused(); } } +#undef ERROR_MESSAGE_PREFIX } /*********************************************************************** @@ -11312,7 +11532,6 @@ SubColumnVisualizerTemplate void SubColumnVisualizerTemplate::Initialize(bool fixTextColor) { - SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); auto textBounds = new GuiBoundsComposition; @@ -11489,175 +11708,82 @@ namespace vl namespace list { +/*********************************************************************** +RangedItemArrangerBase (ItemSource) +***********************************************************************/ + + class ArrangerItemSource : public Object, public virtual description::IValueObservableList + { + protected: + GuiListControl::IItemProvider* itemProvider = nullptr; + + public: + ArrangerItemSource(GuiListControl::IItemProvider* _itemProvider) + : itemProvider(_itemProvider) + { + } + + vint GetCount() override + { + return itemProvider->Count(); + } + + description::Value Get(vint index) override + { + return itemProvider->GetBindingValue(index); + } + + Ptr CreateEnumerator() override { CHECK_FAIL(L"ArrangerItemSource::CreateEnumerator should not be called."); } + bool Contains(const description::Value& value) override { CHECK_FAIL(L"ArrangerItemSource::Contains should not be called."); } + vint IndexOf(const description::Value& value) override { CHECK_FAIL(L"ArrangerItemSource::IndexOf should not be called."); } + + void Set(vint index, const description::Value& value) override { CHECK_FAIL(L"ArrangerItemSource::Set should not be called."); } + vint Add(const description::Value& value) override { CHECK_FAIL(L"ArrangerItemSource::Add should not be called."); } + vint Insert(vint index, const description::Value& value) override { CHECK_FAIL(L"ArrangerItemSource::Insert should not be called."); } + bool Remove(const description::Value& value) override { CHECK_FAIL(L"ArrangerItemSource::Remove should not be called."); } + bool RemoveAt(vint index) override { CHECK_FAIL(L"ArrangerItemSource::RemoveAt should not be called."); } + void Clear() override { CHECK_FAIL(L"ArrangerItemSource::Clear should not be called."); } + }; + /*********************************************************************** RangedItemArrangerBase ***********************************************************************/ - void RangedItemArrangerBase::InvalidateAdoptedSize() + void RangedItemArrangerBase::OnViewLocationChanged(compositions::GuiGraphicsComposition* composition, compositions::GuiEventArgs& arguments) { - if (listControl) - { - listControl->AdoptedSizeInvalidated.Execute(listControl->GetNotifyEventArguments()); - } - } - - vint RangedItemArrangerBase::CalculateAdoptedSize(vint expectedSize, vint count, vint itemSize) - { - vint visibleCount = expectedSize / itemSize; - if (count < visibleCount) - { - visibleCount = count; - } - else if (count > visibleCount) - { - vint deltaA = expectedSize - count * itemSize; - vint deltaB = itemSize - deltaA; - if (deltaB < deltaA) - { - visibleCount++; - } - } - return visibleCount * itemSize; - } - - RangedItemArrangerBase::ItemStyleRecord RangedItemArrangerBase::CreateStyle(vint index) - { - GuiSelectableButton* backgroundButton = nullptr; - if (listControl->GetDisplayItemBackground()) - { - backgroundButton = new GuiSelectableButton(theme::ThemeName::ListItemBackground); - if (auto style = listControl->TypedControlTemplateObject(true)->GetBackgroundTemplate()) - { - backgroundButton->SetControlTemplate(style); - } - backgroundButton->SetAutoFocus(false); - backgroundButton->SetAutoSelection(false); - } - - auto itemStyle = callback->RequestItem(index, backgroundButton->GetBoundsComposition()); - if (backgroundButton) - { - itemStyle->SetAlignmentToParent(Margin(0, 0, 0, 0)); - itemStyle->SelectedChanged.AttachLambda([=](GuiGraphicsComposition* sender, GuiEventArgs& arguments) - { - backgroundButton->SetSelected(itemStyle->GetSelected()); - }); - - backgroundButton->SetSelected(itemStyle->GetSelected()); - backgroundButton->GetContainerComposition()->AddChild(itemStyle); - } - return { itemStyle, backgroundButton }; - } - - void RangedItemArrangerBase::DeleteStyle(ItemStyleRecord style) - { - callback->ReleaseItem(style.key); - if (style.value) - { - SafeDeleteControl(style.value); - } - } - - compositions::GuiBoundsComposition* RangedItemArrangerBase::GetStyleBounds(ItemStyleRecord style) - { - return style.value ? style.value->GetBoundsComposition() : style.key; - } - - void RangedItemArrangerBase::ClearStyles() - { - startIndex = 0; if (callback) { - // TODO: (enumerable) foreach - for (vint i = 0; i < visibleStyles.Count(); i++) - { - DeleteStyle(visibleStyles[i]); - } + callback->SetViewLocation(repeat->GetViewLocation()); } - visibleStyles.Clear(); - viewBounds = Rect(0, 0, 0, 0); - InvalidateItemSizeCache(); - InvalidateAdoptedSize(); } - void RangedItemArrangerBase::OnViewChangedInternal(Rect oldBounds, Rect newBounds) + void RangedItemArrangerBase::OnTotalSizeChanged(compositions::GuiGraphicsComposition* composition, compositions::GuiEventArgs& arguments) { - vint endIndex = startIndex + visibleStyles.Count() - 1; - vint newStartIndex = 0; - vint itemCount = itemProvider->Count(); - BeginPlaceItem(true, newBounds, newStartIndex); - if (newStartIndex < 0) newStartIndex = 0; - - StyleList newVisibleStyles; - for (vint i = newStartIndex; i < itemCount; i++) - { - bool reuseOldStyle = startIndex <= i && i <= endIndex; - auto style = reuseOldStyle ? visibleStyles[i - startIndex] : CreateStyle(i); - newVisibleStyles.Add(style); - - Rect bounds; - Margin alignmentToParent; - PlaceItem(true, !reuseOldStyle, i, style, newBounds, bounds, alignmentToParent); - if (IsItemOutOfViewBounds(i, style, bounds, newBounds)) - { - break; - } - - bounds.x1 -= newBounds.x1; - bounds.x2 -= newBounds.x1; - bounds.y1 -= newBounds.y1; - bounds.y2 -= newBounds.y1; - } - - vint newEndIndex = newStartIndex + newVisibleStyles.Count() - 1; - // TODO: (enumerable) foreach:indexed - for (vint i = 0; i < visibleStyles.Count(); i++) - { - vint index = startIndex + i; - if (index < newStartIndex || index > newEndIndex) - { - DeleteStyle(visibleStyles[i]); - } - } - CopyFrom(visibleStyles, newVisibleStyles); - - if (EndPlaceItem(true, newBounds, newStartIndex)) + if (callback) { callback->OnTotalSizeChanged(); - InvalidateAdoptedSize(); } - startIndex = newStartIndex; } - void RangedItemArrangerBase::RearrangeItemBounds() + void RangedItemArrangerBase::OnAdoptedSizeInvalidated(compositions::GuiGraphicsComposition* composition, compositions::GuiEventArgs& arguments) { - vint newStartIndex = startIndex; - BeginPlaceItem(false, viewBounds, newStartIndex); - // TODO: (enumerable) foreach - for (vint i = 0; i < visibleStyles.Count(); i++) + if (callback) { - auto style = visibleStyles[i]; - Rect bounds; - Margin alignmentToParent(-1, -1, -1, -1); - PlaceItem(false, false, startIndex + i, style, viewBounds, bounds, alignmentToParent); - - bounds.x1 -= viewBounds.x1; - bounds.x2 -= viewBounds.x1; - bounds.y1 -= viewBounds.y1; - bounds.y2 -= viewBounds.y1; - - callback->SetStyleAlignmentToParent(GetStyleBounds(style), alignmentToParent); - callback->SetStyleBounds(GetStyleBounds(style), bounds); + callback->OnAdoptedSizeChanged(); } - EndPlaceItem(false, viewBounds, startIndex); } - RangedItemArrangerBase::RangedItemArrangerBase() + RangedItemArrangerBase::RangedItemArrangerBase(compositions::GuiVirtualRepeatCompositionBase* _repeat) + : repeat(_repeat) { + repeat->ViewLocationChanged.AttachMethod(this, &RangedItemArrangerBase::OnViewLocationChanged); + repeat->TotalSizeChanged.AttachMethod(this, &RangedItemArrangerBase::OnTotalSizeChanged); + repeat->AdoptedSizeInvalidated.AttachMethod(this, &RangedItemArrangerBase::OnAdoptedSizeInvalidated); } RangedItemArrangerBase::~RangedItemArrangerBase() { + SafeDeleteComposition(repeat); } void RangedItemArrangerBase::OnAttached(GuiListControl::IItemProvider* provider) @@ -11665,89 +11791,34 @@ RangedItemArrangerBase itemProvider = provider; if (provider) { - OnItemModified(0, 0, provider->Count()); + itemSource = Ptr(new ArrangerItemSource(provider)); + repeat->SetItemSource(itemSource); + } + else + { + repeat->SetItemSource(nullptr); + itemSource = nullptr; } } - void RangedItemArrangerBase::OnItemModified(vint start, vint count, vint newCount) + void RangedItemArrangerBase::OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated) { - if (callback && !itemProvider->IsEditing()) + if (itemSource && itemReferenceUpdated) { - suppressOnViewChanged = true; - { - vint visibleCount = visibleStyles.Count(); - vint itemCount = itemProvider->Count(); - SortedList reusedStyles; - for (vint i = 0; i < visibleCount; i++) - { - vint index = startIndex + i; - if (index >= itemCount) - { - break; - } - - vint oldIndex = -1; - if (index < start) - { - oldIndex = index; - } - else if (index >= start + newCount) - { - oldIndex = index - newCount + count; - } - - if (oldIndex != -1) - { - if (oldIndex >= startIndex && oldIndex < startIndex + visibleCount) - { - auto style = visibleStyles[oldIndex - startIndex]; - reusedStyles.Add(style); - visibleStyles.Add(style); - } - else - { - oldIndex = -1; - } - } - if (oldIndex == -1) - { - visibleStyles.Add(CreateStyle(index)); - } - } - - for (vint i = 0; i < visibleCount; i++) - { - auto style = visibleStyles[i]; - if (!reusedStyles.Contains(style)) - { - DeleteStyle(style); - } - } - - visibleStyles.RemoveRange(0, visibleCount); - // TODO: (enumerable) foreach:indexed - for (vint i = 0; i < visibleStyles.Count(); i++) - { - visibleStyles[i].key->SetIndex(startIndex + i); - } - } - suppressOnViewChanged = false; - - callback->OnTotalSizeChanged(); - callback->SetViewLocation(viewBounds.LeftTop()); - InvalidateAdoptedSize(); + itemSource->ItemChanged(start, count, newCount); } } void RangedItemArrangerBase::AttachListControl(GuiListControl* value) { listControl = value; - InvalidateAdoptedSize(); + repeat->SetAxis(Ptr(listControl->GetAxis())); } void RangedItemArrangerBase::DetachListControl() { - listControl = 0; + repeat->SetAxis(nullptr); + listControl = nullptr; } GuiListControl::IItemArrangerCallback* RangedItemArrangerBase::GetCallback() @@ -11759,169 +11830,82 @@ RangedItemArrangerBase { if (callback != value) { - ClearStyles(); + if (callback) + { + repeat->GetParent()->RemoveChild(repeat); + repeat->SetItemTemplate({}); + } callback = value; + if (callback) + { + callback->GetContainerComposition()->AddChild(repeat); + repeat->SetItemTemplate([](const description::Value&)->templates::GuiTemplate* + { + CHECK_FAIL(L"This function should not be called, it is used to enable the virtual repeat composition."); + }); + } } } Size RangedItemArrangerBase::GetTotalSize() { - if (callback) + if (callback && repeat) { - return OnCalculateTotalSize(); - } - else - { - return Size(0, 0); + return repeat->GetTotalSize(); } + return Size(0, 0); } GuiListControl::ItemStyle* RangedItemArrangerBase::GetVisibleStyle(vint itemIndex) { - if (startIndex <= itemIndex && itemIndex < startIndex + visibleStyles.Count()) - { - return visibleStyles[itemIndex - startIndex].key; - } - else - { - return nullptr; - } + auto bounds = repeat->GetVisibleStyle(itemIndex); + return bounds ? callback->GetItem(bounds) : nullptr; } vint RangedItemArrangerBase::GetVisibleIndex(GuiListControl::ItemStyle* style) { - // TODO: (enumerable) foreach:indexed - for (vint i = 0; i < visibleStyles.Count(); i++) - { - if (visibleStyles[i].key == style) - { - return i + startIndex; - } - } - return -1; + auto bounds = callback->GetItemBounds(style); + return repeat->GetVisibleIndex(bounds); } void RangedItemArrangerBase::ReloadVisibleStyles() { - ClearStyles(); + if (repeat) repeat->ResetLayout(true); } void RangedItemArrangerBase::OnViewChanged(Rect bounds) { - if (!suppressOnViewChanged) + repeat->SetViewLocation(bounds.LeftTop()); + repeat->SetExpectedBounds(Rect({ 0,0 }, bounds.GetSize())); + } + + vint RangedItemArrangerBase::FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key) + { + return repeat->FindItemByVirtualKeyDirection(itemIndex, key); + } + + GuiListControl::EnsureItemVisibleResult RangedItemArrangerBase::EnsureItemVisible(vint itemIndex) + { + switch (repeat->EnsureItemVisible(itemIndex)) { - suppressOnViewChanged = true; - Rect oldBounds = viewBounds; - viewBounds = bounds; - if (callback) - { - OnViewChangedInternal(oldBounds, viewBounds); - RearrangeItemBounds(); - } - suppressOnViewChanged = false; + case VirtualRepeatEnsureItemVisibleResult::Moved: + return GuiListControl::EnsureItemVisibleResult::Moved; + case VirtualRepeatEnsureItemVisibleResult::NotMoved: + return GuiListControl::EnsureItemVisibleResult::NotMoved; + default: + return GuiListControl::EnsureItemVisibleResult::ItemNotExists; } } + Size RangedItemArrangerBase::GetAdoptedSize(Size expectedSize) + { + return repeat->GetAdoptedSize(expectedSize); + } + /*********************************************************************** -FreeHeightItemArranger +VirtualRepeatRangedItemArrangerBase ***********************************************************************/ - void FreeHeightItemArranger::EnsureOffsetForItem(vint itemIndex) - { - if (heights.Count() == 0) return; - - if (availableOffsetCount == 0) - { - availableOffsetCount = 1; - offsets[0] = 0; - } - - for (vint i = availableOffsetCount; i < itemIndex && i < heights.Count(); i++) - { - offsets[i] = offsets[i - 1] + heights[i - 1]; - } - } - - void FreeHeightItemArranger::BeginPlaceItem(bool forMoving, Rect newBounds, vint& newStartIndex) - { - pim_heightUpdated = false; - EnsureOffsetForItem(heights.Count() - 1); - if (forMoving) - { - // TODO: (enumerable) foreach:indexed - for (vint i = 0; i < heights.Count(); i++) - { - if (offsets[i] + heights[i] >= newBounds.Top()) - { - newStartIndex = i; - break; - } - } - } - } - - void FreeHeightItemArranger::PlaceItem(bool forMoving, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) - { - vint styleHeight = heights[index]; - { - auto composition = GetStyleBounds(style); - auto currentBounds = callback->GetStyleBounds(composition); - callback->SetStyleBounds(composition, Rect(bounds.LeftTop(), Size(viewBounds.Width(), bounds.Height()))); - vint newStyleHeight = callback->GetStylePreferredSize(composition).y; - callback->SetStyleBounds(composition, currentBounds); - - if (!newCreatedStyle || styleHeight < newStyleHeight) - { - styleHeight = newStyleHeight; - } - } - - if (heights[index] != styleHeight) - { - heights[index] = styleHeight; - pim_heightUpdated = true; - } - - vint styleOffset = index == 0 ? 0 : offsets[index - 1] + heights[index - 1]; - if (availableOffsetCount <= index || offsets[index] != styleOffset) - { - offsets[index] = styleOffset; - availableOffsetCount = index; - } - - bounds = Rect(Point(0, offsets[index]), Size(viewBounds.Width(), heights[index])); - } - - bool FreeHeightItemArranger::IsItemOutOfViewBounds(vint index, ItemStyleRecord style, Rect bounds, Rect viewBounds) - { - return bounds.Top() >= viewBounds.Bottom(); - } - - bool FreeHeightItemArranger::EndPlaceItem(bool forMoving, Rect newBounds, vint newStartIndex) - { - if (forMoving) - { - return pim_heightUpdated; - } - return false; - } - - void FreeHeightItemArranger::InvalidateItemSizeCache() - { - availableOffsetCount = 0; - for (vint i = 0; i < heights.Count(); i++) - { - heights[i] = 1; - } - } - - Size FreeHeightItemArranger::OnCalculateTotalSize() - { - if (heights.Count() == 0) return Size(0, 0); - EnsureOffsetForItem(heights.Count()); - return Size(viewBounds.Width(), offsets[heights.Count() - 1] + heights[heights.Count() - 1]); - } - FreeHeightItemArranger::FreeHeightItemArranger() { } @@ -11930,225 +11914,6 @@ FreeHeightItemArranger { } - void FreeHeightItemArranger::OnAttached(GuiListControl::IItemProvider* provider) - { - if (provider) - { - vint itemCount = provider->Count(); - heights.Resize(itemCount); - offsets.Resize(itemCount); - for (vint i = 0; i < heights.Count(); i++) - { - heights[i] = 1; - } - availableOffsetCount = 0; - } - else - { - heights.Resize(0); - offsets.Resize(0); - availableOffsetCount = 0; - } - RangedItemArrangerBase::OnAttached(provider); - } - - void FreeHeightItemArranger::OnItemModified(vint start, vint count, vint newCount) - { - availableOffsetCount = start; - vint itemCount = heights.Count() + newCount - count; - - if (count < newCount) - { - heights.Resize(itemCount); - if (start + newCount < itemCount) - { - memmove(&heights[start + newCount], &heights[start + count], sizeof(vint) * (itemCount - start - newCount)); - } - } - else if (count > newCount) - { - if (start + newCount < itemCount) - { - memmove(&heights[start + newCount], &heights[start + count], sizeof(vint) * (itemCount - start - newCount)); - } - heights.Resize(itemCount); - } - - for (vint i = 0; i < newCount; i++) - { - heights[start + i] = 1; - } - offsets.Resize(itemCount); - - RangedItemArrangerBase::OnItemModified(start, count, newCount); - } - - vint FreeHeightItemArranger::FindItem(vint itemIndex, compositions::KeyDirection key) - { - vint count = itemProvider->Count(); - if (count == 0) return -1; - switch (key) - { - case KeyDirection::Up: - itemIndex--; - break; - case KeyDirection::Down: - itemIndex++; - break; - case KeyDirection::Home: - itemIndex = 0; - break; - case KeyDirection::End: - itemIndex = count; - break; - case KeyDirection::PageUp: - itemIndex -= visibleStyles.Count(); - break; - case KeyDirection::PageDown: - itemIndex += visibleStyles.Count(); - break; - default: - return -1; - } - - if (itemIndex < 0) return 0; - else if (itemIndex >= count) return count - 1; - else return itemIndex; - } - - GuiListControl::EnsureItemVisibleResult FreeHeightItemArranger::EnsureItemVisible(vint itemIndex) - { - if (callback) - { - bool moved = false; - while (true) - { - if (itemIndex < 0 || itemIndex >= itemProvider->Count()) - { - return GuiListControl::EnsureItemVisibleResult::ItemNotExists; - } - - EnsureOffsetForItem(itemIndex); - vint offset = viewBounds.y1; - vint top = offsets[itemIndex]; - vint bottom = top + heights[itemIndex]; - vint height = viewBounds.Height(); - - Point location = viewBounds.LeftTop(); - - if (offset >= top && offset + height <= bottom) - { - break; - } - else if (offset > top) - { - location.y = top; - } - else if (offset < bottom - height) - { - location.y = bottom - height; - } - else - { - break; - } - - auto oldLeftTop = viewBounds.LeftTop(); - callback->SetViewLocation(location); - moved |= viewBounds.LeftTop() != oldLeftTop; - if (viewBounds.LeftTop() != location) break; - } - return moved ? GuiListControl::EnsureItemVisibleResult::Moved : GuiListControl::EnsureItemVisibleResult::NotMoved; - } - return GuiListControl::EnsureItemVisibleResult::NotMoved; - } - - Size FreeHeightItemArranger::GetAdoptedSize(Size expectedSize) - { - vint h = expectedSize.x * 2; - if (expectedSize.y < h) expectedSize.y = h; - return expectedSize; - } - -/*********************************************************************** -FixedHeightItemArranger -***********************************************************************/ - - vint FixedHeightItemArranger::GetWidth() - { - return -1; - } - - vint FixedHeightItemArranger::GetYOffset() - { - return 0; - } - - void FixedHeightItemArranger::BeginPlaceItem(bool forMoving, Rect newBounds, vint& newStartIndex) - { - pi_width = GetWidth(); - if (forMoving) - { - pim_rowHeight = rowHeight; - newStartIndex = (newBounds.Top() - GetYOffset()) / rowHeight; - } - } - - void FixedHeightItemArranger::PlaceItem(bool forMoving, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) - { - vint top = GetYOffset() + index * rowHeight; - if (pi_width == -1) - { - alignmentToParent = Margin(0, -1, 0, -1); - bounds = Rect(Point(0, top), Size(0, rowHeight)); - } - else - { - alignmentToParent = Margin(-1, -1, -1, -1); - bounds = Rect(Point(0, top), Size(pi_width, rowHeight)); - } - if (forMoving) - { - vint styleHeight = callback->GetStylePreferredSize(GetStyleBounds(style)).y; - if (pim_rowHeight < styleHeight) - { - pim_rowHeight = styleHeight; - } - } - } - - bool FixedHeightItemArranger::IsItemOutOfViewBounds(vint index, ItemStyleRecord style, Rect bounds, Rect viewBounds) - { - return bounds.Top() >= viewBounds.Bottom(); - } - - bool FixedHeightItemArranger::EndPlaceItem(bool forMoving, Rect newBounds, vint newStartIndex) - { - if (forMoving) - { - if (pim_rowHeight != rowHeight) - { - vint offset = (pim_rowHeight - rowHeight) * newStartIndex; - rowHeight = pim_rowHeight; - callback->SetViewLocation(Point(0, newBounds.Top() + offset)); - return true; - } - } - return false; - } - - void FixedHeightItemArranger::InvalidateItemSizeCache() - { - rowHeight = 1; - } - - Size FixedHeightItemArranger::OnCalculateTotalSize() - { - vint width = GetWidth(); - if (width < 0) width = 0; - return Size(width, rowHeight * itemProvider->Count() + GetYOffset()); - } - FixedHeightItemArranger::FixedHeightItemArranger() { } @@ -12157,183 +11922,6 @@ FixedHeightItemArranger { } - vint FixedHeightItemArranger::FindItem(vint itemIndex, compositions::KeyDirection key) - { - vint count = itemProvider->Count(); - if (count == 0) return -1; - vint groupCount = viewBounds.Height() / rowHeight; - if (groupCount == 0) groupCount = 1; - switch (key) - { - case KeyDirection::Up: - itemIndex--; - break; - case KeyDirection::Down: - itemIndex++; - break; - case KeyDirection::Home: - itemIndex = 0; - break; - case KeyDirection::End: - itemIndex = count; - break; - case KeyDirection::PageUp: - itemIndex -= groupCount; - break; - case KeyDirection::PageDown: - itemIndex += groupCount; - break; - default: - return -1; - } - - if (itemIndex < 0) return 0; - else if (itemIndex >= count) return count - 1; - else return itemIndex; - } - - GuiListControl::EnsureItemVisibleResult FixedHeightItemArranger::EnsureItemVisible(vint itemIndex) - { - if (callback) - { - if (itemIndex < 0 || itemIndex >= itemProvider->Count()) - { - return GuiListControl::EnsureItemVisibleResult::ItemNotExists; - } - bool moved = false; - while (true) - { - vint yOffset = GetYOffset(); - vint top = itemIndex*rowHeight; - vint bottom = top + rowHeight + yOffset; - - if (viewBounds.Height() < rowHeight) - { - if (viewBounds.Top() < bottom && top < viewBounds.Bottom()) - { - break; - } - } - - Point location = viewBounds.LeftTop(); - if (viewBounds.y1 >= top && viewBounds.y2 <= bottom) - { - break; - } - else if (top < viewBounds.Top()) - { - location.y = top; - } - else if (viewBounds.Bottom() < bottom) - { - location.y = bottom - viewBounds.Height(); - } - else - { - break; - } - - auto oldLeftTop = viewBounds.LeftTop(); - callback->SetViewLocation(location); - moved |= viewBounds.LeftTop() != oldLeftTop; - if (viewBounds.LeftTop() != location) break; - } - return moved ? GuiListControl::EnsureItemVisibleResult::Moved : GuiListControl::EnsureItemVisibleResult::NotMoved; - } - return GuiListControl::EnsureItemVisibleResult::NotMoved; - } - - Size FixedHeightItemArranger::GetAdoptedSize(Size expectedSize) - { - if (itemProvider) - { - vint yOffset = GetYOffset(); - vint y = expectedSize.y - yOffset; - vint itemCount = itemProvider->Count(); - return Size(expectedSize.x, yOffset + CalculateAdoptedSize(y, itemCount, rowHeight)); - } - return expectedSize; - } - -/*********************************************************************** -FixedSizeMultiColumnItemArranger -***********************************************************************/ - - void FixedSizeMultiColumnItemArranger::BeginPlaceItem(bool forMoving, Rect newBounds, vint& newStartIndex) - { - if (forMoving) - { - pim_itemSize = itemSize; - vint rows = newBounds.Top() / itemSize.y; - if (rows < 0) rows = 0; - vint cols = newBounds.Width() / itemSize.x; - if (cols < 1) cols = 1; - newStartIndex = rows * cols; - } - } - - void FixedSizeMultiColumnItemArranger::PlaceItem(bool forMoving, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) - { - vint rowItems = viewBounds.Width() / itemSize.x; - if (rowItems < 1) rowItems = 1; - - vint row = index / rowItems; - vint col = index % rowItems; - bounds = Rect(Point(col * itemSize.x, row * itemSize.y), itemSize); - if (forMoving) - { - Size styleSize = callback->GetStylePreferredSize(GetStyleBounds(style)); - if (pim_itemSize.x < styleSize.x) pim_itemSize.x = styleSize.x; - if (pim_itemSize.y < styleSize.y) pim_itemSize.y = styleSize.y; - } - } - - bool FixedSizeMultiColumnItemArranger::IsItemOutOfViewBounds(vint index, ItemStyleRecord style, Rect bounds, Rect viewBounds) - { - return bounds.Top() >= viewBounds.Bottom(); - } - - bool FixedSizeMultiColumnItemArranger::EndPlaceItem(bool forMoving, Rect newBounds, vint newStartIndex) - { - if (forMoving) - { - if (pim_itemSize != itemSize) - { - itemSize = pim_itemSize; - return true; - } - } - return false; - } - - void FixedSizeMultiColumnItemArranger::CalculateRange(Size itemSize, Rect bounds, vint count, vint& start, vint& end) - { - vint startRow = bounds.Top() / itemSize.y; - if (startRow < 0) startRow = 0; - vint endRow = (bounds.Bottom() - 1) / itemSize.y; - vint cols = bounds.Width() / itemSize.x; - if (cols < 1) cols = 1; - - start = startRow*cols; - end = (endRow + 1)*cols - 1; - if (end >= count) end = count - 1; - } - - void FixedSizeMultiColumnItemArranger::InvalidateItemSizeCache() - { - itemSize = Size(1, 1); - } - - Size FixedSizeMultiColumnItemArranger::OnCalculateTotalSize() - { - vint rowItems = viewBounds.Width() / itemSize.x; - if (rowItems < 1) rowItems = 1; - vint rows = itemProvider->Count() / rowItems; - if (itemProvider->Count() % rowItems) rows++; - - return Size(itemSize.x * rowItems, itemSize.y*rows); - } - FixedSizeMultiColumnItemArranger::FixedSizeMultiColumnItemArranger() { } @@ -12342,207 +11930,6 @@ FixedSizeMultiColumnItemArranger { } - vint FixedSizeMultiColumnItemArranger::FindItem(vint itemIndex, compositions::KeyDirection key) - { - vint count = itemProvider->Count(); - vint columnCount = viewBounds.Width() / itemSize.x; - if (columnCount == 0) columnCount = 1; - vint rowCount = viewBounds.Height() / itemSize.y; - if (rowCount == 0) rowCount = 1; - - switch (key) - { - case KeyDirection::Up: - itemIndex -= columnCount; - break; - case KeyDirection::Down: - itemIndex += columnCount; - break; - case KeyDirection::Left: - itemIndex--; - break; - case KeyDirection::Right: - itemIndex++; - break; - case KeyDirection::Home: - itemIndex = 0; - break; - case KeyDirection::End: - itemIndex = count; - break; - case KeyDirection::PageUp: - itemIndex -= columnCount*rowCount; - break; - case KeyDirection::PageDown: - itemIndex += columnCount*rowCount; - break; - case KeyDirection::PageLeft: - itemIndex -= itemIndex%columnCount; - break; - case KeyDirection::PageRight: - itemIndex += columnCount - itemIndex%columnCount - 1; - break; - default: - return -1; - } - - if (itemIndex < 0) return 0; - else if (itemIndex >= count) return count - 1; - else return itemIndex; - } - - GuiListControl::EnsureItemVisibleResult FixedSizeMultiColumnItemArranger::EnsureItemVisible(vint itemIndex) - { - if (callback) - { - if (itemIndex < 0 || itemIndex >= itemProvider->Count()) - { - return GuiListControl::EnsureItemVisibleResult::ItemNotExists; - } - bool moved = false; - while (true) - { - vint rowHeight = itemSize.y; - vint columnCount = viewBounds.Width() / itemSize.x; - if (columnCount == 0) columnCount = 1; - vint rowIndex = itemIndex / columnCount; - - vint top = rowIndex*rowHeight; - vint bottom = top + rowHeight; - - if (viewBounds.Height() < rowHeight) - { - if (viewBounds.Top() < bottom && top < viewBounds.Bottom()) - { - break; - } - } - - Point location = viewBounds.LeftTop(); - if (top < viewBounds.Top()) - { - location.y = top; - } - else if (viewBounds.Bottom() < bottom) - { - location.y = bottom - viewBounds.Height(); - } - else - { - break; - } - - auto oldLeftTop = viewBounds.LeftTop(); - callback->SetViewLocation(location); - moved |= viewBounds.LeftTop() != oldLeftTop; - if (viewBounds.LeftTop() != location) break; - } - return moved ? GuiListControl::EnsureItemVisibleResult::Moved : GuiListControl::EnsureItemVisibleResult::NotMoved; - } - return GuiListControl::EnsureItemVisibleResult::NotMoved; - } - - Size FixedSizeMultiColumnItemArranger::GetAdoptedSize(Size expectedSize) - { - if (itemProvider) - { - vint count = itemProvider->Count(); - vint columnCount = viewBounds.Width() / itemSize.x; - vint rowCount = viewBounds.Height() / itemSize.y; - return Size( - CalculateAdoptedSize(expectedSize.x, columnCount, itemSize.x), - CalculateAdoptedSize(expectedSize.y, rowCount, itemSize.y) - ); - } - return expectedSize; - } - -/*********************************************************************** -FixedHeightMultiColumnItemArranger -***********************************************************************/ - - void FixedHeightMultiColumnItemArranger::CalculateRange(vint itemHeight, Rect bounds, vint& rows, vint& startColumn) - { - vint w = bounds.Width(); - vint h = bounds.Height(); - if (w <= 0) w = 1; - - rows = h / itemHeight; - if (rows < 1) rows = 1; - startColumn = bounds.Left() / w; - } - - void FixedHeightMultiColumnItemArranger::BeginPlaceItem(bool forMoving, Rect newBounds, vint& newStartIndex) - { - pi_currentWidth = 0; - pi_totalWidth = 0; - if (forMoving) - { - vint w = newBounds.Width(); - vint h = newBounds.Height(); - if (w <= 0) w = 1; - - pim_itemHeight = itemHeight; - vint rows = h / itemHeight; - if (rows < 1) rows = 1; - vint columns = newBounds.Left() / w; - newStartIndex = rows * columns; - } - } - - void FixedHeightMultiColumnItemArranger::PlaceItem(bool forMoving, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) - { - vint rows = viewBounds.Height() / itemHeight; - if (rows < 1) rows = 1; - - vint row = index % rows; - if (row == 0) - { - pi_totalWidth += pi_currentWidth; - pi_currentWidth = 0; - } - - Size styleSize = callback->GetStylePreferredSize(GetStyleBounds(style)); - if (pi_currentWidth < styleSize.x) pi_currentWidth = styleSize.x; - bounds = Rect(Point(pi_totalWidth + viewBounds.Left(), itemHeight * row), Size(0, 0)); - if (forMoving) - { - if (pim_itemHeight < styleSize.y) pim_itemHeight = styleSize.y; - } - } - - bool FixedHeightMultiColumnItemArranger::IsItemOutOfViewBounds(vint index, ItemStyleRecord style, Rect bounds, Rect viewBounds) - { - return bounds.Left() >= viewBounds.Right(); - } - - bool FixedHeightMultiColumnItemArranger::EndPlaceItem(bool forMoving, Rect newBounds, vint newStartIndex) - { - if (forMoving) - { - if (pim_itemHeight != itemHeight) - { - itemHeight = pim_itemHeight; - return true; - } - } - return false; - } - - void FixedHeightMultiColumnItemArranger::InvalidateItemSizeCache() - { - itemHeight = 1; - } - - Size FixedHeightMultiColumnItemArranger::OnCalculateTotalSize() - { - vint rows = viewBounds.Height() / itemHeight; - if (rows < 1) rows = 1; - vint columns = itemProvider->Count() / rows; - if (itemProvider->Count() % rows) columns += 1; - return Size(viewBounds.Width() * columns, 0); - } - FixedHeightMultiColumnItemArranger::FixedHeightMultiColumnItemArranger() { } @@ -12550,117 +11937,6 @@ FixedHeightMultiColumnItemArranger FixedHeightMultiColumnItemArranger::~FixedHeightMultiColumnItemArranger() { } - - vint FixedHeightMultiColumnItemArranger::FindItem(vint itemIndex, compositions::KeyDirection key) - { - vint count = itemProvider->Count(); - vint groupCount = viewBounds.Height() / itemHeight; - if (groupCount == 0) groupCount = 1; - switch (key) - { - case KeyDirection::Up: - itemIndex--; - break; - case KeyDirection::Down: - itemIndex++; - break; - case KeyDirection::Left: - itemIndex -= groupCount; - break; - case KeyDirection::Right: - itemIndex += groupCount; - break; - case KeyDirection::Home: - itemIndex = 0; - break; - case KeyDirection::End: - itemIndex = count; - break; - case KeyDirection::PageUp: - itemIndex -= itemIndex%groupCount; - break; - case KeyDirection::PageDown: - itemIndex += groupCount - itemIndex%groupCount - 1; - break; - default: - return -1; - } - - if (itemIndex < 0) return 0; - else if (itemIndex >= count) return count - 1; - else return itemIndex; - } - - GuiListControl::EnsureItemVisibleResult FixedHeightMultiColumnItemArranger::EnsureItemVisible(vint itemIndex) - { - if (callback) - { - if (itemIndex < 0 || itemIndex >= itemProvider->Count()) - { - return GuiListControl::EnsureItemVisibleResult::ItemNotExists; - } - bool moved = false; - while (true) - { - vint rowCount = viewBounds.Height() / itemHeight; - if (rowCount == 0) rowCount = 1; - vint columnIndex = itemIndex / rowCount; - vint minIndex = startIndex; - vint maxIndex = startIndex + visibleStyles.Count() - 1; - - Point location = viewBounds.LeftTop(); - if (minIndex <= itemIndex && itemIndex <= maxIndex) - { - Rect bounds = callback->GetStyleBounds(GetStyleBounds(visibleStyles[itemIndex - startIndex])); - if (0 < bounds.Bottom() && bounds.Top() < viewBounds.Width() && bounds.Width() > viewBounds.Width()) - { - break; - } - else if (bounds.Left() < 0) - { - location.x -= viewBounds.Width(); - } - else if (bounds.Right() > viewBounds.Width()) - { - location.x += viewBounds.Width(); - } - else - { - break; - } - } - else if (columnIndex < minIndex / rowCount) - { - location.x -= viewBounds.Width(); - } - else if (columnIndex >= maxIndex / rowCount) - { - location.x += viewBounds.Width(); - } - else - { - break; - } - - auto oldLeftTop = viewBounds.LeftTop(); - callback->SetViewLocation(location); - moved |= viewBounds.LeftTop() != oldLeftTop; - if (viewBounds.LeftTop() != location) break; - } - return moved ? GuiListControl::EnsureItemVisibleResult::Moved : GuiListControl::EnsureItemVisibleResult::NotMoved; - } - return GuiListControl::EnsureItemVisibleResult::NotMoved; - } - - Size FixedHeightMultiColumnItemArranger::GetAdoptedSize(Size expectedSize) - { - if (itemProvider) - { - vint count = itemProvider->Count(); - return Size(expectedSize.x, CalculateAdoptedSize(expectedSize.y, count, itemHeight)); - } - return expectedSize; - } } } } @@ -12684,27 +11960,44 @@ namespace vl GuiListControl::ItemCallback ***********************************************************************/ - Ptr GuiListControl::ItemCallback::InstallStyle(ItemStyle* style, vint itemIndex, compositions::GuiBoundsComposition* itemComposition) + GuiListControl::ItemStyleRecord GuiListControl::ItemCallback::InstallStyle(ItemStyle* style, vint itemIndex) { - auto handler = style->CachedBoundsChanged.AttachMethod(this, &ItemCallback::OnStyleCachedBoundsChanged); - listControl->GetContainerComposition()->AddChild(itemComposition ? itemComposition : style); - listControl->OnStyleInstalled(itemIndex, style); - return handler; + templates::GuiTemplate* bounds = style; + if (listControl->GetDisplayItemBackground()) + { + style->SetAlignmentToParent(Margin(0, 0, 0, 0)); + + auto backgroundButton = new GuiSelectableButton(theme::ThemeName::ListItemBackground); + if (auto backgroundStyle = listControl->TypedControlTemplateObject(true)->GetBackgroundTemplate()) + { + backgroundButton->SetControlTemplate(backgroundStyle); + } + backgroundButton->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); + backgroundButton->SetAutoFocus(false); + backgroundButton->SetAutoSelection(false); + backgroundButton->SetSelected(style->GetSelected()); + backgroundButton->GetContainerComposition()->AddChild(style); + + bounds = new templates::GuiTemplate; + bounds->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + bounds->AddChild(backgroundButton->GetBoundsComposition()); + + style->SelectedChanged.AttachLambda([=](GuiGraphicsComposition* sender, GuiEventArgs& arguments) + { + backgroundButton->SetSelected(style->GetSelected()); + }); + } + + listControl->OnStyleInstalled(itemIndex, style, false); + return { style,bounds }; } - GuiListControl::ItemStyle* GuiListControl::ItemCallback::UninstallStyle(vint index) + GuiListControl::ItemStyleRecord GuiListControl::ItemCallback::UninstallStyle(vint index) { auto style = installedStyles.Keys()[index]; - auto handler = installedStyles.Values()[index]; + auto bounds = installedStyles.Values()[index]; listControl->OnStyleUninstalled(style); - listControl->GetContainerComposition()->RemoveChild(style); - style->CachedBoundsChanged.Detach(handler); - return style; - } - - void GuiListControl::ItemCallback::OnStyleCachedBoundsChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - listControl->CalculateView(); + return { style,bounds }; } GuiListControl::ItemCallback::ItemCallback(GuiListControl* _listControl) @@ -12722,8 +12015,8 @@ GuiListControl::ItemCallback // TODO: (enumerable) foreach:indexed for (vint i = 0; i < installedStyles.Count(); i++) { - auto style = UninstallStyle(i); - SafeDeleteComposition(style); + auto [style, bounds] = UninstallStyle(i); + SafeDeleteComposition(bounds); } installedStyles.Clear(); } @@ -12733,31 +12026,64 @@ GuiListControl::ItemCallback itemProvider = provider; } - void GuiListControl::ItemCallback::OnItemModified(vint start, vint count, vint newCount) + void GuiListControl::ItemCallback::OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated) { - listControl->OnItemModified(start, count, newCount); + listControl->OnItemModified(start, count, newCount, itemReferenceUpdated); } - GuiListControl::ItemStyle* GuiListControl::ItemCallback::RequestItem(vint itemIndex, compositions::GuiBoundsComposition* itemComposition) + GuiListControl::ItemStyle* GuiListControl::ItemCallback::CreateItem(vint itemIndex) { - CHECK_ERROR(0 <= itemIndex && itemIndex < itemProvider->Count(), L"GuiListControl::ItemCallback::RequestItem(vint)#Index out of range."); - CHECK_ERROR(listControl->itemStyleProperty, L"GuiListControl::ItemCallback::RequestItem(vint)#SetItemTemplate function should be called before adding items to the list control."); +#define ERROR_MESSAGE_PREFIX L"GuiListControl::ItemCallback::RequestItem(vint)#" + CHECK_ERROR(0 <= itemIndex && itemIndex < itemProvider->Count(), ERROR_MESSAGE_PREFIX L"Index out of range."); + CHECK_ERROR(listControl->itemStyleProperty, ERROR_MESSAGE_PREFIX L"SetItemTemplate function should be called before adding items to the list control."); auto style = listControl->itemStyleProperty(itemProvider->GetBindingValue(itemIndex)); - auto handler = InstallStyle(style, itemIndex, itemComposition); - installedStyles.Add(style, handler); + auto record = InstallStyle(style, itemIndex); + installedStyles.Add(record); return style; +#undef ERROR_MESSAGE_PREFIX + } + + GuiListControl::ItemStyleBounds* GuiListControl::ItemCallback::GetItemBounds(ItemStyle * style) + { +#define ERROR_MESSAGE_PREFIX L"GuiListControl::ItemCallback::GetItemBounds(GuiListItemTemplate*)#The style is not created from CreateItem." + vint index = installedStyles.Keys().IndexOf(style); + CHECK_ERROR(index != -1, ERROR_MESSAGE_PREFIX); + + return installedStyles.Values()[index]; +#undef ERROR_MESSAGE_PREFIX + } + + GuiListControl::ItemStyle* GuiListControl::ItemCallback::GetItem(ItemStyleBounds* bounds) + { +#define ERROR_MESSAGE_PREFIX L"GuiListControl::ItemCallback::GetItem(GuiTemplate*)#The bounds is not created from CreateItem." + auto style = dynamic_cast(bounds); + if (style) return style; + + CHECK_ERROR(bounds->Children().Count() == 1, ERROR_MESSAGE_PREFIX); + auto backgroundButton = dynamic_cast(bounds->Children()[0]->GetAssociatedControl()); + CHECK_ERROR(backgroundButton != nullptr, ERROR_MESSAGE_PREFIX); + CHECK_ERROR(backgroundButton->GetContainerComposition()->Children().Count() == 1, ERROR_MESSAGE_PREFIX); + style = dynamic_cast(backgroundButton->GetContainerComposition()->Children()[0]); + CHECK_ERROR(style != nullptr, ERROR_MESSAGE_PREFIX); + + vint index = installedStyles.Keys().IndexOf(style); + CHECK_ERROR(index != -1, ERROR_MESSAGE_PREFIX); + CHECK_ERROR(installedStyles.Values()[index] == bounds, ERROR_MESSAGE_PREFIX); + return style; +#undef ERROR_MESSAGE_PREFIX } void GuiListControl::ItemCallback::ReleaseItem(ItemStyle* style) { +#define ERROR_MESSAGE_PREFIX L"GuiListControl::ItemCallback::GetItemBounds(GuiListItemTemplate*)#The style is not created from CreateItem." vint index = installedStyles.Keys().IndexOf(style); - if (index != -1) - { - auto style = UninstallStyle(index); - installedStyles.Remove(style); - SafeDeleteComposition(style); - } + CHECK_ERROR(index != -1, ERROR_MESSAGE_PREFIX); + + auto bounds = UninstallStyle(index).value; + installedStyles.Remove(style); + SafeDeleteComposition(bounds); +#undef ERROR_MESSAGE_PREFIX } void GuiListControl::ItemCallback::SetViewLocation(Point value) @@ -12767,30 +12093,6 @@ GuiListControl::ItemCallback listControl->SetViewPosition(realRect.LeftTop()); } - Size GuiListControl::ItemCallback::GetStylePreferredSize(compositions::GuiBoundsComposition* style) - { - Size size = style->GetCachedMinSize(); - return listControl->axis->RealSizeToVirtualSize(size); - } - - void GuiListControl::ItemCallback::SetStyleAlignmentToParent(compositions::GuiBoundsComposition* style, Margin margin) - { - Margin newMargin = listControl->axis->VirtualMarginToRealMargin(margin); - style->SetAlignmentToParent(newMargin); - } - - Rect GuiListControl::ItemCallback::GetStyleBounds(compositions::GuiBoundsComposition* style) - { - Rect bounds = style->GetCachedBounds(); - return listControl->axis->RealRectToVirtualRect(listControl->GetViewSize(), bounds); - } - - void GuiListControl::ItemCallback::SetStyleBounds(compositions::GuiBoundsComposition* style, Rect bounds) - { - Rect newBounds = listControl->axis->VirtualRectToRealRect(listControl->GetViewSize(), bounds); - return style->SetExpectedBounds(newBounds); - } - compositions::GuiGraphicsComposition* GuiListControl::ItemCallback::GetContainerComposition() { return listControl->GetContainerComposition(); @@ -12801,6 +12103,11 @@ GuiListControl::ItemCallback listControl->CalculateView(); } + void GuiListControl::ItemCallback::OnAdoptedSizeChanged() + { + listControl->AdoptedSizeInvalidated.Execute(listControl->GetNotifyEventArguments()); + } + /*********************************************************************** GuiListControl ***********************************************************************/ @@ -12818,11 +12125,27 @@ GuiListControl } } - void GuiListControl::OnItemModified(vint start, vint count, vint newCount) + void GuiListControl::OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated) { + // this function is executed before RangedItemArrangerBase::OnItemModified + // but we only handle itemReferenceUpdated==false + // so RangedItemArrangerBase::GetVisibleStyle is good here + // even it is possible that the style object will be replaced later + // OnStyleInstalled will be executed on affected style objects anyway + if (!itemReferenceUpdated && itemArranger && count == newCount) + { + for (vint i = 0; i < newCount; i++) + { + vint index = start + i; + if (auto style = itemArranger->GetVisibleStyle(index)) + { + OnStyleInstalled(index, style, true); + } + } + } } - void GuiListControl::OnStyleInstalled(vint itemIndex, ItemStyle* style) + void GuiListControl::OnStyleInstalled(vint itemIndex, ItemStyle* style, bool refreshPropertiesOnly) { style->SetFont(GetDisplayFont()); style->SetContext(GetContext()); @@ -12830,8 +12153,12 @@ GuiListControl style->SetVisuallyEnabled(GetVisuallyEnabled()); style->SetSelected(false); style->SetIndex(itemIndex); - style->Initialize(this); - AttachItemEvents(style); + style->SetAssociatedListControl(this); + + if (!refreshPropertiesOnly) + { + AttachItemEvents(style); + } } void GuiListControl::OnStyleUninstalled(ItemStyle* style) @@ -13203,18 +12530,18 @@ GuiSelectableListControl SelectionChanged.Execute(GetNotifyEventArguments()); } - void GuiSelectableListControl::OnItemModified(vint start, vint count, vint newCount) + void GuiSelectableListControl::OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated) { - GuiListControl::OnItemModified(start, count, newCount); - if(count!=newCount) + GuiListControl::OnItemModified(start, count, newCount, itemReferenceUpdated); + if (count != newCount) { ClearSelection(); } } - void GuiSelectableListControl::OnStyleInstalled(vint itemIndex, ItemStyle* style) + void GuiSelectableListControl::OnStyleInstalled(vint itemIndex, ItemStyle* style, bool refreshPropertiesOnly) { - GuiListControl::OnStyleInstalled(itemIndex, style); + GuiListControl::OnStyleInstalled(itemIndex, style, refreshPropertiesOnly); style->SetSelected(selectedItems.Contains(itemIndex)); } @@ -13303,7 +12630,7 @@ GuiSelectableListControl vint GuiSelectableListControl::FindItemByVirtualKeyDirection(vint index, compositions::KeyDirection keyDirection) { - return GetArranger()->FindItem(selectedItemIndexEnd, keyDirection); + return GetArranger()->FindItemByVirtualKeyDirection(selectedItemIndexEnd, keyDirection); } GuiSelectableListControl::GuiSelectableListControl(theme::ThemeName themeName, IItemProvider* _itemProvider) @@ -13521,14 +12848,14 @@ GuiSelectableListControl ItemProviderBase ***********************************************************************/ - void ItemProviderBase::InvokeOnItemModified(vint start, vint count, vint newCount) + void ItemProviderBase::InvokeOnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated) { CHECK_ERROR(!callingOnItemModified, L"ItemProviderBase::InvokeOnItemModified(vint, vint, vint)#Canning modify the observable data source during its item modified event, which will cause this event to be executed recursively."); callingOnItemModified = true; // TODO: (enumerable) foreach for (vint i = 0; i < callbacks.Count(); i++) { - callbacks[i]->OnItemModified(start, count, newCount); + callbacks[i]->OnItemModified(start, count, newCount, itemReferenceUpdated); } callingOnItemModified = false; } @@ -13692,16 +13019,37 @@ ListViewColumnItemArranger::ColumnItemViewCallback { } - void ListViewColumnItemArranger::ColumnItemViewCallback::OnColumnChanged() + void ListViewColumnItemArranger::ColumnItemViewCallback::OnColumnRebuilt() { arranger->RebuildColumns(); - for (auto style : arranger->visibleStyles) - { - if (auto callback = dynamic_cast(style.key)) - { - callback->OnColumnChanged(); - } - } + } + + void ListViewColumnItemArranger::ColumnItemViewCallback::OnColumnChanged(bool needToRefreshItems) + { + arranger->RefreshColumns(); + } + +/*********************************************************************** +ListViewColumnItemArranger::ColumnItemArrangerRepeatComposition +***********************************************************************/ + + void ListViewColumnItemArranger::ColumnItemArrangerRepeatComposition::Layout_EndLayout(bool totalSizeUpdated) + { + TBase::ArrangerRepeatComposition::Layout_EndLayout(totalSizeUpdated); + arranger->FixColumnsAfterLayout(); + } + + Size ListViewColumnItemArranger::ColumnItemArrangerRepeatComposition::Layout_CalculateTotalSize() + { + auto size = TBase::ArrangerRepeatComposition::Layout_CalculateTotalSize(); + size.x += arranger->SplitterWidth; + return size; + } + + ListViewColumnItemArranger::ColumnItemArrangerRepeatComposition::ColumnItemArrangerRepeatComposition(ListViewColumnItemArranger* _arranger) + : TBase::ArrangerRepeatComposition(_arranger) + , arranger(_arranger) + { } /*********************************************************************** @@ -13710,6 +13058,11 @@ ListViewColumnItemArranger const wchar_t* const ListViewColumnItemArranger::IColumnItemView::Identifier = L"vl::presentation::controls::list::ListViewColumnItemArranger::IColumnItemView"; + void ListViewColumnItemArranger::OnViewLocationChanged(compositions::GuiGraphicsComposition* composition, compositions::GuiEventArgs& arguments) + { + FixColumnsAfterViewLocationChanged(); + } + void ListViewColumnItemArranger::ColumnClicked(vint index, compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) { GuiItemEventArgs args(listView->ColumnClicked.GetAssociatedComposition()); @@ -13766,15 +13119,20 @@ ListViewColumnItemArranger } } - void ListViewColumnItemArranger::RearrangeItemBounds() + void ListViewColumnItemArranger::FixColumnsAfterViewLocationChanged() { - FixedHeightItemArranger::RearrangeItemBounds(); - vint count = columnHeaders->GetParent()->Children().Count(); - columnHeaders->GetParent()->MoveChild(columnHeaders, count - 1); - columnHeaders->SetExpectedBounds(Rect(Point(-viewBounds.Left(), 0), Size(0, 0))); + vint x = GetRepeatComposition()->GetViewLocation().x; + columnHeaders->SetExpectedBounds(Rect(Point(-x, 0), Size(0, 0))); } - vint ListViewColumnItemArranger::GetWidth() + void ListViewColumnItemArranger::FixColumnsAfterLayout() + { + vint count = columnHeaders->GetParent()->Children().Count(); + columnHeaders->GetParent()->MoveChild(columnHeaders, count - 1); + FixColumnsAfterViewLocationChanged(); + } + + vint ListViewColumnItemArranger::GetColumnsWidth() { vint width=columnHeaders->GetCachedBounds().Width()-SplitterWidth; if(widthGetCachedBounds().Height(); } - Size ListViewColumnItemArranger::OnCalculateTotalSize() - { - Size size=FixedHeightItemArranger::OnCalculateTotalSize(); - size.x+=SplitterWidth; - return size; - } - void ListViewColumnItemArranger::DeleteColumnButtons() { // TODO: (enumerable) foreach:reversed @@ -13852,10 +13203,6 @@ ListViewColumnItemArranger GuiListViewColumnHeader* button = new GuiListViewColumnHeader(theme::ThemeName::Unknown); button->SetAutoFocus(false); button->SetControlTemplate(listView->TypedControlTemplateObject(true)->GetColumnHeaderTemplate()); - button->SetText(listViewItemView->GetColumnText(i)); - button->SetSubMenu(columnItemView->GetDropdownPopup(i), false); - button->SetColumnSortingState(columnItemView->GetSortingState(i)); - button->GetBoundsComposition()->SetExpectedBounds(Rect(Point(0, 0), Size(columnItemView->GetColumnSize(i), 0))); button->Clicked.AttachLambda([this, i](GuiGraphicsComposition* sender, GuiEventArgs& args) { ColumnClicked(i, sender, args); }); button->GetBoundsComposition()->CachedBoundsChanged.AttachLambda([this, i](GuiGraphicsComposition* sender, GuiEventArgs& args) { ColumnCachedBoundsChanged(i, sender, args); }); columnHeaderButtons.Add(button); @@ -13880,14 +13227,36 @@ ListViewColumnItemArranger } } } + + RefreshColumns(); callback->OnTotalSizeChanged(); } + void ListViewColumnItemArranger::RefreshColumns() + { + if (columnItemView && listViewItemView) + { + for (vint i = 0; i < listViewItemView->GetColumnCount(); i++) + { + auto button = columnHeaderButtons[i]; + button->SetText(listViewItemView->GetColumnText(i)); + button->SetSubMenu(columnItemView->GetDropdownPopup(i), false); + button->SetColumnSortingState(columnItemView->GetSortingState(i)); + button->GetBoundsComposition()->SetExpectedBounds(Rect(Point(0, 0), Size(columnItemView->GetColumnSize(i), 0))); + } + columnHeaders->ForceCalculateSizeImmediately(); + GetRepeatComposition()->SetItemWidth(GetColumnsWidth()); + GetRepeatComposition()->SetItemYOffset(GetColumnsYOffset()); + } + } + ListViewColumnItemArranger::ListViewColumnItemArranger() + : TBase(new TBase::ArrangerRepeatComposition(this)) { columnHeaders = new GuiStackComposition; columnHeaders->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); columnItemViewCallback = Ptr(new ColumnItemViewCallback(this)); + GetRepeatComposition()->ViewLocationChanged.AttachMethod(this, &ListViewColumnItemArranger::OnViewLocationChanged); } ListViewColumnItemArranger::~ListViewColumnItemArranger() @@ -13899,9 +13268,16 @@ ListViewColumnItemArranger } } + Size ListViewColumnItemArranger::GetTotalSize() + { + Size size = TBase::GetTotalSize(); + size.x += SplitterWidth; + return size; + } + void ListViewColumnItemArranger::AttachListControl(GuiListControl* value) { - FixedHeightItemArranger::AttachListControl(value); + TBase::AttachListControl(value); listView = dynamic_cast(value); if (listView) { @@ -13929,7 +13305,7 @@ ListViewColumnItemArranger listView->GetContainerComposition()->RemoveChild(columnHeaders); listView = nullptr; } - FixedHeightItemArranger::DetachListControl(); + TBase::DetachListControl(); } /*********************************************************************** @@ -13950,7 +13326,7 @@ ListViewItem if (owner) { vint index = owner->IndexOf(this); - owner->NotifyUpdateInternal(index, 1, 1); + owner->InvokeOnItemModified(index, 1, 1, false); } } @@ -14013,12 +13389,27 @@ ListViewItem ListViewColumn ***********************************************************************/ - void ListViewColumn::NotifyUpdate(bool affectItem) + void ListViewColumn::NotifyRebuilt() { if (owner) { vint index = owner->IndexOf(this); - owner->NotifyColumnUpdated(index, affectItem); + if (index != -1) + { + owner->NotifyColumnRebuilt(index); + } + } + } + + void ListViewColumn::NotifyChanged(bool needToRefreshItems) + { + if (owner) + { + vint index = owner->IndexOf(this); + if (index != -1) + { + owner->NotifyColumnChanged(index, needToRefreshItems); + } } } @@ -14046,7 +13437,7 @@ ListViewColumn if (text != value) { text = value; - NotifyUpdate(false); + NotifyChanged(false); } } @@ -14058,7 +13449,7 @@ ListViewColumn void ListViewColumn::SetTextProperty(const ItemProperty& value) { textProperty = value; - NotifyUpdate(true); + NotifyChanged(true); } vint ListViewColumn::GetSize() @@ -14071,7 +13462,7 @@ ListViewColumn if (size != value) { size = value; - NotifyUpdate(false); + NotifyChanged(true); } } @@ -14095,7 +13486,7 @@ ListViewColumn if (dropdownPopup != value) { dropdownPopup = value; - NotifyUpdate(false); + NotifyChanged(false); } } @@ -14109,7 +13500,7 @@ ListViewColumn if (sortingState != value) { sortingState = value; - NotifyUpdate(false); + NotifyChanged(false); } } @@ -14119,7 +13510,7 @@ ListViewDataColumns void ListViewDataColumns::NotifyUpdateInternal(vint start, vint count, vint newCount) { - itemProvider->NotifyAllItemsUpdate(); + itemProvider->RefreshAllItems(); } ListViewDataColumns::ListViewDataColumns(IListViewItemProvider* _itemProvider) @@ -14135,11 +13526,14 @@ ListViewDataColumns ListViewColumns ***********************************************************************/ - void ListViewColumns::NotifyColumnUpdated(vint column, bool affectItem) + void ListViewColumns::NotifyColumnRebuilt(vint column) { - affectItemFlag = affectItem; NotifyUpdate(column, 1); - affectItemFlag = true; + } + + void ListViewColumns::NotifyColumnChanged(vint column, bool needToRefreshItems) + { + itemProvider->NotifyColumnChanged(); } void ListViewColumns::AfterInsert(vint index, const Ptr& value) @@ -14156,11 +13550,7 @@ ListViewColumns void ListViewColumns::NotifyUpdateInternal(vint start, vint count, vint newCount) { - itemProvider->NotifyAllColumnsUpdate(); - if (affectItemFlag) - { - itemProvider->NotifyAllItemsUpdate(); - } + itemProvider->NotifyColumnRebuilt(); } ListViewColumns::ListViewColumns(IListViewItemProvider* _itemProvider) @@ -14188,17 +13578,67 @@ ListViewItemProvider ListProvider>::AfterInsert(index, value); } - void ListViewItemProvider::NotifyAllItemsUpdate() + void ListViewItemProvider::RebuildAllItems() { - NotifyUpdate(0, Count()); + InvokeOnItemModified(0, Count(), Count(), true); } - void ListViewItemProvider::NotifyAllColumnsUpdate() + void ListViewItemProvider::RefreshAllItems() { - // TODO: (enumerable) foreach - for (vint i = 0; i < columnItemViewCallbacks.Count(); i++) + InvokeOnItemModified(0, Count(), Count(), false); + } + + void ListViewItemProvider::NotifyColumnRebuilt() + { + for (auto callback : columnItemViewCallbacks) { - columnItemViewCallbacks[i]->OnColumnChanged(); + callback->OnColumnRebuilt(); + } + RefreshAllItems(); + } + + void ListViewItemProvider::NotifyColumnChanged() + { + for (auto callback : columnItemViewCallbacks) + { + callback->OnColumnChanged(true); + } + RefreshAllItems(); + } + + ListViewItemProvider::ListViewItemProvider() + :columns(this) + , dataColumns(this) + { + } + + ListViewItemProvider::~ListViewItemProvider() + { + } + + WString ListViewItemProvider::GetTextValue(vint itemIndex) + { + return GetText(itemIndex); + } + + description::Value ListViewItemProvider::GetBindingValue(vint itemIndex) + { + return Value::From(Get(itemIndex)); + } + + IDescriptable* ListViewItemProvider::RequestView(const WString& identifier) + { + if (identifier == IListViewItemView::Identifier) + { + return (IListViewItemView*)this; + } + else if (identifier == ListViewColumnItemArranger::IColumnItemView::Identifier) + { + return (ListViewColumnItemArranger::IColumnItemView*)this; + } + else + { + return 0; } } @@ -14328,42 +13768,6 @@ ListViewItemProvider } } - WString ListViewItemProvider::GetTextValue(vint itemIndex) - { - return GetText(itemIndex); - } - - description::Value ListViewItemProvider::GetBindingValue(vint itemIndex) - { - return Value::From(Get(itemIndex)); - } - - ListViewItemProvider::ListViewItemProvider() - :columns(this) - , dataColumns(this) - { - } - - ListViewItemProvider::~ListViewItemProvider() - { - } - - IDescriptable* ListViewItemProvider::RequestView(const WString& identifier) - { - if (identifier == IListViewItemView::Identifier) - { - return (IListViewItemView*)this; - } - else if (identifier == ListViewColumnItemArranger::IColumnItemView::Identifier) - { - return (ListViewColumnItemArranger::IColumnItemView*)this; - } - else - { - return 0; - } - } - ListViewDataColumns& ListViewItemProvider::GetDataColumns() { return dataColumns; @@ -14379,9 +13783,16 @@ ListViewItemProvider GuiListView ***********************************************************************/ - void GuiVirtualListView::OnStyleInstalled(vint itemIndex, ItemStyle* style) + void GuiVirtualListView::OnStyleInstalled(vint itemIndex, ItemStyle* style, bool refreshPropertiesOnly) { - GuiListViewBase::OnStyleInstalled(itemIndex, style); + GuiListViewBase::OnStyleInstalled(itemIndex, style, refreshPropertiesOnly); + if (refreshPropertiesOnly) + { + if (auto predefinedItemStyle = dynamic_cast(style)) + { + predefinedItemStyle->RefreshItem(); + } + } } void GuiVirtualListView::OnItemTemplateChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) @@ -14418,31 +13829,31 @@ GuiListView SetStyleAndArranger( [](const Value&) { return new list::SmallIconListViewItemTemplate; }, Ptr(new list::FixedSizeMultiColumnItemArranger) - ); + ); break; case ListViewView::List: SetStyleAndArranger( [](const Value&) { return new list::ListListViewItemTemplate; }, Ptr(new list::FixedHeightMultiColumnItemArranger) - ); + ); break; case ListViewView::Tile: SetStyleAndArranger( [](const Value&) { return new list::TileListViewItemTemplate; }, Ptr(new list::FixedSizeMultiColumnItemArranger) - ); + ); break; case ListViewView::Information: SetStyleAndArranger( [](const Value&) { return new list::InformationListViewItemTemplate; }, Ptr(new list::FixedHeightItemArranger) - ); + ); break; case ListViewView::Detail: SetStyleAndArranger( [](const Value&) { return new list::DetailListViewItemTemplate; }, Ptr(new list::ListViewColumnItemArranger) - ); + ); break; default:; } @@ -14525,7 +13936,6 @@ BigIconListViewItemTemplate void BigIconListViewItemTemplate::OnInitialize() { - DefaultListViewItemTemplate::OnInitialize(); { auto table = new GuiTableComposition; AddChild(table); @@ -14563,6 +13973,12 @@ BigIconListViewItemTemplate } } + FontChanged.AttachMethod(this, &BigIconListViewItemTemplate::OnFontChanged); + FontChanged.Execute(compositions::GuiEventArgs(this)); + } + + void BigIconListViewItemTemplate::OnRefresh() + { if (auto listView = dynamic_cast(listControl)) { auto itemIndex = GetIndex(); @@ -14581,10 +13997,6 @@ BigIconListViewItemTemplate text->SetColor(listView->TypedControlTemplateObject(true)->GetPrimaryTextColor()); } } - - FontChanged.AttachMethod(this, &BigIconListViewItemTemplate::OnFontChanged); - - FontChanged.Execute(compositions::GuiEventArgs(this)); } void BigIconListViewItemTemplate::OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) @@ -14606,7 +14018,6 @@ SmallIconListViewItemTemplate void SmallIconListViewItemTemplate::OnInitialize() { - DefaultListViewItemTemplate::OnInitialize(); { auto table = new GuiTableComposition; AddChild(table); @@ -14642,6 +14053,12 @@ SmallIconListViewItemTemplate } } + FontChanged.AttachMethod(this, &SmallIconListViewItemTemplate::OnFontChanged); + FontChanged.Execute(compositions::GuiEventArgs(this)); + } + + void SmallIconListViewItemTemplate::OnRefresh() + { if (auto listView = dynamic_cast(listControl)) { auto itemIndex = GetIndex(); @@ -14660,10 +14077,6 @@ SmallIconListViewItemTemplate text->SetColor(listView->TypedControlTemplateObject(true)->GetPrimaryTextColor()); } } - - FontChanged.AttachMethod(this, &SmallIconListViewItemTemplate::OnFontChanged); - - FontChanged.Execute(compositions::GuiEventArgs(this)); } void SmallIconListViewItemTemplate::OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) @@ -14685,7 +14098,6 @@ ListListViewItemTemplate void ListListViewItemTemplate::OnInitialize() { - DefaultListViewItemTemplate::OnInitialize(); { auto table = new GuiTableComposition; AddChild(table); @@ -14724,6 +14136,12 @@ ListListViewItemTemplate } } + FontChanged.AttachMethod(this, &ListListViewItemTemplate::OnFontChanged); + FontChanged.Execute(compositions::GuiEventArgs(this)); + } + + void ListListViewItemTemplate::OnRefresh() + { if (auto listView = dynamic_cast(listControl)) { auto itemIndex = GetIndex(); @@ -14742,10 +14160,6 @@ ListListViewItemTemplate text->SetColor(listView->TypedControlTemplateObject(true)->GetPrimaryTextColor()); } } - - FontChanged.AttachMethod(this, &ListListViewItemTemplate::OnFontChanged); - - FontChanged.Execute(compositions::GuiEventArgs(this)); } void ListListViewItemTemplate::OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) @@ -14778,21 +14192,43 @@ TileListViewItemTemplate return textElement.Obj(); } - void TileListViewItemTemplate::ResetTextTable(vint textRows) + void TileListViewItemTemplate::ResetTextTable(vint dataColumnCount) { - textTable->SetRowsAndColumns(textRows + 2, 1); - textTable->SetRowOption(0, GuiCellOption::PercentageOption(0.5)); - for (vint i = 0; iChildren().Count() - 1; i >= 0; i--) { - textTable->SetRowOption(i + 1, GuiCellOption::MinSizeOption()); + if (auto cell = dynamic_cast(textTable->Children()[i])) + { + SafeDeleteComposition(cell); + } + } + + { + vint textRows = dataColumnCount + 1; + textTable->SetRowsAndColumns(textRows + 2, 1); + textTable->SetRowOption(0, GuiCellOption::PercentageOption(0.5)); + for (vint i = 0; i < textRows; i++) + { + textTable->SetRowOption(i + 1, GuiCellOption::MinSizeOption()); + } + textTable->SetRowOption(textRows + 1, GuiCellOption::PercentageOption(0.5)); + textTable->SetColumnOption(0, GuiCellOption::PercentageOption(1.0)); + } + + text = CreateTextElement(0); + text->SetFont(GetFont()); + { + dataTexts.Resize(dataColumnCount); + for (vint i = 0; i < dataColumnCount; i++) + { + dataTexts[i] = CreateTextElement(i + 1); + dataTexts[i]->SetFont(GetFont()); + } } - textTable->SetRowOption(textRows + 1, GuiCellOption::PercentageOption(0.5)); - textTable->SetColumnOption(0, GuiCellOption::PercentageOption(1.0)); } void TileListViewItemTemplate::OnInitialize() { - DefaultListViewItemTemplate::OnInitialize(); { auto table = new GuiTableComposition; AddChild(table); @@ -14824,15 +14260,18 @@ TileListViewItemTemplate textTable = new GuiTableComposition; textTable->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); textTable->SetCellPadding(1); - ResetTextTable(1); textTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); cell->AddChild(textTable); - { - text = CreateTextElement(0); - } } } + ResetTextTable(0); + FontChanged.AttachMethod(this, &TileListViewItemTemplate::OnFontChanged); + FontChanged.Execute(compositions::GuiEventArgs(this)); + } + + void TileListViewItemTemplate::OnRefresh() + { if (auto listView = dynamic_cast(listControl)) { auto itemIndex = GetIndex(); @@ -14847,36 +14286,30 @@ TileListViewItemTemplate { image->SetImage(nullptr); } + + vint subColumnCount = view->GetColumnCount() - 1; + vint dataColumnCount = view->GetDataColumnCount(); + if (dataColumnCount > subColumnCount) dataColumnCount = subColumnCount; + if (dataColumnCount < 0) dataColumnCount = 0; + ResetTextTable(dataColumnCount); + text->SetText(view->GetText(itemIndex)); text->SetColor(listView->TypedControlTemplateObject(true)->GetPrimaryTextColor()); - - vint dataColumnCount = view->GetDataColumnCount(); - ResetTextTable(dataColumnCount + 1); - dataTexts.Resize(dataColumnCount); for (vint i = 0; i < dataColumnCount; i++) { - dataTexts[i] = CreateTextElement(i + 1); dataTexts[i]->SetText(view->GetSubItem(itemIndex, view->GetDataColumn(i))); dataTexts[i]->SetColor(listView->TypedControlTemplateObject(true)->GetSecondaryTextColor()); } } } - - FontChanged.AttachMethod(this, &TileListViewItemTemplate::OnFontChanged); - - FontChanged.Execute(compositions::GuiEventArgs(this)); } void TileListViewItemTemplate::OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) { - text->SetFont(GetFont()); - if (auto view = dynamic_cast(listControl->GetItemProvider()->RequestView(IListViewItemView::Identifier))) + if (text) text->SetFont(GetFont()); + for (auto dataText : dataTexts) { - vint dataColumnCount = view->GetDataColumnCount(); - for (vint i = 0; i < dataColumnCount; i++) - { - dataTexts[i]->SetFont(GetFont()); - } + dataText->SetFont(GetFont()); } } @@ -14892,9 +14325,69 @@ TileListViewItemTemplate InformationListViewItemTemplate ***********************************************************************/ + void InformationListViewItemTemplate::ResetTextTable(vint dataColumnCount) + { + if (dataTexts.Count() == dataColumnCount) return; + for (vint i = textTable->Children().Count() - 1; i >= 0; i--) + { + if (auto cell = dynamic_cast(textTable->Children()[i])) + { + SafeDeleteComposition(cell); + } + } + + { + textTable->SetRowsAndColumns(dataColumnCount + 2, 1); + textTable->SetRowOption(0, GuiCellOption::PercentageOption(0.5)); + for (vint i = 0; i < dataColumnCount; i++) + { + textTable->SetRowOption(i + 1, GuiCellOption::MinSizeOption()); + } + textTable->SetRowOption(dataColumnCount + 1, GuiCellOption::PercentageOption(0.5)); + textTable->SetColumnOption(0, GuiCellOption::PercentageOption(1.0)); + } + + columnTexts.Resize(dataColumnCount); + dataTexts.Resize(dataColumnCount); + + for (vint i = 0; i < dataColumnCount; i++) + { + auto cell = new GuiCellComposition; + textTable->AddChild(cell); + cell->SetSite(i + 1, 0, 1, 1); + + auto dataTable = new GuiTableComposition; + dataTable->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + dataTable->SetRowsAndColumns(1, 2); + dataTable->SetRowOption(0, GuiCellOption::MinSizeOption()); + dataTable->SetColumnOption(0, GuiCellOption::MinSizeOption()); + dataTable->SetColumnOption(1, GuiCellOption::PercentageOption(1.0)); + dataTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); + cell->AddChild(dataTable); + { + auto cell = new GuiCellComposition; + dataTable->AddChild(cell); + cell->SetSite(0, 0, 1, 1); + + columnTexts[i] = GuiSolidLabelElement::Create(); + columnTexts[i]->SetFont(GetFont()); + cell->SetOwnedElement(Ptr(columnTexts[i])); + } + { + auto cell = new GuiCellComposition; + dataTable->AddChild(cell); + cell->SetSite(0, 1, 1, 1); + + dataTexts[i] = GuiSolidLabelElement::Create(); + dataTexts[i]->SetFont(GetFont()); + dataTexts[i]->SetEllipse(true); + cell->SetOwnedElement(Ptr(dataTexts[i])); + } + } + } + void InformationListViewItemTemplate::OnInitialize() { - DefaultListViewItemTemplate::OnInitialize(); { bottomLine = GuiSolidBackgroundElement::Create(); bottomLineComposition = new GuiBoundsComposition; @@ -14948,6 +14441,12 @@ InformationListViewItemTemplate } } + FontChanged.AttachMethod(this, &InformationListViewItemTemplate::OnFontChanged); + FontChanged.Execute(compositions::GuiEventArgs(this)); + } + + void InformationListViewItemTemplate::OnRefresh() + { if (auto listView = dynamic_cast(listControl)) { auto itemIndex = GetIndex(); @@ -14966,61 +14465,24 @@ InformationListViewItemTemplate text->SetColor(listView->TypedControlTemplateObject(true)->GetPrimaryTextColor()); bottomLine->SetColor(listView->TypedControlTemplateObject(true)->GetItemSeparatorColor()); + vint subColumnCount = view->GetColumnCount() - 1; vint dataColumnCount = view->GetDataColumnCount(); - columnTexts.Resize(dataColumnCount); - dataTexts.Resize(dataColumnCount); - - textTable->SetRowsAndColumns(dataColumnCount + 2, 1); - textTable->SetRowOption(0, GuiCellOption::PercentageOption(0.5)); + if (dataColumnCount > subColumnCount) dataColumnCount = subColumnCount; + if (dataColumnCount < 0) dataColumnCount = 0; + ResetTextTable(dataColumnCount); for (vint i = 0; i < dataColumnCount; i++) { - textTable->SetRowOption(i + 1, GuiCellOption::MinSizeOption()); - } - textTable->SetRowOption(dataColumnCount + 1, GuiCellOption::PercentageOption(0.5)); - textTable->SetColumnOption(0, GuiCellOption::PercentageOption(1.0)); - - for (vint i = 0; i < dataColumnCount; i++) - { - auto cell = new GuiCellComposition; - textTable->AddChild(cell); - cell->SetSite(i + 1, 0, 1, 1); - - auto dataTable = new GuiTableComposition; - dataTable->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - dataTable->SetRowsAndColumns(1, 2); - dataTable->SetRowOption(0, GuiCellOption::MinSizeOption()); - dataTable->SetColumnOption(0, GuiCellOption::MinSizeOption()); - dataTable->SetColumnOption(1, GuiCellOption::PercentageOption(1.0)); - dataTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); - cell->AddChild(dataTable); { - auto cell = new GuiCellComposition; - dataTable->AddChild(cell); - cell->SetSite(0, 0, 1, 1); - - columnTexts[i] = GuiSolidLabelElement::Create(); columnTexts[i]->SetText(view->GetColumnText(view->GetDataColumn(i) + 1) + L": "); columnTexts[i]->SetColor(listView->TypedControlTemplateObject(true)->GetSecondaryTextColor()); - cell->SetOwnedElement(Ptr(columnTexts[i])); } { - auto cell = new GuiCellComposition; - dataTable->AddChild(cell); - cell->SetSite(0, 1, 1, 1); - - dataTexts[i]= GuiSolidLabelElement::Create(); - dataTexts[i]->SetEllipse(true); dataTexts[i]->SetText(view->GetSubItem(itemIndex, view->GetDataColumn(i))); dataTexts[i]->SetColor(listView->TypedControlTemplateObject(true)->GetPrimaryTextColor()); - cell->SetOwnedElement(Ptr(dataTexts[i])); } } } } - - FontChanged.AttachMethod(this, &InformationListViewItemTemplate::OnFontChanged); - - FontChanged.Execute(compositions::GuiEventArgs(this)); } void InformationListViewItemTemplate::OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) @@ -15030,14 +14492,14 @@ InformationListViewItemTemplate font.size = (vint)(font.size * 1.2); text->SetFont(font); } - if (auto view = dynamic_cast(listControl->GetItemProvider()->RequestView(IListViewItemView::Identifier))) + + for (auto columnText : columnTexts) { - vint dataColumnCount = view->GetDataColumnCount(); - for (vint i = 0; i < dataColumnCount; i++) - { - columnTexts[i]->SetFont(GetFont()); - dataTexts[i]->SetFont(GetFont()); - } + columnText->SetFont(GetFont()); + } + for (auto dataText : dataTexts) + { + dataText->SetFont(GetFont()); } } @@ -15053,9 +14515,61 @@ InformationListViewItemTemplate DetailListViewItemTemplate ***********************************************************************/ + void DetailListViewItemTemplate::UpdateSubItemSize() + { + if (auto view = dynamic_cast(listControl->GetItemProvider()->RequestView(IListViewItemView::Identifier))) + { + if (columnItemView) + { + vint columnCount = view->GetColumnCount(); + if (columnCount > textTable->GetColumns()) + { + columnCount = textTable->GetColumns(); + } + for (vint i = 0; i < columnCount; i++) + { + textTable->SetColumnOption(i, GuiCellOption::AbsoluteOption(columnItemView->GetColumnSize(i))); + } + } + } + } + + void DetailListViewItemTemplate::ResetTextTable(vint subColumnCount) + { + if (subItemCells.Count() == subColumnCount) return; + + for (auto cell : subItemCells) + { + SafeDeleteComposition(cell); + } + subItemCells.Resize(subColumnCount); + subItemTexts.Resize(subColumnCount); + + textTable->SetRowsAndColumns(1, subColumnCount + 1); + for (vint i = 0; i < subColumnCount; i++) + { + auto cell = new GuiCellComposition; + textTable->AddChild(cell); + cell->SetSite(0, i + 1, 1, 1); + + auto textBounds = new GuiBoundsComposition; + cell->AddChild(textBounds); + textBounds->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElement); + textBounds->SetAlignmentToParent(Margin(8, 0, 8, 0)); + + auto subText = GuiSolidLabelElement::Create(); + subText->SetAlignments(Alignment::Left, Alignment::Center); + subText->SetFont(GetFont()); + subText->SetEllipse(true); + textBounds->SetOwnedElement(Ptr(subText)); + + subItemCells[i] = cell; + subItemTexts[i] = subText; + } + } + void DetailListViewItemTemplate::OnInitialize() { - DefaultListViewItemTemplate::OnInitialize(); columnItemView = dynamic_cast(listControl->GetItemProvider()->RequestView(ListViewColumnItemArranger::IColumnItemView::Identifier)); { @@ -15104,17 +14618,28 @@ DetailListViewItemTemplate text = GuiSolidLabelElement::Create(); text->SetAlignments(Alignment::Left, Alignment::Center); + text->SetFont(GetFont()); text->SetEllipse(true); textBounds->SetOwnedElement(Ptr(text)); } } } + FontChanged.AttachMethod(this, &DetailListViewItemTemplate::OnFontChanged); + FontChanged.Execute(compositions::GuiEventArgs(this)); + } + + void DetailListViewItemTemplate::OnRefresh() + { if (auto listView = dynamic_cast(listControl)) { auto itemIndex = GetIndex(); if (auto view = dynamic_cast(listView->GetItemProvider()->RequestView(IListViewItemView::Identifier))) { + vint subColumnCount = view->GetColumnCount() - 1; + if (subColumnCount < 0) subColumnCount = 0; + ResetTextTable(subColumnCount); + auto imageData = view->GetSmallImage(itemIndex); if (imageData) { @@ -15124,69 +14649,26 @@ DetailListViewItemTemplate { image->SetImage(0); } + text->SetText(view->GetText(itemIndex)); text->SetColor(listView->TypedControlTemplateObject(true)->GetPrimaryTextColor()); - vint columnCount = view->GetColumnCount() - 1; - subItems.Resize(columnCount); - textTable->SetRowsAndColumns(1, columnCount + 1); - for (vint i = 0; i < columnCount; i++) + for (vint i = 0; i < subColumnCount; i++) { - auto cell = new GuiCellComposition; - textTable->AddChild(cell); - cell->SetSite(0, i + 1, 1, 1); - - auto textBounds = new GuiBoundsComposition; - cell->AddChild(textBounds); - textBounds->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElement); - textBounds->SetAlignmentToParent(Margin(8, 0, 8, 0)); - - subItems[i] = GuiSolidLabelElement::Create(); - subItems[i]->SetAlignments(Alignment::Left, Alignment::Center); - subItems[i]->SetFont(text->GetFont()); - subItems[i]->SetEllipse(true); - subItems[i]->SetText(view->GetSubItem(itemIndex, i)); - subItems[i]->SetColor(listView->TypedControlTemplateObject(true)->GetSecondaryTextColor()); - textBounds->SetOwnedElement(Ptr(subItems[i])); - } - OnColumnChanged(); - } - } - - FontChanged.AttachMethod(this, &DetailListViewItemTemplate::OnFontChanged); - - FontChanged.Execute(compositions::GuiEventArgs(this)); - } - - void DetailListViewItemTemplate::OnColumnChanged() - { - if (auto view = dynamic_cast(listControl->GetItemProvider()->RequestView(IListViewItemView::Identifier))) - { - if (columnItemView) - { - vint columnCount = view->GetColumnCount(); - if (columnCount>textTable->GetColumns()) - { - columnCount = textTable->GetColumns(); - } - for (vint i = 0; iSetColumnOption(i, GuiCellOption::AbsoluteOption(columnItemView->GetColumnSize(i))); + subItemTexts[i]->SetText(view->GetSubItem(itemIndex, i)); + subItemTexts[i]->SetColor(listView->TypedControlTemplateObject(true)->GetSecondaryTextColor()); } } } + UpdateSubItemSize(); } void DetailListViewItemTemplate::OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) { text->SetFont(GetFont()); - if (auto view = dynamic_cast(listControl->GetItemProvider()->RequestView(IListViewItemView::Identifier))) + for (auto subText : subItemTexts) { - vint columnCount = view->GetColumnCount() - 1; - for (vint i = 0; i < columnCount; i++) - { - subItems[i]->SetFont(GetFont()); - } + subText->SetFont(GetFont()); } } @@ -15288,6 +14770,10 @@ DefaultTextListItemTemplate CheckedChanged.Execute(compositions::GuiEventArgs(this)); } + void DefaultTextListItemTemplate::OnRefresh() + { + } + void DefaultTextListItemTemplate::OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) { textElement->SetFont(GetFont()); @@ -15315,15 +14801,17 @@ DefaultTextListItemTemplate void DefaultTextListItemTemplate::OnBulletSelectedChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) { +#define ERROR_MESSAGE_PREFIX L"vl::presentation::controls::list::DefaultTextListItemTemplate::OnBulletSelectedChanged(GuiGraphicsComposition*, GuiEventArgs&)#" if (!supressEdit) { if (auto textItemView = dynamic_cast(listControl->GetItemProvider()->RequestView(ITextItemView::Identifier))) { - BeginEditListItem(); + listControl->GetItemProvider()->PushEditing(); textItemView->SetChecked(GetIndex(), bulletButton->GetSelected()); - EndEditListItem(); + CHECK_ERROR(listControl->GetItemProvider()->PopEditing(), ERROR_MESSAGE_PREFIX L"BeginEditListItem and EndEditListItem calls are not paired."); } } +#undef ERROR_MESSAGE_PREFIX } DefaultTextListItemTemplate::DefaultTextListItemTemplate() @@ -15366,6 +14854,22 @@ DefaultRadioTextListItemTemplate TextItem ***********************************************************************/ + void TextItem::NotifyUpdate(bool raiseCheckEvent) + { + if (owner) + { + vint index = owner->IndexOf(this); + owner->InvokeOnItemModified(index, 1, 1, false); + + if (raiseCheckEvent) + { + GuiItemEventArgs arguments; + arguments.itemIndex = index; + owner->listControl->ItemChecked.Execute(arguments); + } + } + } + TextItem::TextItem() :owner(0) , checked(false) @@ -15393,11 +14897,7 @@ TextItem if (text != value) { text = value; - if (owner) - { - vint index = owner->IndexOf(this); - owner->InvokeOnItemModified(index, 1, 1); - } + NotifyUpdate(false); } } @@ -15411,15 +14911,7 @@ TextItem if (checked != value) { checked = value; - if (owner) - { - vint index = owner->IndexOf(this); - owner->InvokeOnItemModified(index, 1, 1); - - GuiItemEventArgs arguments; - arguments.itemIndex = index; - owner->listControl->ItemChecked.Execute(arguments); - } + NotifyUpdate(true); } } @@ -15493,9 +14985,9 @@ GuiTextList { } - void GuiVirtualTextList::OnStyleInstalled(vint itemIndex, ItemStyle* style) + void GuiVirtualTextList::OnStyleInstalled(vint itemIndex, ItemStyle* style, bool refreshPropertiesOnly) { - GuiSelectableListControl::OnStyleInstalled(itemIndex, style); + GuiSelectableListControl::OnStyleInstalled(itemIndex, style, refreshPropertiesOnly); if (auto textItemStyle = dynamic_cast(style)) { textItemStyle->SetTextColor(TypedControlTemplateObject(true)->GetTextColor()); @@ -15504,6 +14996,13 @@ GuiTextList textItemStyle->SetChecked(textItemView->GetChecked(itemIndex)); } } + if (refreshPropertiesOnly) + { + if (auto predefinedItemStyle = dynamic_cast(style)) + { + predefinedItemStyle->RefreshItem(); + } + } } void GuiVirtualTextList::OnItemTemplateChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) @@ -15637,7 +15136,7 @@ NodeItemProvider { } - void NodeItemProvider::OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount) + void NodeItemProvider::OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated) { vint offset = 0; vint base = CalculateNodeVisibilityIndexInternal(parentNode); @@ -15652,7 +15151,7 @@ NodeItemProvider offsetBeforeChildModifieds.Set(parentNode, offset); } - void NodeItemProvider::OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount) + void NodeItemProvider::OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated) { vint offsetBeforeChildModified = 0; { @@ -15698,7 +15197,7 @@ NodeItemProvider firstChildStart += child->CalculateTotalVisibleNodes(); } } - InvokeOnItemModified(firstChildStart, offsetBeforeChildModified, offset); + InvokeOnItemModified(firstChildStart, offsetBeforeChildModified, offset, itemReferenceUpdated); } } @@ -15708,7 +15207,7 @@ NodeItemProvider if (base != -2) { vint visibility = node->CalculateTotalVisibleNodes(); - InvokeOnItemModified(base + 1, 0, visibility - 1); + InvokeOnItemModified(base + 1, 0, visibility - 1, true); } } @@ -15724,7 +15223,7 @@ NodeItemProvider auto child = node->GetChild(i); visibility += child->CalculateTotalVisibleNodes(); } - InvokeOnItemModified(base + 1, visibility, 0); + InvokeOnItemModified(base + 1, visibility, 0, true); } } @@ -15852,7 +15351,7 @@ MemoryNodeProvider::NodeCollection INodeProviderCallback* proxy = ownerProvider->GetCallbackProxyInternal(); if (proxy) { - proxy->OnBeforeItemModified(ownerProvider, start, count, newCount); + proxy->OnBeforeItemModified(ownerProvider, start, count, newCount, true); } } @@ -15872,7 +15371,7 @@ MemoryNodeProvider::NodeCollection INodeProviderCallback* proxy = ownerProvider->GetCallbackProxyInternal(); if (proxy) { - proxy->OnAfterItemModified(ownerProvider, start, count, newCount); + proxy->OnAfterItemModified(ownerProvider, start, count, newCount, true); } } @@ -15959,20 +15458,6 @@ MemoryNodeProvider NotifyDataModified(); } - void MemoryNodeProvider::NotifyDataModified() - { - if(parent) - { - vint index=parent->children.IndexOf(this); - INodeProviderCallback* proxy=GetCallbackProxyInternal(); - if(proxy) - { - proxy->OnBeforeItemModified(parent, index, 1, 1); - proxy->OnAfterItemModified(parent, index, 1, 1); - } - } - } - MemoryNodeProvider::NodeCollection& MemoryNodeProvider::Children() { return children; @@ -16015,6 +15500,20 @@ MemoryNodeProvider return totalVisibleNodeCount; } + void MemoryNodeProvider::NotifyDataModified() + { + if (parent) + { + vint index = parent->children.IndexOf(this); + INodeProviderCallback* proxy = GetCallbackProxyInternal(); + if (proxy) + { + proxy->OnBeforeItemModified(parent, index, 1, 1, false); + proxy->OnAfterItemModified(parent, index, 1, 1, false); + } + } + } + vint MemoryNodeProvider::GetChildCount() { return childCount; @@ -16045,21 +15544,21 @@ NodeRootProviderBase { } - void NodeRootProviderBase::OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount) + void NodeRootProviderBase::OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated) { // TODO: (enumerable) foreach for(vint i=0;iOnBeforeItemModified(parentNode, start, count, newCount); + callbacks[i]->OnBeforeItemModified(parentNode, start, count, newCount, itemReferenceUpdated); } } - void NodeRootProviderBase::OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount) + void NodeRootProviderBase::OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated) { // TODO: (enumerable) foreach for(vint i=0;iOnAfterItemModified(parentNode, start, count, newCount); + callbacks[i]->OnAfterItemModified(parentNode, start, count, newCount, itemReferenceUpdated); } } @@ -16178,11 +15677,11 @@ GuiVirtualTreeListControl { } - void GuiVirtualTreeListControl::OnBeforeItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount) + void GuiVirtualTreeListControl::OnBeforeItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated) { } - void GuiVirtualTreeListControl::OnAfterItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount) + void GuiVirtualTreeListControl::OnAfterItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated) { } @@ -16483,9 +15982,9 @@ GuiVirtualTreeView } } - void GuiVirtualTreeView::OnAfterItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount) + void GuiVirtualTreeView::OnAfterItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated) { - GuiVirtualTreeListControl::OnAfterItemModified(parentNode, start, count, newCount); + GuiVirtualTreeListControl::OnAfterItemModified(parentNode, start, count, newCount, itemReferenceUpdated); SetStyleExpandable(parentNode, parentNode->GetChildCount() > 0); } @@ -16501,9 +16000,9 @@ GuiVirtualTreeView SetStyleExpanding(node, false); } - void GuiVirtualTreeView::OnStyleInstalled(vint itemIndex, ItemStyle* style) + void GuiVirtualTreeView::OnStyleInstalled(vint itemIndex, ItemStyle* style, bool refreshPropertiesOnly) { - GuiVirtualTreeListControl::OnStyleInstalled(itemIndex, style); + GuiVirtualTreeListControl::OnStyleInstalled(itemIndex, style, refreshPropertiesOnly); if (auto treeItemStyle = dynamic_cast(style)) { treeItemStyle->SetTextColor(TypedControlTemplateObject(true)->GetTextColor()); @@ -16528,6 +16027,13 @@ GuiVirtualTreeView } } } + if (refreshPropertiesOnly) + { + if (auto predefinedItemStyle = dynamic_cast(style)) + { + predefinedItemStyle->RefreshItem(); + } + } } GuiVirtualTreeView::GuiVirtualTreeView(theme::ThemeName themeName, Ptr _nodeRootProvider) @@ -16589,7 +16095,6 @@ DefaultTreeItemTemplate void DefaultTreeItemTemplate::OnInitialize() { - templates::GuiTreeItemTemplate::OnInitialize(); SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); table = new GuiTableComposition; @@ -16665,6 +16170,10 @@ DefaultTreeItemTemplate ImageChanged.Execute(compositions::GuiEventArgs(this)); } + void DefaultTreeItemTemplate::OnRefresh() + { + } + void DefaultTreeItemTemplate::OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) { textElement->SetFont(GetFont()); @@ -17805,43 +17314,6 @@ namespace vl using namespace compositions; using namespace elements; -/*********************************************************************** -Item GuiListItemTemplate -***********************************************************************/ - - void GuiListItemTemplate::OnInitialize() - { - } - - GuiListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiListItemTemplate::GuiListItemTemplate() - { - GuiListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiListItemTemplate::~GuiListItemTemplate() - { - FinalizeAggregation(); - } - - void GuiListItemTemplate::BeginEditListItem() - { - listControl->GetItemProvider()->PushEditing(); - } - - void GuiListItemTemplate::EndEditListItem() - { - CHECK_ERROR(listControl->GetItemProvider()->PopEditing(), L"GuiListItemTemplate::EndEditListItem()#BeginEditListItem and EndEditListItem calls are not paired."); - } - - void GuiListItemTemplate::Initialize(controls::GuiListControl* _listControl) - { - CHECK_ERROR(listControl == nullptr, L"GuiListItemTemplate::Initialize(GuiListControl*)#This function can only be called once."); - listControl = _listControl; - OnInitialize(); - } - /*********************************************************************** Template Declarations ***********************************************************************/ @@ -25944,44 +25416,48 @@ namespace vl using namespace compositions; /*********************************************************************** -GalleryItemArranger +GalleryItemArrangerRepeatComposition ***********************************************************************/ namespace ribbon_impl { - void GalleryItemArranger::BeginPlaceItem(bool forMoving, Rect newBounds, vint& newStartIndex) + void GalleryItemArrangerRepeatComposition::Layout_BeginPlaceItem(bool firstPhase, Rect newBounds, vint& newStartIndex) { - if (forMoving) + if (firstPhase) { pim_itemWidth = itemWidth; newStartIndex = firstIndex; } } - void GalleryItemArranger::PlaceItem(bool forMoving, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) + compositions::VirtualRepeatPlaceItemResult GalleryItemArrangerRepeatComposition::Layout_PlaceItem(bool firstPhase, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) { alignmentToParent = Margin(-1, 0, -1, 0); bounds = Rect(Point((index - firstIndex) * itemWidth, 0), Size(itemWidth, 0)); - if (forMoving) + if (firstPhase) { - vint styleWidth = callback->GetStylePreferredSize(GetStyleBounds(style)).x; + vint styleWidth = Layout_GetStylePreferredSize(style).x; if (pim_itemWidth < styleWidth) { pim_itemWidth = styleWidth; } } + + if (bounds.Right() + pim_itemWidth > viewBounds.Right()) + { + return VirtualRepeatPlaceItemResult::HitLastItem; + } + else + { + return VirtualRepeatPlaceItemResult::None; + } } - bool GalleryItemArranger::IsItemOutOfViewBounds(vint index, ItemStyleRecord style, Rect bounds, Rect viewBounds) - { - return bounds.Right() + pim_itemWidth > viewBounds.Right(); - } - - bool GalleryItemArranger::EndPlaceItem(bool forMoving, Rect newBounds, vint newStartIndex) + compositions::VirtualRepeatEndPlaceItemResult GalleryItemArrangerRepeatComposition::Layout_EndPlaceItem(bool firstPhase, Rect newBounds, vint newStartIndex) { bool result = false; - if (forMoving) + if (firstPhase) { if (pim_itemWidth != itemWidth) { @@ -25995,32 +25471,40 @@ GalleryItemArranger UnblockScrollUpdate(); } - return result; + return result ? + VirtualRepeatEndPlaceItemResult::TotalSizeUpdated : + VirtualRepeatEndPlaceItemResult::None; } - void GalleryItemArranger::InvalidateItemSizeCache() + void GalleryItemArrangerRepeatComposition::Layout_EndLayout(bool totalSizeUpdated) + { + } + + void GalleryItemArrangerRepeatComposition::Layout_InvalidateItemSizeCache() { itemWidth = 1; } - Size GalleryItemArranger::OnCalculateTotalSize() + Size GalleryItemArrangerRepeatComposition::Layout_CalculateTotalSize() { return Size(1, 1); } - GalleryItemArranger::GalleryItemArranger(GuiBindableRibbonGalleryList* _owner) + GalleryItemArrangerRepeatComposition::GalleryItemArrangerRepeatComposition(GuiBindableRibbonGalleryList* _owner) :owner(_owner) { } - GalleryItemArranger::~GalleryItemArranger() + GalleryItemArrangerRepeatComposition::~GalleryItemArrangerRepeatComposition() { } - vint GalleryItemArranger::FindItem(vint itemIndex, compositions::KeyDirection key) + vint GalleryItemArrangerRepeatComposition::FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key) { - vint count = itemProvider->Count(); + vint count = itemSource->GetCount(); + if (itemIndex < 0 || itemIndex >= count) return -1; vint groupCount = viewBounds.Width() / itemWidth; + if (groupCount == 0) groupCount = 1; switch (key) { @@ -26051,42 +25535,41 @@ GalleryItemArranger else return itemIndex; } - GuiListControl::EnsureItemVisibleResult GalleryItemArranger::EnsureItemVisible(vint itemIndex) + compositions::VirtualRepeatEnsureItemVisibleResult GalleryItemArrangerRepeatComposition::EnsureItemVisible(vint itemIndex) { - if (callback) + if (!itemSource) return VirtualRepeatEnsureItemVisibleResult::NotMoved; + if (itemIndex < 0 || itemIndex >= itemSource->GetCount()) { - if (0 <= itemIndex && itemIndex < itemProvider->Count()) - { - vint groupCount = viewBounds.Width() / itemWidth; - if (itemIndex < firstIndex) - { - firstIndex = itemIndex; - callback->OnTotalSizeChanged(); - } - else if (itemIndex >= firstIndex + groupCount) - { - firstIndex = itemIndex - groupCount + 1; - callback->OnTotalSizeChanged(); - } - return GuiListControl::EnsureItemVisibleResult::NotMoved; - } - else - { - return GuiListControl::EnsureItemVisibleResult::ItemNotExists; - } + return VirtualRepeatEnsureItemVisibleResult::ItemNotExists; } - return GuiListControl::EnsureItemVisibleResult::NotMoved; + + vint groupCount = viewBounds.Width() / itemWidth; + if (groupCount == 0) groupCount = 1; + + if (itemIndex < firstIndex) + { + firstIndex = itemIndex; + InvalidateLayout(); + } + else if (itemIndex >= firstIndex + groupCount) + { + firstIndex = itemIndex - groupCount + 1; + InvalidateLayout(); + } + return VirtualRepeatEnsureItemVisibleResult::NotMoved; } - Size GalleryItemArranger::GetAdoptedSize(Size expectedSize) + Size GalleryItemArrangerRepeatComposition::GetAdoptedSize(Size expectedSize) { return Size(1, 1); } - void GalleryItemArranger::ScrollUp() + void GalleryItemArrangerRepeatComposition::ScrollUp() { - vint count = itemProvider->Count(); + vint count = itemSource->GetCount(); vint groupCount = viewBounds.Width() / itemWidth; + if (groupCount == 0) groupCount = 1; + if (count > groupCount) { firstIndex -= groupCount; @@ -26094,18 +25577,16 @@ GalleryItemArranger { firstIndex = 0; } - - if (callback) - { - callback->OnTotalSizeChanged(); - } + InvalidateLayout(); } } - void GalleryItemArranger::ScrollDown() + void GalleryItemArrangerRepeatComposition::ScrollDown() { - vint count = itemProvider->Count(); + vint count = itemSource->GetCount(); vint groupCount = viewBounds.Width() / itemWidth; + if (groupCount == 0) groupCount = 1; + if (count > groupCount) { firstIndex += groupCount; @@ -26113,20 +25594,18 @@ GalleryItemArranger { firstIndex = count - groupCount; } - - if (callback) - { - callback->OnTotalSizeChanged(); - } + InvalidateLayout(); } } - void GalleryItemArranger::UnblockScrollUpdate() + void GalleryItemArrangerRepeatComposition::UnblockScrollUpdate() { blockScrollUpdate = false; - vint count = itemProvider->Count(); + vint count = itemSource->GetCount(); vint groupCount = viewBounds.Width() / pim_itemWidth; + if (groupCount == 0) groupCount = 1; + owner->SetScrollUpEnabled(firstIndex > 0); owner->SetScrollDownEnabled(firstIndex + groupCount < count); if (owner->layout->GetItemWidth() != pim_itemWidth) @@ -26136,6 +25615,34 @@ GalleryItemArranger } } +/*********************************************************************** +GalleryItemArranger +***********************************************************************/ + + GalleryItemArranger::GalleryItemArranger(GuiBindableRibbonGalleryList* _owner) + : TBase(new TBase::ArrangerRepeatComposition(this, _owner)) + { + } + + GalleryItemArranger::~GalleryItemArranger() + { + } + + void GalleryItemArranger::ScrollUp() + { + GetRepeatComposition()->ScrollUp(); + } + + void GalleryItemArranger::ScrollDown() + { + GetRepeatComposition()->ScrollDown(); + } + + void GalleryItemArranger::UnblockScrollUpdate() + { + GetRepeatComposition()->UnblockScrollUpdate(); + } + /*********************************************************************** GalleryResponsiveLayout ***********************************************************************/ @@ -27986,77 +27493,11 @@ namespace vl namespace compositions { using namespace reflection::description; - using namespace collections; - using namespace controls; - using namespace elements; /*********************************************************************** GuiRepeatCompositionBase ***********************************************************************/ - void GuiRepeatCompositionBase::OnItemChanged(vint index, vint oldCount, vint newCount) - { - if (itemTemplate && itemSource) - { - for (vint i = oldCount - 1; i >= 0; i--) - { - RemoveItem(index + i); - } - - for (vint i = 0; i < newCount; i++) - { - InstallItem(index + i); - } - } - } - - void GuiRepeatCompositionBase::RemoveItem(vint index) - { - GuiItemEventArgs arguments(dynamic_cast(this)); - arguments.itemIndex = index; - ItemRemoved.Execute(arguments); - - auto item = RemoveRepeatComposition(index); - SafeDeleteComposition(item); - } - - void GuiRepeatCompositionBase::InstallItem(vint index) - { - auto source = itemSource->Get(index); - auto templateItem = itemTemplate(source); - auto item = InsertRepeatComposition(index); - - templateItem->SetAlignmentToParent(Margin(0, 0, 0, 0)); - templateItem->SetContext(itemContext); - item->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - item->AddChild(templateItem); - - GuiItemEventArgs arguments(dynamic_cast(this)); - arguments.itemIndex = index; - ItemInserted.Execute(arguments); - } - - void GuiRepeatCompositionBase::ClearItems() - { - vint count = GetRepeatCompositionCount(); - for (vint i = count - 1; i >= 0; i--) - { - RemoveItem(i); - } - } - - void GuiRepeatCompositionBase::InstallItems() - { - if (itemTemplate && itemSource) - { - vint count = itemSource->GetCount(); - for (vint i = 0; i < count; i++) - { - InstallItem(i); - } - } - } - GuiRepeatCompositionBase::GuiRepeatCompositionBase() { } @@ -28076,11 +27517,11 @@ GuiRepeatCompositionBase void GuiRepeatCompositionBase::SetItemTemplate(ItemStyleProperty value) { - ClearItems(); + OnClearItems(); itemTemplate = value; if (itemTemplate && itemSource) { - InstallItems(); + OnInstallItems(); } } @@ -28096,9 +27537,10 @@ GuiRepeatCompositionBase if (itemChangedHandler) { itemSource.Cast()->ItemChanged.Remove(itemChangedHandler); + itemChangedHandler = {}; } - ClearItems(); + OnClearItems(); itemSource = value.Cast(); if (!itemSource && value) { @@ -28107,7 +27549,7 @@ GuiRepeatCompositionBase if (itemTemplate && itemSource) { - InstallItems(); + OnInstallItems(); } if (auto observable = itemSource.Cast()) { @@ -28126,18 +27568,112 @@ GuiRepeatCompositionBase if (itemContext != value) { itemContext = value; - vint count = GetRepeatCompositionCount(); - for (vint i = 0; i < count; i++) - { - auto rc = GetRepeatComposition(i); - auto it = dynamic_cast(rc->Children()[0]); - it->SetContext(itemContext); - } + OnUpdateContext(); GuiEventArgs arguments(dynamic_cast(this)); ContextChanged.Execute(arguments); } } + } + } +} + +/*********************************************************************** +.\GRAPHICSCOMPOSITION\GUIGRAPHICSREPEATCOMPOSITION_NONVIRTIAL.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + namespace compositions + { + +/*********************************************************************** +GuiNonVirtialRepeatCompositionBase +***********************************************************************/ + + void GuiNonVirtialRepeatCompositionBase::OnItemChanged(vint index, vint oldCount, vint newCount) + { + if (itemTemplate && itemSource) + { + for (vint i = oldCount - 1; i >= 0; i--) + { + RemoveItem(index + i); + } + + for (vint i = 0; i < newCount; i++) + { + InstallItem(index + i); + } + } + } + + void GuiNonVirtialRepeatCompositionBase::OnClearItems() + { + vint count = GetRepeatCompositionCount(); + for (vint i = count - 1; i >= 0; i--) + { + RemoveItem(i); + } + } + + void GuiNonVirtialRepeatCompositionBase::OnInstallItems() + { + if (itemTemplate && itemSource) + { + vint count = itemSource->GetCount(); + for (vint i = 0; i < count; i++) + { + InstallItem(i); + } + } + } + + void GuiNonVirtialRepeatCompositionBase::OnUpdateContext() + { + vint count = GetRepeatCompositionCount(); + for (vint i = 0; i < count; i++) + { + auto rc = GetRepeatComposition(i); + auto it = dynamic_cast(rc->Children()[0]); + it->SetContext(itemContext); + } + } + + void GuiNonVirtialRepeatCompositionBase::RemoveItem(vint index) + { + GuiItemEventArgs arguments(dynamic_cast(this)); + arguments.itemIndex = index; + ItemRemoved.Execute(arguments); + + auto item = RemoveRepeatComposition(index); + SafeDeleteComposition(item); + } + + void GuiNonVirtialRepeatCompositionBase::InstallItem(vint index) + { + auto source = itemSource->Get(index); + auto templateItem = itemTemplate(source); + auto item = InsertRepeatComposition(index); + + templateItem->SetAlignmentToParent(Margin(0, 0, 0, 0)); + templateItem->SetContext(itemContext); + item->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + item->AddChild(templateItem); + + GuiItemEventArgs arguments(dynamic_cast(this)); + arguments.itemIndex = index; + ItemInserted.Execute(arguments); + } + + GuiNonVirtialRepeatCompositionBase::GuiNonVirtialRepeatCompositionBase() + { + } + + GuiNonVirtialRepeatCompositionBase::~GuiNonVirtialRepeatCompositionBase() + { + } /*********************************************************************** GuiRepeatStackComposition @@ -28222,6 +27758,1297 @@ GuiRepeatFlowComposition } } +/*********************************************************************** +.\GRAPHICSCOMPOSITION\GUIGRAPHICSREPEATCOMPOSITION_VIRTUAL.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + namespace compositions + { + using namespace collections; + +/*********************************************************************** +GuiVirtualRepeatCompositionBase +***********************************************************************/ + + void GuiVirtualRepeatCompositionBase::Layout_UpdateIndex(ItemStyleRecord style, vint index) + { + } + + void GuiVirtualRepeatCompositionBase::Layout_UpdateViewBounds(Rect value, bool forceUpdateTotalSize) + { + auto old = GetViewLocation(); + Rect oldBounds = viewBounds; + viewBounds = value; + OnViewChangedInternal(oldBounds, value, forceUpdateTotalSize); + if (old != GetViewLocation()) + { + ViewLocationChanged.Execute(GuiEventArgs(this)); + } + } + + void GuiVirtualRepeatCompositionBase::Layout_UpdateViewLocation(Point value) + { + Layout_UpdateViewBounds(Rect(value, viewBounds.GetSize()), false); + } + + Rect GuiVirtualRepeatCompositionBase::Layout_CalculateBounds(Size parentSize) + { + auto bounds = GuiBoundsComposition::Layout_CalculateBounds(parentSize); + auto size = axis->RealSizeToVirtualSize(bounds.GetSize()); + if (size != viewBounds.GetSize() || itemSourceUpdated) + { + itemSourceUpdated = false; + Layout_UpdateViewBounds(Rect(viewBounds.LeftTop(), size), true); + } + return bounds; + } + + void GuiVirtualRepeatCompositionBase::Layout_ResetLayout() + { + viewBounds = Rect({ 0,0 }, { 0,0 }); + ViewLocationChanged.Execute(GuiEventArgs(this)); + OnResetViewLocation(); + itemSourceUpdated = true; + Layout_InvalidateItemSizeCache(); + AdoptedSizeInvalidated.Execute(GuiEventArgs(this)); + } + + void GuiVirtualRepeatCompositionBase::Layout_SetStyleAlignmentToParent(ItemStyleRecord style, Margin value) + { + style->SetAlignmentToParent(axis->VirtualMarginToRealMargin(value)); + } + + Size GuiVirtualRepeatCompositionBase::Layout_GetStylePreferredSize(ItemStyleRecord style) + { + return axis->RealSizeToVirtualSize(style->GetCachedMinSize()); + } + + Rect GuiVirtualRepeatCompositionBase::Layout_GetStyleBounds(ItemStyleRecord style) + { + return axis->RealRectToVirtualRect(axis->VirtualSizeToRealSize(viewBounds.GetSize()), style->GetCachedBounds()); + } + + void GuiVirtualRepeatCompositionBase::Layout_SetStyleBounds(ItemStyleRecord style, Rect value) + { + return style->SetExpectedBounds(axis->VirtualRectToRealRect(axis->VirtualSizeToRealSize(viewBounds.GetSize()), value)); + } + + void GuiVirtualRepeatCompositionBase::OnItemChanged(vint start, vint oldCount, vint newCount) + { + itemSourceUpdated = true; + + vint visibleCount = visibleStyles.Count(); + vint itemCount = itemSource->GetCount(); + SortedList reusedStyles; + for (vint i = 0; i < visibleCount; i++) + { + vint index = startIndex + i; + if (index >= itemCount) + { + break; + } + + vint oldIndex = -1; + if (index < start) + { + oldIndex = index; + } + else if (index >= start + newCount) + { + oldIndex = index - newCount + oldCount; + } + + if (oldIndex != -1) + { + if (oldIndex >= startIndex && oldIndex < startIndex + visibleCount) + { + auto style = visibleStyles[oldIndex - startIndex]; + reusedStyles.Add(style); + visibleStyles.Add(style); + } + else + { + oldIndex = -1; + } + } + if (oldIndex == -1) + { + visibleStyles.Add(CreateStyle(index)); + } + } + + for (vint i = 0; i < visibleCount; i++) + { + auto style = visibleStyles[i]; + if (!reusedStyles.Contains(style)) + { + DeleteStyle(style); + } + } + + visibleStyles.RemoveRange(0, visibleCount); + for (auto [style, i] : indexed(visibleStyles)) + { + Layout_UpdateIndex(style, startIndex + 1); + } + } + + void GuiVirtualRepeatCompositionBase::OnClearItems() + { + startIndex = 0; + for (auto style : visibleStyles) + { + DeleteStyle(style); + } + visibleStyles.Clear(); + Layout_ResetLayout(); + } + + void GuiVirtualRepeatCompositionBase::OnInstallItems() + { + // nothing needs to be done here + // visibleStyles will be recreated in the next round of layout + } + + void GuiVirtualRepeatCompositionBase::OnUpdateContext() + { + for (auto style : visibleStyles) + { + style->SetContext(itemContext); + } + } + + void GuiVirtualRepeatCompositionBase::OnResetViewLocation() + { + } + + GuiVirtualRepeatCompositionBase::ItemStyleRecord GuiVirtualRepeatCompositionBase::CreateStyleInternal(vint index) + { + auto source = itemSource->Get(index); + auto itemStyle = itemTemplate(source); + itemStyle->SetContext(itemContext); + return itemStyle; + } + + void GuiVirtualRepeatCompositionBase::DeleteStyleInternal(ItemStyleRecord style) + { + SafeDeleteComposition(style); + } + + vint GuiVirtualRepeatCompositionBase::CalculateAdoptedSize(vint expectedSize, vint count, vint itemSize) + { + vint visibleCount = expectedSize / itemSize; + if (count < visibleCount) + { + visibleCount = count; + } + else if (count > visibleCount) + { + vint deltaA = expectedSize - count * itemSize; + vint deltaB = itemSize - deltaA; + if (deltaB < deltaA) + { + visibleCount++; + } + } + return visibleCount * itemSize; + } + + GuiVirtualRepeatCompositionBase::ItemStyleRecord GuiVirtualRepeatCompositionBase::CreateStyle(vint index) + { + auto itemStyle = CreateStyleInternal(index); + AddChild(itemStyle); + itemStyle->ForceCalculateSizeImmediately(); + return itemStyle; + } + + void GuiVirtualRepeatCompositionBase::DeleteStyle(ItemStyleRecord style) + { + DeleteStyleInternal(style); + } + + void GuiVirtualRepeatCompositionBase::OnViewChangedInternal(Rect oldBounds, Rect newBounds, bool forceUpdateTotalSize) + { + bool needToUpdateTotalSize = forceUpdateTotalSize; + + if (itemTemplate && itemSource) + { + while (true) + { + bool needRestart = false; + + vint endIndex = startIndex + visibleStyles.Count() - 1; + vint newStartIndex = 0; + vint itemCount = itemSource->GetCount(); + Layout_BeginPlaceItem(true, newBounds, newStartIndex); + if (newStartIndex < 0) newStartIndex = 0; + + StyleList newVisibleStyles; + for (vint i = newStartIndex; i < itemCount; i++) + { + bool reuseOldStyle = startIndex <= i && i <= endIndex; + auto style = reuseOldStyle ? visibleStyles[i - startIndex] : CreateStyle(i); + newVisibleStyles.Add(style); + + Rect bounds; + Margin alignmentToParent; + auto placeItemResult = Layout_PlaceItem(true, !reuseOldStyle, i, style, newBounds, bounds, alignmentToParent); + + if (placeItemResult != VirtualRepeatPlaceItemResult::None) + { + needRestart = placeItemResult == VirtualRepeatPlaceItemResult::Restart; + break; + } + } + + vint newEndIndex = newStartIndex + newVisibleStyles.Count() - 1; + for (auto [style, i] : indexed(visibleStyles)) + { + vint index = startIndex + i; + if (index < newStartIndex || index > newEndIndex) + { + DeleteStyle(visibleStyles[i]); + } + } + CopyFrom(visibleStyles, newVisibleStyles); + + needToUpdateTotalSize = (Layout_EndPlaceItem(true, newBounds, newStartIndex) == VirtualRepeatEndPlaceItemResult::TotalSizeUpdated) || needToUpdateTotalSize; + startIndex = newStartIndex; + + if (!needRestart) break; + } + + { + vint newStartIndex = startIndex; + Layout_BeginPlaceItem(false, viewBounds, newStartIndex); + + for (auto [style, i] : indexed(visibleStyles)) + { + Rect bounds; + Margin alignmentToParent(-1, -1, -1, -1); + Layout_PlaceItem(false, false, startIndex + i, style, viewBounds, bounds, alignmentToParent); + + bounds.x1 -= viewBounds.x1; + bounds.x2 -= viewBounds.x1; + bounds.y1 -= viewBounds.y1; + bounds.y2 -= viewBounds.y1; + + Layout_SetStyleAlignmentToParent(style, alignmentToParent); + Layout_SetStyleBounds(style, bounds); + } + + needToUpdateTotalSize = (Layout_EndPlaceItem(false, viewBounds, startIndex) == VirtualRepeatEndPlaceItemResult::TotalSizeUpdated) || needToUpdateTotalSize; + } + } + + if (needToUpdateTotalSize) + { + realFullSize = axis->VirtualSizeToRealSize(Layout_CalculateTotalSize()); + TotalSizeChanged.Execute(GuiEventArgs(this)); + AdoptedSizeInvalidated.Execute(GuiEventArgs(this)); + } + Layout_EndLayout(needToUpdateTotalSize); + } + + GuiVirtualRepeatCompositionBase::GuiVirtualRepeatCompositionBase() + { + AxisChanged.SetAssociatedComposition(this); + TotalSizeChanged.SetAssociatedComposition(this); + ViewLocationChanged.SetAssociatedComposition(this); + AdoptedSizeInvalidated.SetAssociatedComposition(this); + } + + GuiVirtualRepeatCompositionBase::~GuiVirtualRepeatCompositionBase() + { + } + + Ptr GuiVirtualRepeatCompositionBase::GetAxis() + { + return axis; + } + + void GuiVirtualRepeatCompositionBase::SetAxis(Ptr value) + { + if (axis != value) + { + OnClearItems(); + if (!value) value = Ptr(new GuiDefaultAxis); + axis = value; + if (itemTemplate && itemSource) + { + OnInstallItems(); + } + AxisChanged.Execute(GuiEventArgs(this)); + } + } + + Size GuiVirtualRepeatCompositionBase::GetTotalSize() + { + return realFullSize; + } + + Point GuiVirtualRepeatCompositionBase::GetViewLocation() + { + return axis->VirtualRectToRealRect(realFullSize, viewBounds).LeftTop(); + } + + void GuiVirtualRepeatCompositionBase::SetViewLocation(Point value) + { + Size realSize = axis->VirtualSizeToRealSize(viewBounds.GetSize()); + Rect realBounds = Rect(value, realSize); + Layout_UpdateViewBounds(axis->RealRectToVirtualRect(realFullSize, realBounds), false); + OnResetViewLocation(); + } + + GuiVirtualRepeatCompositionBase::ItemStyleRecord GuiVirtualRepeatCompositionBase::GetVisibleStyle(vint itemIndex) + { + if (startIndex <= itemIndex && itemIndex < startIndex + visibleStyles.Count()) + { + return visibleStyles[itemIndex - startIndex]; + } + else + { + return nullptr; + } + } + + vint GuiVirtualRepeatCompositionBase::GetVisibleIndex(ItemStyleRecord style) + { + for (auto [s, i] : indexed(visibleStyles)) + { + if (s == style) + { + return i + startIndex; + } + } + return -1; + } + + void GuiVirtualRepeatCompositionBase::ResetLayout(bool recreateVisibleStyles) + { + if (recreateVisibleStyles) + { + OnClearItems(); + } + else + { + Layout_ResetLayout(); + } + } + + void GuiVirtualRepeatCompositionBase::InvalidateLayout() + { + itemSourceUpdated = true; + } + + vint GuiVirtualRepeatCompositionBase::FindItemByRealKeyDirection(vint itemIndex, compositions::KeyDirection key) + { + return FindItemByVirtualKeyDirection(itemIndex, axis->RealKeyDirectionToVirtualKeyDirection(key)); + } + +/*********************************************************************** +GuiRepeatFreeHeightItemComposition +***********************************************************************/ + + void GuiRepeatFreeHeightItemComposition::EnsureOffsetForItem(vint itemIndex) + { + if (heights.Count() == 0) return; + + if (availableOffsetCount == 0) + { + availableOffsetCount = 1; + offsets[0] = 0; + } + + for (vint i = availableOffsetCount; i < itemIndex && i < heights.Count(); i++) + { + offsets[i] = offsets[i - 1] + heights[i - 1]; + } + } + + void GuiRepeatFreeHeightItemComposition::Layout_BeginPlaceItem(bool firstPhase, Rect newBounds, vint& newStartIndex) + { + pi_heightUpdated = false; + EnsureOffsetForItem(heights.Count() - 1); + if (firstPhase) + { + // TODO: (enumerable) foreach:indexed + for (vint i = 0; i < heights.Count(); i++) + { + if (heights[i] == 1 && startIndex <= i && i < startIndex + visibleStyles.Count() && visibleStyles[i - startIndex]) + { + vint h = visibleStyles[i - startIndex]->GetCachedMinSize().y; + if (h > 1) + { + heights[i] = h; + } + } + if (offsets[i] + heights[i] > newBounds.Top()) + { + newStartIndex = i; + break; + } + } + } + } + + VirtualRepeatPlaceItemResult GuiRepeatFreeHeightItemComposition::Layout_PlaceItem(bool firstPhase, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) + { + vint styleHeight = heights[index]; + { + vint newStyleHeight = Layout_GetStylePreferredSize(style).y; + if (!newCreatedStyle || styleHeight < newStyleHeight) + { + styleHeight = newStyleHeight; + } + } + + if (heights[index] != styleHeight) + { + heights[index] = styleHeight; + pi_heightUpdated = true; + } + + vint styleOffset = index == 0 ? 0 : offsets[index - 1] + heights[index - 1]; + if (availableOffsetCount <= index || offsets[index] != styleOffset) + { + offsets[index] = styleOffset; + availableOffsetCount = index; + } + + bounds = Rect(Point(0, offsets[index]), Size(viewBounds.Width(), heights[index])); + + if (bounds.Bottom() >= viewBounds.Bottom()) + { + return VirtualRepeatPlaceItemResult::HitLastItem; + } + else + { + return VirtualRepeatPlaceItemResult::None; + } + } + + VirtualRepeatEndPlaceItemResult GuiRepeatFreeHeightItemComposition::Layout_EndPlaceItem(bool firstPhase, Rect newBounds, vint newStartIndex) + { + return pi_heightUpdated ? VirtualRepeatEndPlaceItemResult::TotalSizeUpdated : VirtualRepeatEndPlaceItemResult::None; + } + + void GuiRepeatFreeHeightItemComposition::Layout_EndLayout(bool totalSizeUpdated) + { + } + + void GuiRepeatFreeHeightItemComposition::Layout_InvalidateItemSizeCache() + { + availableOffsetCount = 0; + for (vint i = 0; i < heights.Count(); i++) + { + heights[i] = 1; + } + } + + Size GuiRepeatFreeHeightItemComposition::Layout_CalculateTotalSize() + { + if (heights.Count() == 0) return Size(0, 0); + EnsureOffsetForItem(heights.Count()); + return Size(viewBounds.Width(), offsets[heights.Count() - 1] + heights[heights.Count() - 1]); + } + + void GuiRepeatFreeHeightItemComposition::OnItemChanged(vint start, vint oldCount, vint newCount) + { + availableOffsetCount = start; + vint itemCount = heights.Count() + newCount - oldCount; + + if (oldCount < newCount) + { + heights.Resize(itemCount); + if (start + newCount < itemCount) + { + memmove(&heights[start + newCount], &heights[start + oldCount], sizeof(vint) * (itemCount - start - newCount)); + } + } + else if (oldCount > newCount) + { + if (start + newCount < itemCount) + { + memmove(&heights[start + newCount], &heights[start + oldCount], sizeof(vint) * (itemCount - start - newCount)); + } + heights.Resize(itemCount); + } + + for (vint i = 0; i < newCount; i++) + { + heights[start + i] = 1; + } + offsets.Resize(itemCount); + + GuiVirtualRepeatCompositionBase::OnItemChanged(start, oldCount, newCount); + } + + void GuiRepeatFreeHeightItemComposition::OnInstallItems() + { + heights.Resize(itemSource->GetCount()); + Layout_InvalidateItemSizeCache(); + + offsets.Resize(itemSource->GetCount()); + EnsureOffsetForItem(heights.Count() - 1); + + GuiVirtualRepeatCompositionBase::OnInstallItems(); + } + + vint GuiRepeatFreeHeightItemComposition::FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key) + { + if (!itemSource) return -1; + vint count = itemSource->GetCount(); + if (itemIndex < 0 || itemIndex >= count) return -1; + + switch (key) + { + case KeyDirection::Up: + itemIndex--; + break; + case KeyDirection::Down: + itemIndex++; + break; + case KeyDirection::Home: + itemIndex = 0; + break; + case KeyDirection::End: + itemIndex = count - 1; + break; + case KeyDirection::PageUp: + itemIndex -= visibleStyles.Count(); + break; + case KeyDirection::PageDown: + itemIndex += visibleStyles.Count(); + break; + default: + return -1; + } + + if (itemIndex < 0) return 0; + else if (itemIndex >= count) return count - 1; + else return itemIndex; + } + + VirtualRepeatEnsureItemVisibleResult GuiRepeatFreeHeightItemComposition::EnsureItemVisible(vint itemIndex) + { + if (!itemSource) return VirtualRepeatEnsureItemVisibleResult::NotMoved; + bool moved = false; + while (true) + { + if (itemIndex < 0 || itemIndex >= itemSource->GetCount()) + { + return VirtualRepeatEnsureItemVisibleResult::ItemNotExists; + } + + EnsureOffsetForItem(itemIndex); + vint offset = viewBounds.y1; + vint top = offsets[itemIndex]; + vint bottom = top + heights[itemIndex]; + vint height = viewBounds.Height(); + + Point location = viewBounds.LeftTop(); + + if (offset >= top && offset + height <= bottom) + { + break; + } + else if (offset > top) + { + location.y = top; + } + else if (offset < bottom - height) + { + location.y = bottom - height; + } + else + { + break; + } + + auto oldLeftTop = viewBounds.LeftTop(); + Layout_UpdateViewLocation(location); + moved |= viewBounds.LeftTop() != oldLeftTop; + if (viewBounds.LeftTop() != location) break; + } + return moved ? VirtualRepeatEnsureItemVisibleResult::Moved : VirtualRepeatEnsureItemVisibleResult::NotMoved; + } + + Size GuiRepeatFreeHeightItemComposition::GetAdoptedSize(Size expectedSize) + { + vint h = expectedSize.x * 2; + if (expectedSize.y < h) expectedSize.y = h; + return expectedSize; + } + +/*********************************************************************** +GuiRepeatFixedHeightItemComposition +***********************************************************************/ + + void GuiRepeatFixedHeightItemComposition::Layout_BeginPlaceItem(bool firstPhase, Rect newBounds, vint& newStartIndex) + { + pi_width = itemWidth; + pi_yoffset = itemYOffset; + if (firstPhase) + { + pi_rowHeight = rowHeight; + newStartIndex = newBounds.Top() / pi_rowHeight; + } + } + + VirtualRepeatPlaceItemResult GuiRepeatFixedHeightItemComposition::Layout_PlaceItem(bool firstPhase, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) + { + if (firstPhase) + { + vint styleHeight = Layout_GetStylePreferredSize(style).y; + if (pi_rowHeight < styleHeight) + { + pi_rowHeight = styleHeight; + } + } + + vint top = pi_yoffset + index * pi_rowHeight; + if (pi_width == -1) + { + alignmentToParent = Margin(0, -1, 0, -1); + bounds = Rect(Point(0, top), Size(0, pi_rowHeight)); + } + else + { + alignmentToParent = Margin(-1, -1, -1, -1); + bounds = Rect(Point(0, top), Size(pi_width, pi_rowHeight)); + } + + if (bounds.Bottom() >= viewBounds.Bottom()) + { + return VirtualRepeatPlaceItemResult::HitLastItem; + } + else + { + return VirtualRepeatPlaceItemResult::None; + } + } + + VirtualRepeatEndPlaceItemResult GuiRepeatFixedHeightItemComposition::Layout_EndPlaceItem(bool firstPhase, Rect newBounds, vint newStartIndex) + { + if (firstPhase) + { + if (pi_rowHeight != rowHeight) + { + rowHeight = pi_rowHeight; + return VirtualRepeatEndPlaceItemResult::TotalSizeUpdated; + } + } + return VirtualRepeatEndPlaceItemResult::None; + } + + void GuiRepeatFixedHeightItemComposition::Layout_EndLayout(bool totalSizeUpdated) + { + } + + void GuiRepeatFixedHeightItemComposition::Layout_InvalidateItemSizeCache() + { + rowHeight = 1; + } + + Size GuiRepeatFixedHeightItemComposition::Layout_CalculateTotalSize() + { + if (!itemSource || itemSource->GetCount() == 0) return Size(0, 0); + + vint width = itemWidth; + if (width == -1) width = viewBounds.Width(); + return Size(width, rowHeight * itemSource->GetCount() + itemYOffset); + } + + vint GuiRepeatFixedHeightItemComposition::FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key) + { + vint count = itemSource->GetCount(); + if (itemIndex < 0 || itemIndex >= count) return -1; + vint groupCount = viewBounds.Height() / rowHeight; + if (groupCount == 0) groupCount = 1; + + switch (key) + { + case KeyDirection::Up: + itemIndex--; + break; + case KeyDirection::Down: + itemIndex++; + break; + case KeyDirection::Home: + itemIndex = 0; + break; + case KeyDirection::End: + itemIndex = count; + break; + case KeyDirection::PageUp: + itemIndex -= groupCount; + break; + case KeyDirection::PageDown: + itemIndex += groupCount; + break; + default: + return -1; + } + + if (itemIndex < 0) return 0; + else if (itemIndex >= count) return count - 1; + else return itemIndex; + } + + VirtualRepeatEnsureItemVisibleResult GuiRepeatFixedHeightItemComposition::EnsureItemVisible(vint itemIndex) + { + if (!itemSource) return VirtualRepeatEnsureItemVisibleResult::NotMoved; + if (itemIndex < 0 || itemIndex >= itemSource->GetCount()) + { + return VirtualRepeatEnsureItemVisibleResult::ItemNotExists; + } + + vint viewY1 = viewBounds.y1 + itemYOffset; + vint viewY2 = viewBounds.y2; + vint itemY1 = itemIndex * rowHeight + itemYOffset; + vint itemY2 = itemY1 + rowHeight; + + if (viewY2 - viewY1 < rowHeight) + { + if (itemY1 < viewY2 && itemY2 > viewY1) + { + return VirtualRepeatEnsureItemVisibleResult::NotMoved; + } + } + else + { + if (itemY1 >= viewY1 && itemY2 <= viewY2) + { + return VirtualRepeatEnsureItemVisibleResult::NotMoved; + } + + if (itemY1 < viewY1 && itemY2 > viewY1) + { + Layout_UpdateViewLocation({ viewBounds.x1,viewBounds.y1 + itemY1 - viewY1 }); + return VirtualRepeatEnsureItemVisibleResult::Moved; + } + + if (itemY1 < viewY2 && itemY2 > viewY2) + { + Layout_UpdateViewLocation({ viewBounds.x1,viewBounds.y1 + itemY2 - viewY2 }); + return VirtualRepeatEnsureItemVisibleResult::Moved; + } + } + + bool up = itemY1 < viewY1; + while (true) + { + if (up) + { + if (itemY1 >= viewY1) break; + Layout_UpdateViewLocation({ viewBounds.x1,viewBounds.y1 + itemY1 - viewY1 }); + } + else + { + if (itemY2 <= viewY2) break; + Layout_UpdateViewLocation({ viewBounds.x1,viewBounds.y1 + itemY2 - viewY2 }); + } + + viewY1 = viewBounds.y1 + itemYOffset; + viewY2 = viewBounds.y2; + itemY1 = itemIndex * rowHeight + itemYOffset; + itemY2 = itemY1 + rowHeight; + } + + return VirtualRepeatEnsureItemVisibleResult::Moved; + } + + Size GuiRepeatFixedHeightItemComposition::GetAdoptedSize(Size expectedSize) + { + if (!itemSource) return expectedSize; + vint y = expectedSize.y - itemYOffset; + vint itemCount = itemSource->GetCount(); + return Size(expectedSize.x, itemYOffset + CalculateAdoptedSize(y, itemCount, rowHeight)); + } + + vint GuiRepeatFixedHeightItemComposition::GetItemWidth() + { + return itemWidth; + } + + void GuiRepeatFixedHeightItemComposition::SetItemWidth(vint value) + { + if (value < -1) value = -1; + if (itemWidth != value) + { + itemWidth = value; + InvalidateLayout(); + } + } + + vint GuiRepeatFixedHeightItemComposition::GetItemYOffset() + { + return itemYOffset; + } + + void GuiRepeatFixedHeightItemComposition::SetItemYOffset(vint value) + { + if (value < 0) value = 0; + if (itemYOffset != value) + { + itemYOffset = value; + InvalidateLayout(); + } + } + +/*********************************************************************** +GuiRepeatFixedSizeMultiColumnItemComposition +***********************************************************************/ + + void GuiRepeatFixedSizeMultiColumnItemComposition::Layout_BeginPlaceItem(bool firstPhase, Rect newBounds, vint& newStartIndex) + { + if (firstPhase) + { + pi_itemSize = itemSize; + vint rows = newBounds.Top() / pi_itemSize.y; + if (rows < 0) rows = 0; + vint cols = newBounds.Width() / pi_itemSize.x; + if (cols < 1) cols = 1; + newStartIndex = rows * cols; + } + } + + VirtualRepeatPlaceItemResult GuiRepeatFixedSizeMultiColumnItemComposition::Layout_PlaceItem(bool firstPhase, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) + { + if (firstPhase) + { + Size styleSize = Layout_GetStylePreferredSize(style); + if (pi_itemSize.x < styleSize.x) pi_itemSize.x = styleSize.x; + if (pi_itemSize.y < styleSize.y) pi_itemSize.y = styleSize.y; + } + + vint rowItems = viewBounds.Width() / pi_itemSize.x; + if (rowItems < 1) rowItems = 1; + + vint row = index / rowItems; + vint col = index % rowItems; + bounds = Rect(Point(col * pi_itemSize.x, row * pi_itemSize.y), pi_itemSize); + + if (col == rowItems - 1 && bounds.Bottom() >= viewBounds.Bottom()) + { + return VirtualRepeatPlaceItemResult::HitLastItem; + } + else + { + return VirtualRepeatPlaceItemResult::None; + } + } + + VirtualRepeatEndPlaceItemResult GuiRepeatFixedSizeMultiColumnItemComposition::Layout_EndPlaceItem(bool firstPhase, Rect newBounds, vint newStartIndex) + { + if (firstPhase) + { + if (pi_itemSize != itemSize) + { + itemSize = pi_itemSize; + return VirtualRepeatEndPlaceItemResult::TotalSizeUpdated; + } + } + return VirtualRepeatEndPlaceItemResult::None; + } + + void GuiRepeatFixedSizeMultiColumnItemComposition::Layout_EndLayout(bool totalSizeUpdated) + { + } + + void GuiRepeatFixedSizeMultiColumnItemComposition::Layout_InvalidateItemSizeCache() + { + itemSize = Size(1, 1); + } + + Size GuiRepeatFixedSizeMultiColumnItemComposition::Layout_CalculateTotalSize() + { + if (!itemSource || itemSource->GetCount() == 0) return Size(0, 0); + + vint rowItems = viewBounds.Width() / itemSize.x; + if (rowItems < 1) rowItems = 1; + vint rows = itemSource->GetCount() / rowItems; + if (itemSource->GetCount() % rowItems) rows++; + + return Size(itemSize.x * rowItems, itemSize.y * rows); + } + + vint GuiRepeatFixedSizeMultiColumnItemComposition::FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key) + { + vint count = itemSource->GetCount(); + if (itemIndex < 0 || itemIndex >= count) return -1; + vint columnCount = viewBounds.Width() / itemSize.x; + if (columnCount == 0) columnCount = 1; + vint rowCount = viewBounds.Height() / itemSize.y; + if (rowCount == 0) rowCount = 1; + + switch (key) + { + case KeyDirection::Up: + itemIndex -= columnCount; + break; + case KeyDirection::Down: + itemIndex += columnCount; + break; + case KeyDirection::Left: + itemIndex--; + break; + case KeyDirection::Right: + itemIndex++; + break; + case KeyDirection::Home: + itemIndex = 0; + break; + case KeyDirection::End: + itemIndex = count; + break; + case KeyDirection::PageUp: + itemIndex -= columnCount * rowCount; + break; + case KeyDirection::PageDown: + itemIndex += columnCount * rowCount; + break; + case KeyDirection::PageLeft: + itemIndex -= itemIndex % columnCount; + break; + case KeyDirection::PageRight: + itemIndex += columnCount - itemIndex % columnCount - 1; + break; + default: + return -1; + } + + if (itemIndex < 0) return 0; + else if (itemIndex >= count) return count - 1; + else return itemIndex; + } + + VirtualRepeatEnsureItemVisibleResult GuiRepeatFixedSizeMultiColumnItemComposition::EnsureItemVisible(vint itemIndex) + { + if (!itemSource) return VirtualRepeatEnsureItemVisibleResult::NotMoved; + if (itemIndex < 0 || itemIndex >= itemSource->GetCount()) + { + return VirtualRepeatEnsureItemVisibleResult::ItemNotExists; + } + bool moved = false; + while (true) + { + vint rowHeight = itemSize.y; + vint columnCount = viewBounds.Width() / itemSize.x; + if (columnCount == 0) columnCount = 1; + vint rowIndex = itemIndex / columnCount; + + vint top = rowIndex * rowHeight; + vint bottom = top + rowHeight; + + if (viewBounds.Height() < rowHeight) + { + if (viewBounds.Top() < bottom && top < viewBounds.Bottom()) + { + break; + } + } + + Point location = viewBounds.LeftTop(); + if (top < viewBounds.Top()) + { + location.y = top; + } + else if (viewBounds.Bottom() < bottom) + { + location.y = bottom - viewBounds.Height(); + } + else + { + break; + } + + auto oldLeftTop = viewBounds.LeftTop(); + Layout_UpdateViewLocation(location); + moved |= viewBounds.LeftTop() != oldLeftTop; + if (viewBounds.LeftTop() != location) break; + } + return moved ? VirtualRepeatEnsureItemVisibleResult::Moved : VirtualRepeatEnsureItemVisibleResult::NotMoved; + } + + Size GuiRepeatFixedSizeMultiColumnItemComposition::GetAdoptedSize(Size expectedSize) + { + if (!itemSource) return expectedSize; + vint count = itemSource->GetCount(); + vint columnCount = viewBounds.Width() / itemSize.x; + vint rowCount = viewBounds.Height() / itemSize.y; + return Size( + CalculateAdoptedSize(expectedSize.x, columnCount, itemSize.x), + CalculateAdoptedSize(expectedSize.y, rowCount, itemSize.y) + ); + } + +/*********************************************************************** +GuiRepeatFixedHeightMultiColumnItemComposition +***********************************************************************/ + + void GuiRepeatFixedHeightMultiColumnItemComposition::FixColumnWidth(vint index) + { + vint c = index / pi_rows - pi_firstColumn; + vint r = index % pi_rows; + vint w = pi_visibleItemWidths[index - pi_firstColumn * pi_rows]; + + if (r == 0) + { + while (pi_visibleColumnWidths.Count() <= c) pi_visibleColumnWidths.Add(0); + while (pi_visibleColumnOffsets.Count() <= c) pi_visibleColumnOffsets.Add(0); + + pi_visibleColumnWidths[c] = w; + if (c == 0) + { + pi_visibleColumnOffsets[c] = 0; + } + else + { + pi_visibleColumnOffsets[c] = pi_visibleColumnOffsets[c - 1] + pi_visibleColumnWidths[c - 1]; + } + } + else + { + if (pi_visibleColumnWidths[c] < w) + { + pi_visibleColumnWidths[c] = w; + } + } + } + + void GuiRepeatFixedHeightMultiColumnItemComposition::Layout_BeginPlaceItem(bool firstPhase, Rect newBounds, vint& newStartIndex) + { + if (firstPhase) + { + pi_firstColumn = newBounds.Width() == 0 ? 0 : newBounds.x1 / newBounds.Width(); + pi_itemHeight = itemHeight; + + pi_visibleItemWidths.Clear(); + pi_visibleColumnWidths.Clear(); + pi_visibleColumnOffsets.Clear(); + pi_rows = newBounds.Height() / itemHeight; + if (pi_rows < 1) pi_rows = 1; + + if (pi_firstColumn < 0) + { + pi_firstColumn = 0; + } + else if (pi_firstColumn * pi_rows >= itemSource->GetCount()) + { + pi_firstColumn = (itemSource->GetCount() + pi_rows - 1) / pi_rows - 1; + } + + newStartIndex = pi_firstColumn * pi_rows; + } + } + + VirtualRepeatPlaceItemResult GuiRepeatFixedHeightMultiColumnItemComposition::Layout_PlaceItem(bool firstPhase, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) + { +#define ERROR_MESSAGE_INTERNAL_ERROR L"vl::presentation::compositions::GuiRepeatFixedHeightMultiColumnItemComposition::Layout_PlaceItem(...)#Internal error." + + vint visibleColumn = index / pi_rows - pi_firstColumn; + vint visibleRow = index % pi_rows; + + if (firstPhase) + { + Size styleSize = Layout_GetStylePreferredSize(style); + if (pi_itemHeight < styleSize.y) + { + pi_itemHeight = styleSize.y; + vint newRows = viewBounds.Height() / pi_itemHeight; + if (newRows != pi_rows) + { + CHECK_ERROR(newRows < pi_rows, ERROR_MESSAGE_INTERNAL_ERROR); + vint oldFirstIndex = pi_firstColumn * pi_rows; + pi_rows = newRows > 0 ? newRows : 1; + vint newFirstIndex = pi_firstColumn * pi_rows; + + if (oldFirstIndex == newFirstIndex) + { + for (vint i = newFirstIndex; i < index; i++) + { + FixColumnWidth(i + newFirstIndex); + } + } + else + { + CHECK_ERROR(oldFirstIndex > newFirstIndex, ERROR_MESSAGE_INTERNAL_ERROR); + return VirtualRepeatPlaceItemResult::Restart; + } + + visibleColumn = index / pi_rows - pi_firstColumn; + visibleRow = index % pi_rows; + } + } + + pi_visibleItemWidths.Add(styleSize.x); + FixColumnWidth(index); + } + + vint x = viewBounds.x1 + pi_visibleColumnOffsets[visibleColumn]; + vint y = pi_itemHeight * visibleRow; + vint w = pi_visibleItemWidths[index - pi_firstColumn * pi_rows]; + bounds = Rect({ x,y }, { w,pi_itemHeight }); + + if (visibleRow == pi_rows - 1 && pi_visibleColumnOffsets[visibleColumn] + pi_visibleColumnWidths[visibleColumn] >= viewBounds.Width()) + { + return VirtualRepeatPlaceItemResult::HitLastItem; + } + else + { + return VirtualRepeatPlaceItemResult::None; + } +#undef ERROR_MESSAGE_INTERNAL_ERROR + } + + VirtualRepeatEndPlaceItemResult GuiRepeatFixedHeightMultiColumnItemComposition::Layout_EndPlaceItem(bool firstPhase, Rect newBounds, vint newStartIndex) + { + if (firstPhase) + { + bool itemHeightUpdated = pi_itemHeight != itemHeight; + + firstColumn = pi_firstColumn; + itemHeight = pi_itemHeight; + if (pi_visibleColumnOffsets.Count() <= 1) + { + fullVisibleColumns = pi_visibleColumnOffsets.Count(); + } + else + { + vint c = pi_visibleColumnOffsets.Count() - 1; + vint x = pi_visibleColumnOffsets[c] + pi_visibleColumnWidths[c]; + if (x <= viewBounds.Width()) + { + fullVisibleColumns = c + 1; + } + else + { + fullVisibleColumns = c; + } + } + + if (itemHeightUpdated) + { + return VirtualRepeatEndPlaceItemResult::TotalSizeUpdated; + } + } + return VirtualRepeatEndPlaceItemResult::None; + } + + void GuiRepeatFixedHeightMultiColumnItemComposition::Layout_EndLayout(bool totalSizeUpdated) + { + } + + void GuiRepeatFixedHeightMultiColumnItemComposition::Layout_InvalidateItemSizeCache() + { + itemHeight = 1; + } + + Size GuiRepeatFixedHeightMultiColumnItemComposition::Layout_CalculateTotalSize() + { + if (!itemSource || itemSource->GetCount() == 0) return Size(0, 0); + + vint rows = viewBounds.Height() / itemHeight; + if (rows < 1) rows = 1; + vint columns = (itemSource->GetCount() + rows - 1) / rows; + + return Size(viewBounds.Width() * (columns + 1), (rows * itemHeight)); + } + + vint GuiRepeatFixedHeightMultiColumnItemComposition::FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key) + { + vint count = itemSource->GetCount(); + if (itemIndex < 0 || itemIndex >= count) return -1; + vint rowCount = viewBounds.Height() / itemHeight; + if (rowCount == 0) rowCount = 1; + + switch (key) + { + case KeyDirection::Up: + itemIndex--; + break; + case KeyDirection::Down: + itemIndex++; + break; + case KeyDirection::Left: + itemIndex -= rowCount; + break; + case KeyDirection::Right: + itemIndex += rowCount; + break; + case KeyDirection::Home: + itemIndex = 0; + break; + case KeyDirection::End: + itemIndex = count; + break; + case KeyDirection::PageUp: + itemIndex -= itemIndex % rowCount; + break; + case KeyDirection::PageDown: + itemIndex += rowCount - itemIndex % rowCount - 1; + break; + default: + return -1; + } + + if (itemIndex < 0) return 0; + else if (itemIndex >= count) return count - 1; + else return itemIndex; + } + + VirtualRepeatEnsureItemVisibleResult GuiRepeatFixedHeightMultiColumnItemComposition::EnsureItemVisible(vint itemIndex) + { + if (!itemSource) return VirtualRepeatEnsureItemVisibleResult::NotMoved; + if (itemIndex < 0 || itemIndex >= itemSource->GetCount()) + { + return VirtualRepeatEnsureItemVisibleResult::ItemNotExists; + } + bool moved = false; + while (true) + { + vint rowCount = viewBounds.Height() / itemHeight; + if (rowCount == 0) rowCount = 1; + vint column = itemIndex / rowCount; + Point location = viewBounds.LeftTop(); + + if (column < firstColumn) + { + location.x = viewBounds.Width() * column; + } + else if (column >= firstColumn + fullVisibleColumns) + { + location.x = viewBounds.Width() * (column - fullVisibleColumns + 1); + } + else + { + break; + } + + auto oldLeftTop = viewBounds.LeftTop(); + Layout_UpdateViewLocation(location); + moved |= viewBounds.LeftTop() != oldLeftTop; + if (viewBounds.LeftTop() != location) break; + } + return moved ? VirtualRepeatEnsureItemVisibleResult::Moved : VirtualRepeatEnsureItemVisibleResult::NotMoved; + } + + Size GuiRepeatFixedHeightMultiColumnItemComposition::GetAdoptedSize(Size expectedSize) + { + if (!itemSource) return expectedSize; + vint count = itemSource->GetCount(); + return Size(expectedSize.x, CalculateAdoptedSize(expectedSize.y, count, itemHeight)); + } + } + } +} + /*********************************************************************** .\GRAPHICSCOMPOSITION\GUIGRAPHICSRESPONSIVECOMPOSITION.CPP ***********************************************************************/ diff --git a/Import/GacUI.h b/Import/GacUI.h index 305a2386..9f72da40 100644 --- a/Import/GacUI.h +++ b/Import/GacUI.h @@ -5073,8 +5073,14 @@ namespace vl class GuiSharedSizeRootComposition; class GuiRepeatCompositionBase; + class GuiNonVirtialRepeatCompositionBase; class GuiRepeatStackComposition; class GuiRepeatFlowComposition; + class GuiVirtualRepeatCompositionBase; + class GuiRepeatFreeHeightItemComposition; + class GuiRepeatFixedHeightItemComposition; + class GuiRepeatFixedSizeMultiColumnItemComposition; + class GuiRepeatFixedHeightMultiColumnItemComposition; } } } @@ -5940,25 +5946,15 @@ namespace vl description::Value itemContext; Ptr itemChangedHandler; - virtual vint GetRepeatCompositionCount() = 0; - virtual GuiGraphicsComposition* GetRepeatComposition(vint index) = 0; - virtual GuiGraphicsComposition* InsertRepeatComposition(vint index) = 0; - virtual GuiGraphicsComposition* RemoveRepeatComposition(vint index) = 0; - - void OnItemChanged(vint index, vint oldCount, vint newCount); - void RemoveItem(vint index); - void InstallItem(vint index); - void ClearItems(); - void InstallItems(); + virtual void OnItemChanged(vint index, vint oldCount, vint newCount) = 0; + virtual void OnClearItems() = 0; + virtual void OnInstallItems() = 0; + virtual void OnUpdateContext() = 0; public: GuiRepeatCompositionBase(); ~GuiRepeatCompositionBase(); - /// An event called after a new item is inserted. - GuiItemNotifyEvent ItemInserted; - /// An event called before a new item is removed. - GuiItemNotifyEvent ItemRemoved; - /// Context changed event. This event raises when the font of the control is changed. + /// Context changed event. This event raises when the context of the composition is changed. GuiNotifyEvent ContextChanged; /// Get the item style provider. @@ -5983,8 +5979,39 @@ namespace vl void SetContext(const description::Value& value); }; +/*********************************************************************** +GuiNonVirtialRepeatCompositionBase +***********************************************************************/ + + /// A base class for all bindable repeat compositions. + class GuiNonVirtialRepeatCompositionBase : public GuiRepeatCompositionBase, public Description + { + protected: + + virtual vint GetRepeatCompositionCount() = 0; + virtual GuiGraphicsComposition* GetRepeatComposition(vint index) = 0; + virtual GuiGraphicsComposition* InsertRepeatComposition(vint index) = 0; + virtual GuiGraphicsComposition* RemoveRepeatComposition(vint index) = 0; + + void OnItemChanged(vint index, vint oldCount, vint newCount) override; + void OnClearItems() override; + void OnInstallItems() override; + void OnUpdateContext() override; + + void RemoveItem(vint index); + void InstallItem(vint index); + public: + GuiNonVirtialRepeatCompositionBase(); + ~GuiNonVirtialRepeatCompositionBase(); + + /// An event called after a new item is inserted. + GuiItemNotifyEvent ItemInserted; + /// An event called before a new item is removed. + GuiItemNotifyEvent ItemRemoved; + }; + /// Bindable stack composition. - class GuiRepeatStackComposition : public GuiStackComposition, public GuiRepeatCompositionBase, public Description + class GuiRepeatStackComposition : public GuiStackComposition, public GuiNonVirtialRepeatCompositionBase, public Description { protected: vint GetRepeatCompositionCount()override; @@ -5998,7 +6025,7 @@ namespace vl }; /// Bindable flow composition. - class GuiRepeatFlowComposition : public GuiFlowComposition, public GuiRepeatCompositionBase, public Description + class GuiRepeatFlowComposition : public GuiFlowComposition, public GuiNonVirtialRepeatCompositionBase, public Description { protected: vint GetRepeatCompositionCount()override; @@ -6010,6 +6037,239 @@ namespace vl GuiRepeatFlowComposition(); ~GuiRepeatFlowComposition(); }; + +/*********************************************************************** +GuiVirtualRepeatCompositionBase +***********************************************************************/ + + /// Result for . + enum class VirtualRepeatEnsureItemVisibleResult + { + /// The requested item does not exist. + ItemNotExists, + /// The view location is moved. + Moved, + /// The view location is not moved. + NotMoved, + }; + + enum class VirtualRepeatPlaceItemResult + { + None, + HitLastItem, + Restart, + }; + + enum class VirtualRepeatEndPlaceItemResult + { + None, + TotalSizeUpdated, + }; + + /// This composition implements most of the common functionality that display a continuing subset of items at a time. + class GuiVirtualRepeatCompositionBase : public GuiBoundsComposition, public GuiRepeatCompositionBase, public Description + { + protected: + using ItemStyleRecord = templates::GuiTemplate*; + using StyleList = collections::List; + + Ptr axis = Ptr(new GuiDefaultAxis); + bool itemSourceUpdated = false; + Size realFullSize; + Rect viewBounds; + vint startIndex = 0; + StyleList visibleStyles; + + virtual void Layout_BeginPlaceItem(bool firstPhase, Rect newBounds, vint& newStartIndex) = 0; + virtual VirtualRepeatPlaceItemResult Layout_PlaceItem(bool firstPhase, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) = 0; + virtual VirtualRepeatEndPlaceItemResult Layout_EndPlaceItem(bool firstPhase, Rect newBounds, vint newStartIndex) = 0; + virtual void Layout_EndLayout(bool totalSizeUpdated) = 0; + virtual void Layout_InvalidateItemSizeCache() = 0; + virtual Size Layout_CalculateTotalSize() = 0; + + virtual void Layout_UpdateIndex(ItemStyleRecord style, vint index); + void Layout_UpdateViewBounds(Rect value, bool forceUpdateTotalSize); + void Layout_UpdateViewLocation(Point value); + Rect Layout_CalculateBounds(Size parentSize) override; + void Layout_ResetLayout(); + + void Layout_SetStyleAlignmentToParent(ItemStyleRecord style, Margin value); + Size Layout_GetStylePreferredSize(ItemStyleRecord style); + Rect Layout_GetStyleBounds(ItemStyleRecord style); + void Layout_SetStyleBounds(ItemStyleRecord style, Rect value); + + void OnItemChanged(vint start, vint oldCount, vint newCount) override; + void OnClearItems() override; + void OnInstallItems() override; + void OnUpdateContext() override; + virtual void OnResetViewLocation(); + virtual ItemStyleRecord CreateStyleInternal(vint index); + virtual void DeleteStyleInternal(ItemStyleRecord style); + + vint CalculateAdoptedSize(vint expectedSize, vint count, vint itemSize); + ItemStyleRecord CreateStyle(vint index); + void DeleteStyle(ItemStyleRecord style); + void OnViewChangedInternal(Rect oldBounds, Rect newBounds, bool forceUpdateTotalSize); + + public: + /// Create the arranger. + GuiVirtualRepeatCompositionBase(); + ~GuiVirtualRepeatCompositionBase(); + + /// Axis changed event. + GuiNotifyEvent AxisChanged; + + /// Total size changed event. This event raises when the total size of the content is changed. + GuiNotifyEvent TotalSizeChanged; + + /// View location changed event. This event raises when the view location of the content is changed. + GuiNotifyEvent ViewLocationChanged; + + /// This event raises when the adopted size of the content is potentially changed. + GuiNotifyEvent AdoptedSizeInvalidated; + + Ptr GetAxis(); + void SetAxis(Ptr value); + + Size GetTotalSize(); + Point GetViewLocation(); + void SetViewLocation(Point value); + + ItemStyleRecord GetVisibleStyle(vint itemIndex); + vint GetVisibleIndex(ItemStyleRecord style); + void ResetLayout(bool recreateVisibleStyles); + void InvalidateLayout(); + + vint FindItemByRealKeyDirection(vint itemIndex, compositions::KeyDirection key); + virtual vint FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key) = 0; + virtual VirtualRepeatEnsureItemVisibleResult EnsureItemVisible(vint itemIndex) = 0; + virtual Size GetAdoptedSize(Size expectedSize) = 0; + }; + + /// Free height repeat composition. This arranger will cache heights of all items. + class GuiRepeatFreeHeightItemComposition : public GuiVirtualRepeatCompositionBase, public Description + { + private: + bool pi_heightUpdated = false; + + protected: + collections::Array heights; + collections::Array offsets; + vint availableOffsetCount = 0; + + void EnsureOffsetForItem(vint itemIndex); + + void Layout_BeginPlaceItem(bool firstPhase, Rect newBounds, vint& newStartIndex) override; + VirtualRepeatPlaceItemResult Layout_PlaceItem(bool firstPhase, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) override; + VirtualRepeatEndPlaceItemResult Layout_EndPlaceItem(bool firstPhase, Rect newBounds, vint newStartIndex) override; + void Layout_EndLayout(bool totalSizeUpdated) override; + void Layout_InvalidateItemSizeCache() override; + Size Layout_CalculateTotalSize() override; + + void OnItemChanged(vint start, vint oldCount, vint newCount) override; + void OnInstallItems() override; + public: + /// Create the arranger. + GuiRepeatFreeHeightItemComposition() = default; + ~GuiRepeatFreeHeightItemComposition() = default; + + vint FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key) override; + VirtualRepeatEnsureItemVisibleResult EnsureItemVisible(vint itemIndex) override; + Size GetAdoptedSize(Size expectedSize) override; + }; + + /// Fixed height item arranger. This arranger lists all item with the same height value. This value is the maximum height of all minimum heights of displayed items. + class GuiRepeatFixedHeightItemComposition : public GuiVirtualRepeatCompositionBase, public Description + { + private: + vint pi_width = 0; + vint pi_yoffset = 0; + vint pi_rowHeight = 0; + + protected: + vint rowHeight = 1; + vint itemWidth = -1; + vint itemYOffset = 0; + + void Layout_BeginPlaceItem(bool firstPhase, Rect newBounds, vint& newStartIndex)override; + VirtualRepeatPlaceItemResult Layout_PlaceItem(bool firstPhase, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent)override; + VirtualRepeatEndPlaceItemResult Layout_EndPlaceItem(bool firstPhase, Rect newBounds, vint newStartIndex)override; + void Layout_EndLayout(bool totalSizeUpdated) override; + void Layout_InvalidateItemSizeCache()override; + Size Layout_CalculateTotalSize()override; + public: + /// Create the arranger. + GuiRepeatFixedHeightItemComposition() = default; + ~GuiRepeatFixedHeightItemComposition() = default; + + vint FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key)override; + VirtualRepeatEnsureItemVisibleResult EnsureItemVisible(vint itemIndex)override; + Size GetAdoptedSize(Size expectedSize)override; + + vint GetItemWidth(); + void SetItemWidth(vint value); + vint GetItemYOffset(); + void SetItemYOffset(vint value); + }; + + /// Fixed size multiple columns item arranger. This arranger adjust all items in multiple lines with the same size. The width is the maximum width of all minimum widths of displayed items. The same to height. + class GuiRepeatFixedSizeMultiColumnItemComposition : public GuiVirtualRepeatCompositionBase, public Description + { + private: + Size pi_itemSize; + + protected: + Size itemSize{ 1,1 }; + + void Layout_BeginPlaceItem(bool firstPhase, Rect newBounds, vint& newStartIndex)override; + VirtualRepeatPlaceItemResult Layout_PlaceItem(bool firstPhase, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent)override; + VirtualRepeatEndPlaceItemResult Layout_EndPlaceItem(bool firstPhase, Rect newBounds, vint newStartIndex)override; + void Layout_EndLayout(bool totalSizeUpdated) override; + void Layout_InvalidateItemSizeCache()override; + Size Layout_CalculateTotalSize()override; + public: + /// Create the arranger. + GuiRepeatFixedSizeMultiColumnItemComposition() = default; + ~GuiRepeatFixedSizeMultiColumnItemComposition() = default; + + vint FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key)override; + VirtualRepeatEnsureItemVisibleResult EnsureItemVisible(vint itemIndex)override; + Size GetAdoptedSize(Size expectedSize)override; + }; + + /// Fixed size multiple columns item arranger. This arranger adjust all items in multiple columns with the same height. The height is the maximum width of all minimum height of displayed items. Each item will displayed using its minimum width. + class GuiRepeatFixedHeightMultiColumnItemComposition : public GuiVirtualRepeatCompositionBase, public Description + { + private: + collections::List pi_visibleItemWidths; + collections::List pi_visibleColumnWidths; + collections::List pi_visibleColumnOffsets; + vint pi_rows = 0; + vint pi_firstColumn = 0; + vint pi_itemHeight = 0; + + protected: + vint firstColumn = 0; + vint fullVisibleColumns = 0; + vint itemHeight = 1; + + void FixColumnWidth(vint index); + + void Layout_BeginPlaceItem(bool firstPhase, Rect newBounds, vint& newStartIndex)override; + VirtualRepeatPlaceItemResult Layout_PlaceItem(bool firstPhase, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent)override; + VirtualRepeatEndPlaceItemResult Layout_EndPlaceItem(bool firstPhase, Rect newBounds, vint newStartIndex)override; + void Layout_EndLayout(bool totalSizeUpdated) override; + void Layout_InvalidateItemSizeCache()override; + Size Layout_CalculateTotalSize()override; + public: + /// Create the arranger. + GuiRepeatFixedHeightMultiColumnItemComposition() = default; + ~GuiRepeatFixedHeightMultiColumnItemComposition() = default; + + vint FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key)override; + VirtualRepeatEnsureItemVisibleResult EnsureItemVisible(vint itemIndex)override; + Size GetAdoptedSize(Size expectedSize)override; + }; } } } @@ -12797,37 +13057,13 @@ Templates F(GuiRibbonGalleryListTemplate, GuiRibbonGalleryTemplate) \ #define GUI_ITEM_TEMPLATE_DECL(F)\ + F(GuiListItemTemplate, GuiTemplate) \ F(GuiTextListItemTemplate, GuiListItemTemplate) \ F(GuiTreeItemTemplate, GuiTextListItemTemplate) \ F(GuiGridCellTemplate, GuiControlTemplate) \ F(GuiGridVisualizerTemplate, GuiGridCellTemplate) \ F(GuiGridEditorTemplate, GuiGridCellTemplate) \ -/*********************************************************************** -GuiListItemTemplate -***********************************************************************/ - - class GuiListItemTemplate : public GuiTemplate, public AggregatableDescription - { - protected: - controls::GuiListControl* listControl = nullptr; - - virtual void OnInitialize(); - public: - GuiListItemTemplate(); - ~GuiListItemTemplate(); - -#define GuiListItemTemplate_PROPERTIES(F)\ - F(GuiListItemTemplate, bool, Selected, false)\ - F(GuiListItemTemplate, vint, Index, 0)\ - - GuiListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) - - void BeginEditListItem(); - void EndEditListItem(); - void Initialize(controls::GuiListControl* _listControl); - }; - /*********************************************************************** Control Template ***********************************************************************/ @@ -12962,10 +13198,11 @@ Control Template /*********************************************************************** Item Template ***********************************************************************/ - + #define GuiListItemTemplate_PROPERTIES(F)\ F(GuiListItemTemplate, bool, Selected, false)\ F(GuiListItemTemplate, vint, Index, 0)\ + F(GuiListItemTemplate, controls::GuiListControl*, AssociatedListControl, nullptr)\ #define GuiTextListItemTemplate_PROPERTIES(F)\ F(GuiTextListItemTemplate, Color, TextColor, {})\ @@ -13655,6 +13892,8 @@ List Control class IItemProvider; using ItemStyle = templates::GuiListItemTemplate; + using ItemStyleBounds = templates::GuiTemplate; + using ItemStyleRecord = collections::Pair; using ItemStyleProperty = TemplateProperty; //----------------------------------------------------------- @@ -13672,45 +13911,39 @@ List Control /// The index of the first modified item. /// The number of all modified items. /// The number of new items. If items are inserted or removed, newCount may not equals to count. - virtual void OnItemModified(vint start, vint count, vint newCount)=0; + /// True when items are replaced, false when only content in items are updated. + virtual void OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated)=0; }; /// Item arranger callback. Item arrangers use this interface to communicate with the list control. When setting positions for item controls, functions in this callback object is suggested to call because they use the result from the [T:vl.presentation.controls.compositions.IGuiAxis]. class IItemArrangerCallback : public virtual IDescriptable, public Description { public: - /// Request an item control representing an item in the item provider. This function is suggested to call when an item control gets into the visible area. + /// Create an item control representing an item in the item provider. This function is suggested to call when an item control gets into the visible area. /// The item control. /// The index of the item in the item provider. - /// The composition that represents the item. Set to null if the item style is expected to be put directly into the list control. - virtual ItemStyle* RequestItem(vint itemIndex, compositions::GuiBoundsComposition* itemComposition)=0; + virtual ItemStyle* CreateItem(vint itemIndex)=0; + /// Get the most outer bounds from an item control. + /// The most outer bounds. When The item control. + virtual ItemStyleBounds* GetItemBounds(ItemStyle* style)=0; + /// Get the item control from its most outer bounds. + /// The item control. + /// The most outer bounds. + virtual ItemStyle* GetItem(ItemStyleBounds* bounds)=0; /// Release an item control. This function is suggested to call when an item control gets out of the visible area. /// The item control. virtual void ReleaseItem(ItemStyle* style)=0; /// Update the view location. The view location is the left-top position in the logic space of the list control. /// The new view location. virtual void SetViewLocation(Point value)=0; - /// Get the preferred size of an item control. - /// The preferred size of an item control. - /// The item control. - virtual Size GetStylePreferredSize(compositions::GuiBoundsComposition* style)=0; - /// Set the alignment of an item control. - /// The item control. - /// The new alignment. - virtual void SetStyleAlignmentToParent(compositions::GuiBoundsComposition* style, Margin margin)=0; - /// Get the bounds of an item control. - /// The bounds of an item control. - /// The item control. - virtual Rect GetStyleBounds(compositions::GuiBoundsComposition* style)=0; - /// Set the bounds of an item control. - /// The item control. - /// The new bounds. - virtual void SetStyleBounds(compositions::GuiBoundsComposition* style, Rect bounds)=0; /// Get the that directly contains item controls. /// The that directly contains item controls. virtual compositions::GuiGraphicsComposition* GetContainerComposition()=0; /// Notify the list control that the total size of all item controls are changed. virtual void OnTotalSizeChanged()=0; + /// Notify the list control that the adopted size of the list control is changed. + virtual void OnAdoptedSizeChanged()=0; }; //----------------------------------------------------------- @@ -13806,7 +14039,7 @@ List Control /// The item index that is found. Returns -1 if this operation failed. /// The base item index. /// The key direction. - virtual vint FindItem(vint itemIndex, compositions::KeyDirection key) = 0; + virtual vint FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key) = 0; /// Adjust the view location to make an item visible. /// Returns the result of this operation. /// The item index of the item to be made visible. @@ -13825,17 +14058,14 @@ List Control class ItemCallback : public IItemProviderCallback, public IItemArrangerCallback { - typedef compositions::IGuiGraphicsEventHandler BoundsChangedHandler; - typedef collections::List StyleList; - typedef collections::Dictionary> InstalledStyleMap; + typedef collections::Dictionary InstalledStyleMap; protected: GuiListControl* listControl = nullptr; IItemProvider* itemProvider = nullptr; InstalledStyleMap installedStyles; - Ptr InstallStyle(ItemStyle* style, vint itemIndex, compositions::GuiBoundsComposition* itemComposition); - ItemStyle* UninstallStyle(vint index); - void OnStyleCachedBoundsChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); + ItemStyleRecord InstallStyle(ItemStyle* style, vint itemIndex); + ItemStyleRecord UninstallStyle(vint index); public: ItemCallback(GuiListControl* _listControl); ~ItemCallback(); @@ -13843,16 +14073,15 @@ List Control void ClearCache(); void OnAttached(IItemProvider* provider)override; - void OnItemModified(vint start, vint count, vint newCount)override; - ItemStyle* RequestItem(vint itemIndex, compositions::GuiBoundsComposition* itemComposition)override; + void OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated)override; + ItemStyle* CreateItem(vint itemIndex)override; + ItemStyleBounds* GetItemBounds(ItemStyle* style)override; + ItemStyle* GetItem(ItemStyleBounds* bounds)override; void ReleaseItem(ItemStyle* style)override; void SetViewLocation(Point value)override; - Size GetStylePreferredSize(compositions::GuiBoundsComposition* style)override; - void SetStyleAlignmentToParent(compositions::GuiBoundsComposition* style, Margin margin)override; - Rect GetStyleBounds(compositions::GuiBoundsComposition* style)override; - void SetStyleBounds(compositions::GuiBoundsComposition* style, Rect bounds)override; compositions::GuiGraphicsComposition* GetContainerComposition()override; void OnTotalSizeChanged()override; + void OnAdoptedSizeChanged()override; }; //----------------------------------------------------------- @@ -13867,8 +14096,8 @@ List Control Size fullSize; bool displayItemBackground = true; - virtual void OnItemModified(vint start, vint count, vint newCount); - virtual void OnStyleInstalled(vint itemIndex, ItemStyle* style); + virtual void OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated); + virtual void OnStyleInstalled(vint itemIndex, ItemStyle* style, bool refreshPropertiesOnly); virtual void OnStyleUninstalled(ItemStyle* style); void OnRenderTargetChanged(elements::IGuiGraphicsRenderTarget* renderTarget)override; @@ -14005,8 +14234,8 @@ Selectable List Control vint selectedItemIndexEnd; void NotifySelectionChanged(); - void OnItemModified(vint start, vint count, vint newCount)override; - void OnStyleInstalled(vint itemIndex, ItemStyle* style)override; + void OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated)override; + void OnStyleInstalled(vint itemIndex, ItemStyle* style, bool refreshPropertiesOnly)override; virtual void OnItemSelectionChanged(vint itemIndex, bool value); virtual void OnItemSelectionCleared(); void OnItemLeftButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiItemMouseEventArgs& arguments); @@ -14083,7 +14312,7 @@ Predefined ItemProvider vint editingCounter = 0; bool callingOnItemModified = false; - virtual void InvokeOnItemModified(vint start, vint count, vint newCount); + virtual void InvokeOnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated); public: /// Create the item provider. ItemProviderBase(); @@ -14102,7 +14331,7 @@ Predefined ItemProvider protected: void NotifyUpdateInternal(vint start, vint count, vint newCount)override { - InvokeOnItemModified(start, count, newCount); + InvokeOnItemModified(start, count, newCount, true); } public: vint Count()override @@ -14110,6 +14339,39 @@ Predefined ItemProvider return this->items.Count(); } }; + + template + class PredefinedListItemTemplate : public TBase + { + protected: + GuiListControl* listControl = nullptr; + virtual void OnInitialize() = 0; + virtual void OnRefresh() = 0; + + void OnAssociatedListControlChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { +#define ERROR_MESSAGE_PREFIX L"vl::presentation::controls::list::PredefinedListItemTemplate::OnAssociatedListControlChanged(GuiGraphicsComposition*, GuiEventArgs&)#" + auto value = this->GetAssociatedListControl(); + CHECK_ERROR(value && (!listControl || listControl == value), ERROR_MESSAGE_PREFIX L"GuiListItemTemplate::SetAssociatedListControl cannot be invoked using a different list control instance."); + if (!listControl) + { + listControl = value; + OnInitialize(); + OnRefresh(); + } +#undef ERROR_MESSAGE_PREFIX + } + public: + PredefinedListItemTemplate() + { + this->AssociatedListControlChanged.AttachMethod(this, &PredefinedListItemTemplate::OnAssociatedListControlChanged); + } + + void RefreshItem() + { + OnRefresh(); + } + }; } } } @@ -14146,7 +14408,6 @@ Predefined ItemArranger namespace list { - /// Ranged item arranger. This arranger implements most of the common functionality for those arrangers that display a continuing subset of item at a time. class RangedItemArrangerBase : public Object, virtual public GuiListControl::IItemArranger, public Description { @@ -14154,163 +14415,124 @@ Predefined ItemArranger using ItemStyleRecord = collections::Pair; typedef collections::List StyleList; - GuiListControl* listControl = nullptr; - GuiListControl::IItemArrangerCallback* callback = nullptr; - GuiListControl::IItemProvider* itemProvider = nullptr; + GuiListControl* listControl = nullptr; + GuiListControl::IItemArrangerCallback* callback = nullptr; + GuiListControl::IItemProvider* itemProvider = nullptr; + Ptr itemSource; + compositions::GuiVirtualRepeatCompositionBase* repeat = nullptr; - bool suppressOnViewChanged = false; - Rect viewBounds; - vint startIndex = 0; - StyleList visibleStyles; - - protected: - - void InvalidateAdoptedSize(); - vint CalculateAdoptedSize(vint expectedSize, vint count, vint itemSize); - ItemStyleRecord CreateStyle(vint index); - void DeleteStyle(ItemStyleRecord style); - compositions::GuiBoundsComposition* GetStyleBounds(ItemStyleRecord style); - void ClearStyles(); - void OnViewChangedInternal(Rect oldBounds, Rect newBounds); - virtual void RearrangeItemBounds(); - - virtual void BeginPlaceItem(bool forMoving, Rect newBounds, vint& newStartIndex) = 0; - virtual void PlaceItem(bool forMoving, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent) = 0; - virtual bool IsItemOutOfViewBounds(vint index, ItemStyleRecord style, Rect bounds, Rect viewBounds) = 0; - virtual bool EndPlaceItem(bool forMoving, Rect newBounds, vint newStartIndex) = 0; - virtual void InvalidateItemSizeCache() = 0; - virtual Size OnCalculateTotalSize() = 0; + void OnViewLocationChanged(compositions::GuiGraphicsComposition* composition, compositions::GuiEventArgs& arguments); + void OnTotalSizeChanged(compositions::GuiGraphicsComposition* composition, compositions::GuiEventArgs& arguments); + void OnAdoptedSizeInvalidated(compositions::GuiGraphicsComposition* composition, compositions::GuiEventArgs& arguments); public: /// Create the arranger. - RangedItemArrangerBase(); + /// A repeat composition to implement the item layout. It will be deleted when the item arranger is deleted. + RangedItemArrangerBase(compositions::GuiVirtualRepeatCompositionBase* _repeat); ~RangedItemArrangerBase(); - void OnAttached(GuiListControl::IItemProvider* provider)override; - void OnItemModified(vint start, vint count, vint newCount)override; - void AttachListControl(GuiListControl* value)override; - void DetachListControl()override; - GuiListControl::IItemArrangerCallback* GetCallback()override; - void SetCallback(GuiListControl::IItemArrangerCallback* value)override; - Size GetTotalSize()override; - GuiListControl::ItemStyle* GetVisibleStyle(vint itemIndex)override; - vint GetVisibleIndex(GuiListControl::ItemStyle* style)override; - void ReloadVisibleStyles()override; - void OnViewChanged(Rect bounds)override; + void OnAttached(GuiListControl::IItemProvider* provider)override; + void OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated)override; + void AttachListControl(GuiListControl* value)override; + void DetachListControl()override; + GuiListControl::IItemArrangerCallback* GetCallback()override; + void SetCallback(GuiListControl::IItemArrangerCallback* value)override; + Size GetTotalSize()override; + GuiListControl::ItemStyle* GetVisibleStyle(vint itemIndex)override; + vint GetVisibleIndex(GuiListControl::ItemStyle* style)override; + void ReloadVisibleStyles()override; + void OnViewChanged(Rect bounds)override; + vint FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key) override; + GuiListControl::EnsureItemVisibleResult EnsureItemVisible(vint itemIndex) override; + Size GetAdoptedSize(Size expectedSize) override; }; - /// Free height item arranger. This arranger will cache heights of all items. - class FreeHeightItemArranger : public RangedItemArrangerBase, public Description + + template + class VirtualRepeatRangedItemArrangerBase : public RangedItemArrangerBase { - private: - bool pim_heightUpdated = false; + using TArranger = VirtualRepeatRangedItemArrangerBase; + protected: + class ArrangerRepeatComposition : public TVirtualRepeatComposition + { + protected: + TArranger* arranger = nullptr; + + void Layout_UpdateIndex(templates::GuiTemplate* style, vint index) override + { + auto itemStyle = arranger->callback->GetItem(style); + itemStyle->SetIndex(index); + } + + templates::GuiTemplate* CreateStyleInternal(vint index) override + { + auto itemStyle = arranger->callback->CreateItem(index); + return arranger->callback->GetItemBounds(itemStyle); + } + + void DeleteStyleInternal(templates::GuiTemplate* style) override + { + auto itemStyle = arranger->callback->GetItem(style); + arranger->callback->ReleaseItem(itemStyle); + } + public: + template + ArrangerRepeatComposition(TArranger* _arranger, TArgs&& ...args) + : TVirtualRepeatComposition(std::forward(args)...) + , arranger(_arranger) + { + } + }; + + TVirtualRepeatComposition* GetRepeatComposition() + { + return dynamic_cast(repeat); + } protected: - collections::Array heights; - collections::Array offsets; - vint availableOffsetCount = 0; + VirtualRepeatRangedItemArrangerBase() + : RangedItemArrangerBase(new ArrangerRepeatComposition(this)) + { + } - void EnsureOffsetForItem(vint itemIndex); + VirtualRepeatRangedItemArrangerBase(ArrangerRepeatComposition* _repeat) + : RangedItemArrangerBase(_repeat) + { + } + }; - void BeginPlaceItem(bool forMoving, Rect newBounds, vint& newStartIndex)override; - void PlaceItem(bool forMoving, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent)override; - bool IsItemOutOfViewBounds(vint index, ItemStyleRecord style, Rect bounds, Rect viewBounds)override; - bool EndPlaceItem(bool forMoving, Rect newBounds, vint newStartIndex)override; - void InvalidateItemSizeCache()override; - Size OnCalculateTotalSize()override; + /// Free height item arranger. This arranger will cache heights of all items. + class FreeHeightItemArranger : public VirtualRepeatRangedItemArrangerBase, public Description + { public: /// Create the arranger. FreeHeightItemArranger(); ~FreeHeightItemArranger(); - - void OnAttached(GuiListControl::IItemProvider* provider)override; - void OnItemModified(vint start, vint count, vint newCount)override; - vint FindItem(vint itemIndex, compositions::KeyDirection key)override; - GuiListControl::EnsureItemVisibleResult EnsureItemVisible(vint itemIndex)override; - Size GetAdoptedSize(Size expectedSize)override; }; /// Fixed height item arranger. This arranger lists all item with the same height value. This value is the maximum height of all minimum heights of displayed items. - class FixedHeightItemArranger : public RangedItemArrangerBase, public Description + class FixedHeightItemArranger : public VirtualRepeatRangedItemArrangerBase, public Description { - private: - vint pi_width = 0; - vint pim_rowHeight = 0; - - protected: - vint rowHeight = 1; - - virtual vint GetWidth(); - virtual vint GetYOffset(); - - void BeginPlaceItem(bool forMoving, Rect newBounds, vint& newStartIndex)override; - void PlaceItem(bool forMoving, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent)override; - bool IsItemOutOfViewBounds(vint index, ItemStyleRecord style, Rect bounds, Rect viewBounds)override; - bool EndPlaceItem(bool forMoving, Rect newBounds, vint newStartIndex)override; - void InvalidateItemSizeCache()override; - Size OnCalculateTotalSize()override; public: /// Create the arranger. FixedHeightItemArranger(); ~FixedHeightItemArranger(); - - vint FindItem(vint itemIndex, compositions::KeyDirection key)override; - GuiListControl::EnsureItemVisibleResult EnsureItemVisible(vint itemIndex)override; - Size GetAdoptedSize(Size expectedSize)override; }; /// Fixed size multiple columns item arranger. This arranger adjust all items in multiple lines with the same size. The width is the maximum width of all minimum widths of displayed items. The same to height. - class FixedSizeMultiColumnItemArranger : public RangedItemArrangerBase, public Description + class FixedSizeMultiColumnItemArranger : public VirtualRepeatRangedItemArrangerBase, public Description { - private: - Size pim_itemSize; - - protected: - Size itemSize{ 1,1 }; - - void CalculateRange(Size itemSize, Rect bounds, vint count, vint& start, vint& end); - - void BeginPlaceItem(bool forMoving, Rect newBounds, vint& newStartIndex)override; - void PlaceItem(bool forMoving, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent)override; - bool IsItemOutOfViewBounds(vint index, ItemStyleRecord style, Rect bounds, Rect viewBounds)override; - bool EndPlaceItem(bool forMoving, Rect newBounds, vint newStartIndex)override; - void InvalidateItemSizeCache()override; - Size OnCalculateTotalSize()override; public: /// Create the arranger. FixedSizeMultiColumnItemArranger(); ~FixedSizeMultiColumnItemArranger(); - - vint FindItem(vint itemIndex, compositions::KeyDirection key)override; - GuiListControl::EnsureItemVisibleResult EnsureItemVisible(vint itemIndex)override; - Size GetAdoptedSize(Size expectedSize)override; }; /// Fixed size multiple columns item arranger. This arranger adjust all items in multiple columns with the same height. The height is the maximum width of all minimum height of displayed items. Each item will displayed using its minimum width. - class FixedHeightMultiColumnItemArranger : public RangedItemArrangerBase, public Description + class FixedHeightMultiColumnItemArranger : public VirtualRepeatRangedItemArrangerBase, public Description { - private: - vint pi_currentWidth = 0; - vint pi_totalWidth = 0; - vint pim_itemHeight = 0; - - protected: - vint itemHeight = 1; - - void CalculateRange(vint itemHeight, Rect bounds, vint& rows, vint& startColumn); - - void BeginPlaceItem(bool forMoving, Rect newBounds, vint& newStartIndex)override; - void PlaceItem(bool forMoving, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent)override; - bool IsItemOutOfViewBounds(vint index, ItemStyleRecord style, Rect bounds, Rect viewBounds)override; - bool EndPlaceItem(bool forMoving, Rect newBounds, vint newStartIndex)override; - void InvalidateItemSizeCache()override; - Size OnCalculateTotalSize()override; public: /// Create the arranger. FixedHeightMultiColumnItemArranger(); ~FixedHeightMultiColumnItemArranger(); - - vint FindItem(vint itemIndex, compositions::KeyDirection key)override; - GuiListControl::EnsureItemVisibleResult EnsureItemVisible(vint itemIndex)override; - Size GetAdoptedSize(Size expectedSize)override; }; } } @@ -14368,7 +14590,7 @@ DefaultTextListItemTemplate virtual void SetChecked(vint itemIndex, bool value) = 0; }; - class DefaultTextListItemTemplate : public templates::GuiTextListItemTemplate + class DefaultTextListItemTemplate : public PredefinedListItemTemplate { protected: using BulletStyle = templates::GuiControlTemplate; @@ -14379,6 +14601,7 @@ DefaultTextListItemTemplate virtual TemplateProperty CreateBulletStyle(); void OnInitialize()override; + void OnRefresh()override; void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); void OnTextChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); void OnTextColorChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); @@ -14418,6 +14641,7 @@ TextItemProvider WString text; bool checked; + void NotifyUpdate(bool raiseCheckEvent); public: /// Create an empty text item. TextItem(); @@ -14490,7 +14714,7 @@ GuiVirtualTextList protected: TextListView view = TextListView::Unknown; - void OnStyleInstalled(vint itemIndex, ItemStyle* style)override; + void OnStyleInstalled(vint itemIndex, ItemStyle* style, bool refreshPropertiesOnly)override; void OnItemTemplateChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a Text list control in virtual mode. @@ -14586,13 +14810,15 @@ NodeItemProvider /// The index of the first sub item. /// The number of sub items to be modified. /// The new number of modified sub items. - virtual void OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount)=0; + /// True when items are replaced, false when only content in items are updated. + virtual void OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated)=0; /// Called after sub items of a node are modified. /// The node containing modified sub items. /// The index of the first sub item. /// The number of sub items to be modified. /// The new number of modified sub items. - virtual void OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount)=0; + /// True when items are replaced, false when only content in items are updated. + virtual void OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated)=0; /// Called when a node is expanded. /// The node. virtual void OnItemExpanded(INodeProvider* node)=0; @@ -14618,6 +14844,8 @@ NodeItemProvider /// Calculate the number of total visible nodes of this node. The number of total visible nodes includes the node itself, and all total visible nodes of all visible sub nodes. If this node is collapsed, this number will be 1. /// The number of total visible nodes. virtual vint CalculateTotalVisibleNodes()=0; + /// Notify that the state in the binded data object is modified. + virtual void NotifyDataModified()=0; /// Get the number of all sub nodes. /// The number of all sub nodes. @@ -14706,8 +14934,8 @@ NodeItemProvider Ptr GetNodeByOffset(Ptr provider, vint offset); void OnAttached(INodeRootProvider* provider)override; - void OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount)override; - void OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount)override; + void OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated)override; + void OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated)override; void OnItemExpanded(INodeProvider* node)override; void OnItemCollapsed(INodeProvider* node)override; vint CalculateNodeVisibilityIndexInternal(INodeProvider* node); @@ -14788,8 +15016,6 @@ MemoryNodeProvider /// Set the data object. /// The data object. void SetData(const Ptr& value); - /// Notify that the state in the binded data object is modified. - void NotifyDataModified(); /// Get all sub nodes. /// All sub nodes. NodeCollection& Children(); @@ -14797,6 +15023,7 @@ MemoryNodeProvider bool GetExpanding()override; void SetExpanding(bool value)override; vint CalculateTotalVisibleNodes()override; + void NotifyDataModified()override; vint GetChildCount()override; Ptr GetParent()override; @@ -14809,8 +15036,8 @@ MemoryNodeProvider collections::List callbacks; protected: void OnAttached(INodeRootProvider* provider)override; - void OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount)override; - void OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount)override; + void OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated)override; + void OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated)override; void OnItemExpanded(INodeProvider* node)override; void OnItemCollapsed(INodeProvider* node)override; public: @@ -14856,8 +15083,8 @@ GuiVirtualTreeListControl GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(TreeViewTemplate, GuiSelectableListControl) protected: void OnAttached(tree::INodeRootProvider* provider)override; - void OnBeforeItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount)override; - void OnAfterItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount)override; + void OnBeforeItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated)override; + void OnAfterItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated)override; void OnItemExpanded(tree::INodeProvider* node)override; void OnItemCollapsed(tree::INodeProvider* node)override; @@ -14996,10 +15223,10 @@ GuiVirtualTreeView templates::GuiTreeItemTemplate* GetStyleFromNode(tree::INodeProvider* node); void SetStyleExpanding(tree::INodeProvider* node, bool expanding); void SetStyleExpandable(tree::INodeProvider* node, bool expandable); - void OnAfterItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount)override; + void OnAfterItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount, bool itemReferenceUpdated)override; void OnItemExpanded(tree::INodeProvider* node)override; void OnItemCollapsed(tree::INodeProvider* node)override; - void OnStyleInstalled(vint itemIndex, ItemStyle* style)override; + void OnStyleInstalled(vint itemIndex, ItemStyle* style, bool refreshPropertiesOnly)override; public: /// Create a tree view control in virtual mode. /// The theme name for retriving a default control template. @@ -15038,7 +15265,7 @@ DefaultTreeItemTemplate namespace tree { - class DefaultTreeItemTemplate : public templates::GuiTreeItemTemplate + class DefaultTreeItemTemplate : public list::PredefinedListItemTemplate { protected: GuiSelectableButton* expandingButton = nullptr; @@ -15047,6 +15274,7 @@ DefaultTreeItemTemplate elements::GuiSolidLabelElement* textElement = nullptr; void OnInitialize()override; + void OnRefresh()override; void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); void OnTextChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); void OnTextColorChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); @@ -17653,7 +17881,7 @@ ComboBox with GuiListControl // ===================== GuiListControl::IItemProviderCallback ===================== void OnAttached(GuiListControl::IItemProvider* provider)override; - void OnItemModified(vint start, vint count, vint newCount)override; + void OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated)override; public: /// Create a control with a specified default theme and a list control that will be put in the popup control to show all items. /// The theme name for retriving a default control template. @@ -17948,19 +18176,23 @@ ListViewColumnItemArranger ***********************************************************************/ /// List view column item arranger. This arranger contains column headers. When an column header is resized, all items will be notified via the [T:vl.presentation.controls.list.ListViewColumnItemArranger.IColumnItemView] for . - class ListViewColumnItemArranger : public FixedHeightItemArranger, public Description + class ListViewColumnItemArranger : public VirtualRepeatRangedItemArrangerBase, public Description { + using TBase = VirtualRepeatRangedItemArrangerBase; typedef collections::List ColumnHeaderButtonList; typedef collections::List ColumnHeaderSplitterList; public: - static const vint SplitterWidth=8; + static const vint SplitterWidth = 8; /// Callback for [T:vl.presentation.controls.list.ListViewColumnItemArranger.IColumnItemView]. Column item view use this interface to notify column related modification. class IColumnItemViewCallback : public virtual IDescriptable, public Description { public: - /// Called when any column is changed (inserted, removed, text changed, etc.). - virtual void OnColumnChanged()=0; + /// Called when any column object is changed (inserted, removed, updated binding, etc.). + virtual void OnColumnRebuilt()=0; + + /// Called when any property of a column is changed (size changed, text changed, etc.). + virtual void OnColumnChanged(bool needToRefreshItems)=0; }; /// The required view for . @@ -18001,12 +18233,25 @@ ListViewColumnItemArranger class ColumnItemViewCallback : public Object, public virtual IColumnItemViewCallback { protected: - ListViewColumnItemArranger* arranger; + ListViewColumnItemArranger* arranger = nullptr; + public: ColumnItemViewCallback(ListViewColumnItemArranger* _arranger); ~ColumnItemViewCallback(); - void OnColumnChanged(); + void OnColumnRebuilt() override; + void OnColumnChanged(bool needToRefreshItems) override; + }; + + class ColumnItemArrangerRepeatComposition : public TBase::ArrangerRepeatComposition + { + protected: + ListViewColumnItemArranger* arranger = nullptr; + + void Layout_EndLayout(bool totalSizeUpdated) override; + Size Layout_CalculateTotalSize() override; + public: + ColumnItemArrangerRepeatComposition(ListViewColumnItemArranger* _arranger); }; GuiListViewBase* listView = nullptr; @@ -18019,22 +18264,25 @@ ListViewColumnItemArranger bool splitterDragging = false; vint splitterLatestX = 0; + void OnViewLocationChanged(compositions::GuiGraphicsComposition* composition, compositions::GuiEventArgs& arguments); void ColumnClicked(vint index, compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); void ColumnCachedBoundsChanged(vint index, compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); void ColumnHeaderSplitterLeftButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); void ColumnHeaderSplitterLeftButtonUp(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); void ColumnHeaderSplitterMouseMove(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); - void RearrangeItemBounds()override; - vint GetWidth()override; - vint GetYOffset()override; - Size OnCalculateTotalSize()override; + void FixColumnsAfterViewLocationChanged(); + void FixColumnsAfterLayout(); + vint GetColumnsWidth(); + vint GetColumnsYOffset(); void DeleteColumnButtons(); void RebuildColumns(); + void RefreshColumns(); public: ListViewColumnItemArranger(); ~ListViewColumnItemArranger(); + Size GetTotalSize()override; void AttachListControl(GuiListControl* value)override; void DetachListControl()override; }; @@ -18122,7 +18370,8 @@ ListViewItemProvider GuiMenu* dropdownPopup = nullptr; ColumnSortingState sortingState = ColumnSortingState::NotSorted; - void NotifyUpdate(bool affectItem); + void NotifyRebuilt(); + void NotifyChanged(bool needToRefreshItems); public: /// Create a column with the specified text and size. /// The specified text. @@ -18171,8 +18420,10 @@ ListViewItemProvider class IListViewItemProvider : public virtual Interface { public: - virtual void NotifyAllItemsUpdate() = 0; - virtual void NotifyAllColumnsUpdate() = 0; + virtual void RebuildAllItems() = 0; + virtual void RefreshAllItems() = 0; + virtual void NotifyColumnRebuilt() = 0; + virtual void NotifyColumnChanged() = 0; }; /// List view data column container. @@ -18197,7 +18448,8 @@ ListViewItemProvider IListViewItemProvider* itemProvider; bool affectItemFlag = true; - void NotifyColumnUpdated(vint column, bool affectItem); + void NotifyColumnRebuilt(vint column); + void NotifyColumnChanged(vint column, bool needToRefreshItems); void AfterInsert(vint index, const Ptr& value)override; void BeforeRemove(vint index, const Ptr& value)override; void NotifyUpdateInternal(vint start, vint count, vint newCount)override; @@ -18228,8 +18480,24 @@ ListViewItemProvider void AfterInsert(vint index, const Ptr& value)override; void BeforeRemove(vint index, const Ptr& value)override; - void NotifyAllItemsUpdate()override; - void NotifyAllColumnsUpdate()override; + // ===================== list::IListViewItemProvider ===================== + + void RebuildAllItems() override; + void RefreshAllItems() override; + void NotifyColumnRebuilt() override; + void NotifyColumnChanged() override; + + public: + ListViewItemProvider(); + ~ListViewItemProvider(); + + // ===================== GuiListControl::IItemProvider ===================== + + WString GetTextValue(vint itemIndex)override; + description::Value GetBindingValue(vint itemIndex)override; + IDescriptable* RequestView(const WString& identifier)override; + + // ===================== list::ListViewItemStyleProvider::IListViewItemView ===================== Ptr GetSmallImage(vint itemIndex)override; Ptr GetLargeImage(vint itemIndex)override; @@ -18238,7 +18506,9 @@ ListViewItemProvider vint GetDataColumnCount()override; vint GetDataColumn(vint index)override; vint GetColumnCount()override; - WString GetColumnText(vint index)override;; + WString GetColumnText(vint index)override; + + // ===================== list::ListViewColumnItemArranger::IColumnItemView ===================== bool AttachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value)override; bool DetachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value)override; @@ -18247,14 +18517,6 @@ ListViewItemProvider GuiMenu* GetDropdownPopup(vint index)override; ColumnSortingState GetSortingState(vint index)override; - WString GetTextValue(vint itemIndex)override; - description::Value GetBindingValue(vint itemIndex)override; - public: - ListViewItemProvider(); - ~ListViewItemProvider(); - - IDescriptable* RequestView(const WString& identifier)override; - /// Get all data columns indices in columns. /// All data columns indices in columns. ListViewDataColumns& GetDataColumns(); @@ -18285,7 +18547,7 @@ GuiVirtualListView protected: ListViewView view = ListViewView::Unknown; - void OnStyleInstalled(vint itemIndex, ItemStyle* style)override; + void OnStyleInstalled(vint itemIndex, ItemStyle* style, bool refreshPropertiesOnly)override; void OnItemTemplateChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a list view control in virtual mode. @@ -18450,6 +18712,7 @@ GuiBindableTextList description::Value Get(vint index); void UpdateBindingProperties(); + bool NotifyUpdate(vint start, vint count, bool itemReferenceUpdated); // ===================== GuiListControl::IItemProvider ===================== @@ -18502,6 +18765,12 @@ GuiBindableTextList /// Get the selected item. /// Returns the selected item. If there are multiple selected items, or there is no selected item, null will be returned. description::Value GetSelectedItem(); + + /// Notify the control that data in some items are modified. + /// The index of the first item. + /// The number of items + /// Returns true if this operation succeeded. + bool NotifyItemDataModified(vint start, vint count); }; /*********************************************************************** @@ -18539,14 +18808,16 @@ GuiBindableListView description::Value Get(vint index); void UpdateBindingProperties(); - bool NotifyUpdate(vint start, vint count); + bool NotifyUpdate(vint start, vint count, bool itemReferenceUpdated); list::ListViewDataColumns& GetDataColumns(); list::ListViewColumns& GetColumns(); // ===================== list::IListViewItemProvider ===================== - void NotifyAllItemsUpdate()override; - void NotifyAllColumnsUpdate()override; + void RebuildAllItems() override; + void RefreshAllItems() override; + void NotifyColumnRebuilt() override; + void NotifyColumnChanged() override; // ===================== GuiListControl::IItemProvider ===================== @@ -18621,6 +18892,12 @@ GuiBindableListView /// Get the selected item. /// Returns the selected item. If there are multiple selected items, or there is no selected item, null will be returned. description::Value GetSelectedItem(); + + /// Notify the control that data in some items are modified. + /// The index of the first item. + /// The number of items + /// Returns true if this operation succeeded. + bool NotifyItemDataModified(vint start, vint count); }; /*********************************************************************** @@ -18654,6 +18931,8 @@ GuiBindableTreeView Ptr PrepareValueList(const description::Value& inputItemSource); void PrepareChildren(Ptr newValueList); void UnprepareChildren(); + void PrepareReverseMapping(); + void UnprepareReverseMapping(); public: ItemSourceNode(const description::Value& _itemSource, ItemSourceNode* _parent); ItemSourceNode(ItemSource* _rootProvider); @@ -18667,6 +18946,7 @@ GuiBindableTreeView bool GetExpanding()override; void SetExpanding(bool value)override; vint CalculateTotalVisibleNodes()override; + void NotifyDataModified()override; vint GetChildCount()override; Ptr GetParent()override; @@ -18679,6 +18959,7 @@ GuiBindableTreeView { friend class ItemSourceNode; public: + WritableItemProperty reverseMappingProperty; ItemProperty textProperty; ItemProperty> imageProperty; ItemProperty> childrenProperty; @@ -18700,7 +18981,6 @@ GuiBindableTreeView description::Value GetBindingValue(tree::INodeProvider* node)override; IDescriptable* RequestView(const WString& identifier)override; - // ===================== tree::ITreeViewItemView ===================== Ptr GetNodeImage(tree::INodeProvider* node)override; @@ -18712,7 +18992,8 @@ GuiBindableTreeView public: /// Create a bindable Tree view control. /// The theme name for retriving a default control template. - GuiBindableTreeView(theme::ThemeName themeName); + /// (Optional): The value of . + GuiBindableTreeView(theme::ThemeName themeName, WritableItemProperty reverseMappingProperty = {}); ~GuiBindableTreeView(); /// Text property name changed event. @@ -18728,6 +19009,15 @@ GuiBindableTreeView /// Set the item source. /// The item source. Null is acceptable if you want to clear all data. void SetItemSource(description::Value _itemSource); + + /// + /// Get the reverse mapping property name to store the internal tree view node for an item. + /// The value is set in the constructor. + /// Using this property makes items in item source exclusive to a treeview control. + /// Sharing such item in different treeview controls causes exceptions. + /// + /// The reverse mapping property name. + WritableItemProperty GetReverseMappingProperty(); /// Get the text property name to get the item text from an item. /// The text property name. @@ -18753,6 +19043,11 @@ GuiBindableTreeView /// Get the selected item. /// Returns the selected item. If there are multiple selected items, or there is no selected item, null will be returned. description::Value GetSelectedItem(); + + /// Notify the control that data in an item is modified. Child nodes are not notified. + /// The item from the item source. + /// Returns true if this operation succeeded. + void NotifyNodeDataModified(description::Value value); }; } } @@ -19131,7 +19426,7 @@ namespace vl { namespace list { - class DefaultListViewItemTemplate : public templates::GuiListItemTemplate + class DefaultListViewItemTemplate : public PredefinedListItemTemplate { public: DefaultListViewItemTemplate(); @@ -19145,6 +19440,7 @@ namespace vl elements::GuiSolidLabelElement* text = nullptr; void OnInitialize()override; + void OnRefresh()override; void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: BigIconListViewItemTemplate(); @@ -19158,6 +19454,7 @@ namespace vl elements::GuiSolidLabelElement* text = nullptr; void OnInitialize()override; + void OnRefresh()override; void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: SmallIconListViewItemTemplate(); @@ -19171,6 +19468,7 @@ namespace vl elements::GuiSolidLabelElement* text = nullptr; void OnInitialize()override; + void OnRefresh()override; void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: ListListViewItemTemplate(); @@ -19187,8 +19485,9 @@ namespace vl DataTextElementArray dataTexts; elements::GuiSolidLabelElement* CreateTextElement(vint textRow); - void ResetTextTable(vint textRows); + void ResetTextTable(vint dataColumnCount); void OnInitialize()override; + void OnRefresh()override; void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: TileListViewItemTemplate(); @@ -19207,7 +19506,9 @@ namespace vl elements::GuiSolidBackgroundElement* bottomLine = nullptr; compositions::GuiBoundsComposition* bottomLineComposition = nullptr; + void ResetTextTable(vint dataColumnCount); void OnInitialize()override; + void OnRefresh()override; void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: InformationListViewItemTemplate(); @@ -19216,19 +19517,22 @@ namespace vl class DetailListViewItemTemplate : public DefaultListViewItemTemplate - , public virtual ListViewColumnItemArranger::IColumnItemViewCallback { - typedef collections::Array SubItemList; + typedef collections::Array SubItemCellList; + typedef collections::Array SubItemTestList; typedef ListViewColumnItemArranger::IColumnItemView IColumnItemView; protected: IColumnItemView* columnItemView = nullptr; elements::GuiImageFrameElement* image = nullptr; elements::GuiSolidLabelElement* text = nullptr; compositions::GuiTableComposition* textTable = nullptr; - SubItemList subItems; + SubItemCellList subItemCells; + SubItemTestList subItemTexts; + void UpdateSubItemSize(); + void ResetTextTable(vint subColumnCount); void OnInitialize()override; - void OnColumnChanged()override; + void OnRefresh()override; void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: DetailListViewItemTemplate(); @@ -19273,37 +19577,41 @@ DefaultDataGridItemTemplate class DefaultDataGridItemTemplate : public DefaultListViewItemTemplate - , public ListViewColumnItemArranger::IColumnItemViewCallback { protected: - compositions::GuiTableComposition* textTable = nullptr; - collections::Array> dataVisualizers; - IDataEditor* currentEditor = nullptr; + compositions::GuiTableComposition* textTable = nullptr; + collections::Array dataVisualizerFactories; + collections::Array> dataVisualizers; + collections::Array dataCells; + IDataEditor* currentEditor = nullptr; - IDataVisualizerFactory* GetDataVisualizerFactory(vint row, vint column); - IDataEditorFactory* GetDataEditorFactory(vint row, vint column); - vint GetCellColumnIndex(compositions::GuiGraphicsComposition* composition); - bool IsInEditor(GuiVirtualDataGrid* dataGrid, compositions::GuiMouseEventArgs& arguments); - void OnCellButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); - void OnCellLeftButtonUp(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); - void OnCellRightButtonUp(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); + IDataVisualizerFactory* GetDataVisualizerFactory(vint row, vint column); + IDataEditorFactory* GetDataEditorFactory(vint row, vint column); + vint GetCellColumnIndex(compositions::GuiGraphicsComposition* composition); + bool IsInEditor(GuiVirtualDataGrid* dataGrid, compositions::GuiMouseEventArgs& arguments); + void OnCellButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); + void OnCellLeftButtonUp(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); + void OnCellRightButtonUp(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); - void OnColumnChanged()override; - void OnInitialize()override; - void OnSelectedChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); - void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); - void OnContextChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); - void OnVisuallyEnabledChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); + void DeleteAllVisualizers(); + void DeleteVisualizer(vint column); + void ResetDataTable(vint columnCount); + void OnInitialize()override; + void OnRefresh()override; + void OnSelectedChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); + void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); + void OnContextChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); + void OnVisuallyEnabledChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: DefaultDataGridItemTemplate(); ~DefaultDataGridItemTemplate(); - void UpdateSubItemSize(); - bool IsEditorOpened(); - void NotifyOpenEditor(vint column, IDataEditor* editor); - void NotifyCloseEditor(); - void NotifySelectCell(vint column); - void NotifyCellEdited(); + void UpdateSubItemSize(); + bool IsEditorOpened(); + void NotifyOpenEditor(vint column, IDataEditor* editor); + void NotifyCloseEditor(); + void NotifySelectCell(vint column); + void NotifyCellEdited(); }; } @@ -19333,8 +19641,8 @@ GuiVirtualDataGrid bool currentEditorOpeningEditor = false; compositions::IGuiAltActionHost* GetActivatingAltHost()override; - void OnItemModified(vint start, vint count, vint newCount)override; - void OnStyleInstalled(vint index, ItemStyle* style)override; + void OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated)override; + void OnStyleInstalled(vint index, ItemStyle* style, bool refreshPropertiesOnly)override; void OnStyleUninstalled(ItemStyle* style)override; void NotifyCloseEditor(); @@ -19591,7 +19899,8 @@ DataColumn Ptr visualizerFactory; Ptr editorFactory; - void NotifyAllColumnsUpdate(bool affectItem); + void NotifyRebuilt(); + void NotifyChanged(bool needToRefreshItems); public: DataColumn(); ~DataColumn(); @@ -19692,7 +20001,8 @@ DataColumn DataProvider* dataProvider = nullptr; bool affectItemFlag = true; - void NotifyColumnUpdated(vint index, bool affectItem); + void NotifyColumnRebuilt(vint column); + void NotifyColumnChanged(vint column, bool needToRefreshItems); void NotifyUpdateInternal(vint start, vint count, vint newCount)override; bool QueryInsert(vint index, const Ptr& value)override; void AfterInsert(vint index, const Ptr& value)override; @@ -19718,10 +20028,11 @@ DataProvider friend class DataColumn; friend class DataColumns; friend class controls::GuiBindableDataGrid; + typedef collections::List ColumnItemViewCallbackList; protected: ListViewDataColumns dataColumns; DataColumns columns; - ListViewColumnItemArranger::IColumnItemViewCallback* columnItemViewCallback = nullptr; + ColumnItemViewCallbackList columnItemViewCallbacks; Ptr itemSource; Ptr itemChangedEventHandler; @@ -19730,8 +20041,11 @@ DataProvider Ptr currentSorter; collections::List virtualRowToSourceRow; - void NotifyAllItemsUpdate()override; - void NotifyAllColumnsUpdate()override; + bool NotifyUpdate(vint start, vint count, bool itemReferenceUpdated); + void RebuildAllItems() override; + void RefreshAllItems() override; + void NotifyColumnRebuilt() override; + void NotifyColumnChanged() override; GuiListControl::IItemProvider* GetItemProvider()override; void OnProcessorChanged()override; @@ -19863,6 +20177,12 @@ GuiBindableDataGrid /// Get the selected cell. /// Returns the selected item. If there are multiple selected items, or there is no selected item, null will be returned. description::Value GetSelectedCellValue(); + + /// Notify the control that data in some items are modified. + /// The index of the first item. + /// The number of items + /// Returns true if this operation succeeded. + bool NotifyItemDataModified(vint start, vint count); }; } } @@ -19900,31 +20220,43 @@ GalleryItemArranger namespace ribbon_impl { - class GalleryItemArranger : public list::RangedItemArrangerBase, public Description + class GalleryItemArrangerRepeatComposition : public compositions::GuiVirtualRepeatCompositionBase, public Description { private: - vint pim_itemWidth = 0; - bool blockScrollUpdate = true; + vint pim_itemWidth = 0; + bool blockScrollUpdate = true; protected: - GuiBindableRibbonGalleryList* owner; - vint itemWidth = 1; - vint firstIndex = 0; + GuiBindableRibbonGalleryList* owner; + vint itemWidth = 1; + vint firstIndex = 0; - void BeginPlaceItem(bool forMoving, Rect newBounds, vint& newStartIndex)override; - void PlaceItem(bool forMoving, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent)override; - bool IsItemOutOfViewBounds(vint index, ItemStyleRecord style, Rect bounds, Rect viewBounds)override; - bool EndPlaceItem(bool forMoving, Rect newBounds, vint newStartIndex)override; - void InvalidateItemSizeCache()override; - Size OnCalculateTotalSize()override; + void Layout_BeginPlaceItem(bool firstPhase, Rect newBounds, vint& newStartIndex)override; + compositions::VirtualRepeatPlaceItemResult Layout_PlaceItem(bool firstPhase, bool newCreatedStyle, vint index, ItemStyleRecord style, Rect viewBounds, Rect& bounds, Margin& alignmentToParent)override; + compositions::VirtualRepeatEndPlaceItemResult Layout_EndPlaceItem(bool firstPhase, Rect newBounds, vint newStartIndex)override; + void Layout_EndLayout(bool totalSizeUpdated) override; + void Layout_InvalidateItemSizeCache()override; + Size Layout_CalculateTotalSize()override; + public: + GalleryItemArrangerRepeatComposition(GuiBindableRibbonGalleryList* _owner); + ~GalleryItemArrangerRepeatComposition(); + + vint FindItemByVirtualKeyDirection(vint itemIndex, compositions::KeyDirection key)override; + compositions::VirtualRepeatEnsureItemVisibleResult EnsureItemVisible(vint itemIndex)override; + Size GetAdoptedSize(Size expectedSize)override; + + void ScrollUp(); + void ScrollDown(); + void UnblockScrollUpdate(); + }; + + class GalleryItemArranger : public list::VirtualRepeatRangedItemArrangerBase, public Description + { + using TBase = list::VirtualRepeatRangedItemArrangerBase; public: GalleryItemArranger(GuiBindableRibbonGalleryList* _owner); ~GalleryItemArranger(); - vint FindItem(vint itemIndex, compositions::KeyDirection key)override; - GuiListControl::EnsureItemVisibleResult EnsureItemVisible(vint itemIndex)override; - Size GetAdoptedSize(Size expectedSize)override; - void ScrollUp(); void ScrollDown(); void UnblockScrollUpdate(); @@ -20788,6 +21120,7 @@ Ribbon Gallery List namespace ribbon_impl { + class GalleryItemArrangerRepeatComposition; class GalleryItemArranger; class GalleryResponsiveLayout; } @@ -20795,7 +21128,7 @@ Ribbon Gallery List /// Auto resizable ribbon gallyer list. class GuiBindableRibbonGalleryList : public GuiRibbonGallery, public list::GroupedDataSource, private IGuiMenuDropdownProvider, public Description { - friend class ribbon_impl::GalleryItemArranger; + friend class ribbon_impl::GalleryItemArrangerRepeatComposition; using IValueEnumerable = reflection::description::IValueEnumerable; using IValueObservableList = reflection::description::IValueObservableList; diff --git a/Import/GacUICompiler.cpp b/Import/GacUICompiler.cpp index d6208adf..aedd597b 100644 --- a/Import/GacUICompiler.cpp +++ b/Import/GacUICompiler.cpp @@ -8373,28 +8373,22 @@ GuiComboBoxInstanceLoader GuiTreeViewInstanceLoader ***********************************************************************/ -#define BASE_TYPE GuiTemplateControlInstanceLoader - template - class GuiTreeViewInstanceLoaderBase : public BASE_TYPE +#define BASE_TYPE GuiTemplateControlInstanceLoader + class GuiTreeViewInstanceLoader : public BASE_TYPE { protected: - bool bindable; GlobalStringKey _Nodes; public: - GuiTreeViewInstanceLoaderBase(bool _bindable) - :BASE_TYPE(description::TypeInfo::content.typeName, theme::ThemeName::TreeView) - , bindable(_bindable) + GuiTreeViewInstanceLoader() + :BASE_TYPE(description::TypeInfo::content.typeName, theme::ThemeName::TreeView) { _Nodes = GlobalStringKey::Get(L"Nodes"); } void GetPropertyNames(GuiResourcePrecompileContext& precompileContext, const typename BASE_TYPE::TypeInfo& typeInfo, collections::List& propertyNames)override { - if (!bindable) - { - propertyNames.Add(_Nodes); - } + propertyNames.Add(_Nodes); BASE_TYPE::GetPropertyNames(precompileContext, typeInfo, propertyNames); } @@ -8402,10 +8396,7 @@ GuiTreeViewInstanceLoader { if (propertyInfo.propertyName == _Nodes) { - if (!bindable) - { - return GuiInstancePropertyInfo::Collection(TypeInfoRetriver>::CreateTypeInfo()); - } + return GuiInstancePropertyInfo::Collection(TypeInfoRetriver>::CreateTypeInfo()); } return BASE_TYPE::GetPropertyType(precompileContext, propertyInfo); } @@ -8453,23 +8444,49 @@ GuiTreeViewInstanceLoader }; #undef BASE_TYPE - class GuiTreeViewInstanceLoader : public GuiTreeViewInstanceLoaderBase - { - public: - GuiTreeViewInstanceLoader() - :GuiTreeViewInstanceLoaderBase(false) - { - } - }; +/*********************************************************************** +GuiBindableTreeViewInstanceLoader +***********************************************************************/ - class GuiBindableTreeViewInstanceLoader : public GuiTreeViewInstanceLoaderBase +#define BASE_TYPE GuiTemplateControlInstanceLoader + class GuiBindableTreeViewInstanceLoader : public BASE_TYPE { + protected: + GlobalStringKey _ReverseMappingProperty; + + void AddAdditionalArguments(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceError::List& errors, Ptr createControl)override + { + vint indexReverseMappingProperty = arguments.Keys().IndexOf(_ReverseMappingProperty); + if (indexReverseMappingProperty != -1) + { + createControl->arguments.Add(arguments.GetByIndex(indexReverseMappingProperty)[0].expression); + } + } public: GuiBindableTreeViewInstanceLoader() - :GuiTreeViewInstanceLoaderBase(true) + :BASE_TYPE(description::TypeInfo::content.typeName, theme::ThemeName::TreeView) { + _ReverseMappingProperty = GlobalStringKey::Get(L"ReverseMappingProperty"); + } + + void GetPropertyNames(GuiResourcePrecompileContext& precompileContext, const typename BASE_TYPE::TypeInfo& typeInfo, collections::List& propertyNames)override + { + propertyNames.Add(_ReverseMappingProperty); + BASE_TYPE::GetPropertyNames(precompileContext, typeInfo, propertyNames); + } + + Ptr GetPropertyType(GuiResourcePrecompileContext& precompileContext, const typename BASE_TYPE::PropertyInfo& propertyInfo)override + { + if (propertyInfo.propertyName == _ReverseMappingProperty) + { + auto info = GuiInstancePropertyInfo::Assign(TypeInfoRetriver>::CreateTypeInfo()); + info->usage = GuiInstancePropertyInfo::ConstructorArgument; + return info; + } + return BASE_TYPE::GetPropertyType(precompileContext, propertyInfo); } }; +#undef BASE_TYPE /*********************************************************************** GuiTreeNodeInstanceLoader @@ -8671,30 +8688,6 @@ GuiTreeNodeInstanceLoader } }; -/*********************************************************************** -GuiBindableDataGridInstanceLoader -***********************************************************************/ - -#define BASE_TYPE GuiTemplateControlInstanceLoader - class GuiBindableDataGridInstanceLoader : public BASE_TYPE - { - protected: - GlobalStringKey typeName; - - public: - GuiBindableDataGridInstanceLoader() - :BASE_TYPE(description::TypeInfo::content.typeName, theme::ThemeName::ListView) - { - typeName = GlobalStringKey::Get(description::TypeInfo::content.typeName); - } - - GlobalStringKey GetTypeName()override - { - return typeName; - } - }; -#undef BASE_TYPE - /*********************************************************************** Initialization ***********************************************************************/ @@ -8709,7 +8702,6 @@ Initialization manager->SetLoader(Ptr(new GuiComboButtonInstanceLoader)); manager->SetLoader(Ptr(new GuiTreeViewInstanceLoader)); manager->SetLoader(Ptr(new GuiBindableTreeViewInstanceLoader)); - manager->SetLoader(Ptr(new GuiBindableDataGridInstanceLoader)); manager->CreateVirtualType( GlobalStringKey::Get(description::TypeInfo::content.typeName), @@ -8750,9 +8742,11 @@ GuiInstanceLoader_Document.cpp default: Ptr GuiInstanceLoader_List.cpp GuiComboBox - ctor: _ListControl(GuiListControl*) - GuiTreeView, GuiBindableTreeView + ctor: ListControl(GuiListControl*) + GuiTreeView Nodes: array(Ptr) + GuiBindableTreeView + ctor: ReverseMappingProperty(WritableItemProperty) tree::TreeNode ctor: Text, Image Tag @@ -9006,6 +9000,7 @@ GuiPredefinedInstanceLoadersPlugin ADD_TEMPLATE_CONTROL ( GuiBindableTextList, TextList ); ADD_TEMPLATE_CONTROL ( GuiListView, ListView ); ADD_TEMPLATE_CONTROL ( GuiBindableListView, ListView ); + ADD_TEMPLATE_CONTROL ( GuiBindableDataGrid, ListView ); ADD_TEMPLATE_CONTROL ( GuiMultilineTextBox, MultilineTextBox ); ADD_TEMPLATE_CONTROL ( GuiSinglelineTextBox, SinglelineTextBox ); ADD_TEMPLATE_CONTROL ( GuiDatePicker, DatePicker ); diff --git a/Import/GacUICompiler.h b/Import/GacUICompiler.h index e7130674..513779cb 100644 --- a/Import/GacUICompiler.h +++ b/Import/GacUICompiler.h @@ -709,11 +709,11 @@ Instance Loader public: enum Support { - NotSupport, - SupportAssign, - SupportArray, - SupportCollection, - SupportSet, + NotSupport, // cannot assign + SupportAssign, // assign value directly + SupportArray, // assign a collection to that property directly + SupportCollection, // calling Add to add all items to that property + SupportSet, // allow }; enum PropertyUsage @@ -724,13 +724,13 @@ Instance Loader enum PropertyBindability { - Bindable, + Bindable, // a property is bindable NotBindable, }; enum PropertyMergability { - MergeWithParent, + MergeWithParent, // when type check of the property failed, search in base types NotMerge, }; diff --git a/Import/GacUIReflection.cpp b/Import/GacUIReflection.cpp index 1ad41c62..23a15820 100644 --- a/Import/GacUIReflection.cpp +++ b/Import/GacUIReflection.cpp @@ -1205,6 +1205,12 @@ Type Declaration (Extra) ENUM_CLASS_ITEM(Both) END_ENUM_ITEM(ResponsiveDirection) + BEGIN_ENUM_ITEM(VirtualRepeatEnsureItemVisibleResult) + ENUM_CLASS_ITEM(ItemNotExists) + ENUM_CLASS_ITEM(Moved) + ENUM_CLASS_ITEM(NotMoved) + END_ENUM_ITEM(VirtualRepeatEnsureItemVisibleResult) + BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiShortcutKeyItem) CLASS_MEMBER_PROPERTY_READONLY_FAST(Manager) CLASS_MEMBER_PROPERTY_READONLY_FAST(Name) @@ -1482,25 +1488,68 @@ Type Declaration (Class) END_CLASS_MEMBER(GuiSharedSizeRootComposition) BEGIN_CLASS_MEMBER(GuiRepeatCompositionBase) - CLASS_MEMBER_GUIEVENT(ItemInserted) - CLASS_MEMBER_GUIEVENT(ItemRemoved) CLASS_MEMBER_PROPERTY_FAST(ItemTemplate) CLASS_MEMBER_PROPERTY_FAST(ItemSource) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Context) END_CLASS_MEMBER(GuiRepeatCompositionBase) + BEGIN_CLASS_MEMBER(GuiNonVirtialRepeatCompositionBase) + CLASS_MEMBER_BASE(GuiBoundsComposition) + CLASS_MEMBER_BASE(GuiRepeatCompositionBase) + CLASS_MEMBER_GUIEVENT(ItemInserted) + CLASS_MEMBER_GUIEVENT(ItemRemoved) + END_CLASS_MEMBER(GuiNonVirtialRepeatCompositionBase) + BEGIN_CLASS_MEMBER(GuiRepeatStackComposition) CLASS_MEMBER_BASE(GuiStackComposition) - CLASS_MEMBER_BASE(GuiRepeatCompositionBase) + CLASS_MEMBER_BASE(GuiNonVirtialRepeatCompositionBase) CLASS_MEMBER_CONSTRUCTOR(GuiRepeatStackComposition*(), NO_PARAMETER) END_CLASS_MEMBER(GuiRepeatStackComposition) BEGIN_CLASS_MEMBER(GuiRepeatFlowComposition) CLASS_MEMBER_BASE(GuiFlowComposition) - CLASS_MEMBER_BASE(GuiRepeatCompositionBase) + CLASS_MEMBER_BASE(GuiNonVirtialRepeatCompositionBase) CLASS_MEMBER_CONSTRUCTOR(GuiRepeatFlowComposition*(), NO_PARAMETER) END_CLASS_MEMBER(GuiRepeatFlowComposition) + BEGIN_CLASS_MEMBER(GuiVirtualRepeatCompositionBase) + CLASS_MEMBER_BASE(GuiBoundsComposition) + CLASS_MEMBER_BASE(GuiRepeatCompositionBase) + CLASS_MEMBER_GUIEVENT(AdoptedSizeInvalidated) + CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Axis) + CLASS_MEMBER_PROPERTY_GUIEVENT_READONLY_FAST(TotalSize) + CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ViewLocation) + CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(AdoptedSize, AdoptedSizeInvalidated) + CLASS_MEMBER_METHOD(GetVisibleStyle, { L"itemIndex" }) + CLASS_MEMBER_METHOD(GetVisibleIndex, { L"style" }) + CLASS_MEMBER_METHOD(ResetLayout, { L"recreateVisibleStyles" }) + CLASS_MEMBER_METHOD(InvalidateLayout, NO_PARAMETER) + CLASS_MEMBER_METHOD(FindItemByRealKeyDirection, { L"itemIndex" _ L"key" }) + CLASS_MEMBER_METHOD(FindItemByVirtualKeyDirection, { L"itemIndex" _ L"key" }) + CLASS_MEMBER_METHOD(EnsureItemVisible, { L"itemIndex" }) + CLASS_MEMBER_METHOD(GetAdoptedSize, { L"expectedSize" }) + END_CLASS_MEMBER(GuiNonVirtialRepeatCompositionBase) + + BEGIN_CLASS_MEMBER(GuiRepeatFreeHeightItemComposition) + CLASS_MEMBER_BASE(GuiVirtualRepeatCompositionBase) + CLASS_MEMBER_CONSTRUCTOR(GuiRepeatFreeHeightItemComposition*(), NO_PARAMETER) + END_CLASS_MEMBER(GuiRepeatFreeHeightItemComposition) + + BEGIN_CLASS_MEMBER(GuiRepeatFixedHeightItemComposition) + CLASS_MEMBER_BASE(GuiVirtualRepeatCompositionBase) + CLASS_MEMBER_CONSTRUCTOR(GuiRepeatFixedHeightItemComposition*(), NO_PARAMETER) + END_CLASS_MEMBER(GuiRepeatFixedHeightItemComposition) + + BEGIN_CLASS_MEMBER(GuiRepeatFixedSizeMultiColumnItemComposition) + CLASS_MEMBER_BASE(GuiVirtualRepeatCompositionBase) + CLASS_MEMBER_CONSTRUCTOR(GuiRepeatFixedSizeMultiColumnItemComposition*(), NO_PARAMETER) + END_CLASS_MEMBER(GuiRepeatFixedSizeMultiColumnItemComposition) + + BEGIN_CLASS_MEMBER(GuiRepeatFixedHeightMultiColumnItemComposition) + CLASS_MEMBER_BASE(GuiVirtualRepeatCompositionBase) + CLASS_MEMBER_CONSTRUCTOR(GuiRepeatFixedHeightMultiColumnItemComposition*(), NO_PARAMETER) + END_CLASS_MEMBER(GuiRepeatFixedHeightMultiColumnItemComposition) + BEGIN_CLASS_MEMBER(GuiResponsiveCompositionBase) CLASS_MEMBER_BASE(GuiBoundsComposition) @@ -1780,20 +1829,19 @@ Type Declaration (Extra) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(OnAttached, {L"provider"}) - CLASS_MEMBER_METHOD(OnItemModified, {L"start" _ L"count" _ L"newCount"}) + CLASS_MEMBER_METHOD(OnItemModified, {L"start" _ L"count" _ L"newCount" _ L"itemReferenceUpdated"}) 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(CreateItem, {L"itemIndex"}) + CLASS_MEMBER_METHOD(GetItemBounds, { L"style" }) + CLASS_MEMBER_METHOD(GetItem, { L"bounds" }) 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) + CLASS_MEMBER_METHOD(OnAdoptedSizeChanged, NO_PARAMETER) END_INTERFACE_MEMBER(GuiListControl::IItemArrangerCallback) BEGIN_ENUM_ITEM(GuiListControl::EnsureItemVisibleResult) @@ -1828,7 +1876,7 @@ Type Declaration (Extra) 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(FindItemByVirtualKeyDirection, {L"itemIndex" _ L"key"}) CLASS_MEMBER_METHOD(EnsureItemVisible, {L"itemIndex"}) CLASS_MEMBER_METHOD(GetAdoptedSize, {L"expectedSize"}) END_INTERFACE_MEMBER(GuiListControl::IItemArranger) @@ -1908,7 +1956,8 @@ Type Declaration (Extra) END_CLASS_MEMBER(ListViewColumnItemArranger) BEGIN_CLASS_MEMBER(ListViewColumnItemArranger::IColumnItemViewCallback) - CLASS_MEMBER_METHOD(OnColumnChanged, NO_PARAMETER) + CLASS_MEMBER_METHOD(OnColumnRebuilt, NO_PARAMETER) + CLASS_MEMBER_METHOD(OnColumnChanged, {L"needToRefreshItems"}) END_CLASS_MEMBER(ListViewColumnItemArranger::IColumnItemViewCallback) BEGIN_INTERFACE_MEMBER(ListViewColumnItemArranger::IColumnItemView) @@ -1991,8 +2040,8 @@ Type Declaration (Extra) 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(OnBeforeItemModified, {L"parentNode" _ L"start" _ L"count" _ L"newCount" _ L"itemReferenceUpdated"}) + CLASS_MEMBER_METHOD(OnAfterItemModified, {L"parentNode" _ L"start" _ L"count" _ L"newCount" _ L"itemReferenceUpdated"}) CLASS_MEMBER_METHOD(OnItemExpanded, {L"node"}) CLASS_MEMBER_METHOD(OnItemCollapsed, {L"node"}) END_INTERFACE_MEMBER(INodeProviderCallback) @@ -2005,6 +2054,7 @@ Type Declaration (Extra) CLASS_MEMBER_PROPERTY_READONLY_FAST(Parent) CLASS_MEMBER_METHOD(CalculateTotalVisibleNodes, NO_PARAMETER) + CLASS_MEMBER_METHOD(NotifyDataModified, NO_PARAMETER) CLASS_MEMBER_METHOD(GetChild, {L"index"}) END_INTERFACE_MEMBER(INodeProvider) @@ -2041,7 +2091,6 @@ Type Declaration (Extra) 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) @@ -3010,6 +3059,7 @@ Type Declaration (Class) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(TextProperty) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(CheckedProperty) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) + CLASS_MEMBER_METHOD(NotifyItemDataModified, {L"start" _ L"count"}) END_CLASS_MEMBER(GuiBindableTextList) BEGIN_CLASS_MEMBER(GuiBindableListView) @@ -3022,17 +3072,21 @@ Type Declaration (Class) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(LargeImageProperty) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SmallImageProperty) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) + CLASS_MEMBER_METHOD(NotifyItemDataModified, { L"start" _ L"count" }) END_CLASS_MEMBER(GuiBindableListView) BEGIN_CLASS_MEMBER(GuiBindableTreeView) CLASS_MEMBER_BASE(GuiVirtualTreeView) CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE(GuiBindableTreeView) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiBindableTreeView, WritableItemProperty, reverseMappingProperty) CLASS_MEMBER_PROPERTY_FAST(ItemSource) + CLASS_MEMBER_PROPERTY_READONLY_FAST(ReverseMappingProperty) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(TextProperty) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ImageProperty) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ChildrenProperty) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) + CLASS_MEMBER_METHOD(NotifyNodeDataModified, {L"value"}) END_CLASS_MEMBER(GuiBindableTreeView) BEGIN_CLASS_MEMBER(GuiBindableDataGrid) @@ -3047,6 +3101,7 @@ Type Declaration (Class) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SmallImageProperty) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedRowValue, SelectedCellChanged) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedCellValue, SelectedCellChanged) + CLASS_MEMBER_METHOD(NotifyItemDataModified, { L"start" _ L"count" }) END_CLASS_MEMBER(GuiBindableDataGrid) #undef INTERFACE_IDENTIFIER @@ -3792,7 +3847,6 @@ Type Declaration (Class) NAME ## _PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION)\ END_CLASS_MEMBER(NAME)\ - GUI_CONTROL_TEMPLATE(GuiListItemTemplate, GuiTemplate) GUI_CORE_CONTROL_TEMPLATE_DECL(GUI_CONTROL_TEMPLATE) GUI_CONTROL_TEMPLATE_DECL(GUI_CONTROL_TEMPLATE) GUI_ITEM_TEMPLATE_DECL(GUI_CONTROL_TEMPLATE) diff --git a/Import/GacUIReflection.h b/Import/GacUIReflection.h index 6bfe0b9d..3b5959a4 100644 --- a/Import/GacUIReflection.h +++ b/Import/GacUIReflection.h @@ -261,6 +261,7 @@ Type List (Compositions) F(presentation::compositions::IGuiAltActionHost)\ F(presentation::compositions::IGuiTabAction)\ F(presentation::compositions::GuiRepeatCompositionBase)\ + F(presentation::compositions::VirtualRepeatEnsureItemVisibleResult)\ #define GUIREFLECTIONCOMPOSITION_CLASS_TYPELIST(F)\ F(presentation::compositions::GuiGraphicsComposition)\ @@ -279,8 +280,14 @@ Type List (Compositions) F(presentation::compositions::GuiPartialViewComposition)\ F(presentation::compositions::GuiSharedSizeItemComposition)\ F(presentation::compositions::GuiSharedSizeRootComposition)\ + F(presentation::compositions::GuiNonVirtialRepeatCompositionBase)\ F(presentation::compositions::GuiRepeatStackComposition)\ F(presentation::compositions::GuiRepeatFlowComposition)\ + F(presentation::compositions::GuiVirtualRepeatCompositionBase)\ + F(presentation::compositions::GuiRepeatFreeHeightItemComposition)\ + F(presentation::compositions::GuiRepeatFixedHeightItemComposition)\ + F(presentation::compositions::GuiRepeatFixedSizeMultiColumnItemComposition)\ + F(presentation::compositions::GuiRepeatFixedHeightMultiColumnItemComposition)\ F(presentation::compositions::GuiResponsiveCompositionBase)\ F(presentation::compositions::GuiResponsiveSharedComposition)\ F(presentation::compositions::GuiResponsiveViewComposition)\ @@ -333,7 +340,6 @@ Type List (Templates) #define GUIREFLECTIONTEMPLATES_CLASS_TYPELIST(F)\ F(presentation::templates::GuiTemplate)\ - F(presentation::templates::GuiListItemTemplate)\ F(presentation::templates::GuiCommonDatePickerLook)\ F(presentation::templates::GuiCommonScrollViewLook)\ GUI_CORE_CONTROL_TEMPLATE_DECL(GUIREFLECTIONTEMPLATES_##F)\ @@ -785,9 +791,9 @@ Interface Proxy (Controls) INVOKE_INTERFACE_PROXY(OnAttached, provider); } - void OnItemModified(vint start, vint count, vint newCount)override + void OnItemModified(vint start, vint count, vint newCount, bool itemReferenceUpdated)override { - INVOKE_INTERFACE_PROXY(OnItemModified, start, count, newCount); + INVOKE_INTERFACE_PROXY(OnItemModified, start, count, newCount, itemReferenceUpdated); } END_INTERFACE_PROXY(presentation::controls::GuiListControl::IItemProviderCallback) @@ -888,9 +894,9 @@ Interface Proxy (Controls) INVOKE_INTERFACE_PROXY(OnViewChanged, bounds); } - vint FindItem(vint itemIndex, presentation::compositions::KeyDirection key)override + vint FindItemByVirtualKeyDirection(vint itemIndex, presentation::compositions::KeyDirection key)override { - INVOKEGET_INTERFACE_PROXY(FindItem, itemIndex, key); + INVOKEGET_INTERFACE_PROXY(FindItemByVirtualKeyDirection, itemIndex, key); } presentation::controls::GuiListControl::EnsureItemVisibleResult EnsureItemVisible(vint itemIndex)override @@ -1010,6 +1016,11 @@ Interface Proxy (Controls) INVOKEGET_INTERFACE_PROXY_NOPARAMS(CalculateTotalVisibleNodes); } + void NotifyDataModified()override + { + INVOKE_INTERFACE_PROXY_NOPARAMS(NotifyDataModified); + } + vint GetChildCount()override { INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetChildCount); diff --git a/Import/VlppGlrParserCompiler.cpp b/Import/VlppGlrParserCompiler.cpp index 5787e387..4bd8133a 100644 --- a/Import/VlppGlrParserCompiler.cpp +++ b/Import/VlppGlrParserCompiler.cpp @@ -5714,6 +5714,7 @@ namespace vl { List pmRules; // all rules that need to be rewritten Dictionary skippedRules; // skipped RuleSymbol -> GlrRule + SortedList protectedSkippedClause; // a simple use clause that belongs to one of the skipped rules Dictionary originRules; // rewritten RuleSymbol -> GlrRule ends with _LRI_Original, which is the same GlrRule object before rewritten Dictionary lriRules; // rewritten RuleSymbol -> GlrRule containing left_recursion_inject clauses Dictionary fixedAstRules; // RuleSymbol -> GlrRule relationship after rewritten @@ -5814,7 +5815,7 @@ FillMissingPrefixMergeClauses true, ruleSymbol->isParser, ruleRaw->name.codeRange - ); + ); newRuleSymbol->isPartial = ruleSymbol->isPartial; newRuleSymbol->ruleType = vContext.clauseTypes[clause.Obj()]; vContext.astRules.Add(newRuleSymbol, newRule.Obj()); @@ -5851,24 +5852,30 @@ FillMissingPrefixMergeClauses } /*********************************************************************** -CollectRewritingTargets +CollectSkippedTargets ***********************************************************************/ - void CollectRewritingTargets(const VisitorContext& vContext, RewritingContext& rContext, Ptr rewritten) + void CollectSkippedTargets(const VisitorContext& vContext, RewritingContext& rContext, Ptr rewritten) { + // when a rule + // is not a prefix of a rewritten rule + // has no direct prefix_merge clause + // has only one clause which starts with prefix_merge clause + // skip rewriting it + // if the only clause of a skipped rule is a simple use clause referencing a rule to be rewritten + // the name it referenced should not be changed in RenamePrefix + + List lastRemovedCandidates; + Dictionary candidateProtectedClauses; + for (auto rule : rewritten->rules) { auto ruleSymbol = vContext.syntaxManager.Rules()[rule->name.value]; if (vContext.indirectPmClauses.Keys().Contains(ruleSymbol)) { - // when a rule has - // no direct prefix_merge clause - // only one clause which starts with prefix_merge clause - // such clause is not a simple use clause - // skip rewriting it if (!vContext.directPmClauses.Keys().Contains(ruleSymbol)) { - bool found = false; + GlrClause* uniqueQualifiedClause = nullptr; for (auto clause : rule->clauses) { vint index = vContext.clauseToStartRules.Keys().IndexOf(clause.Obj()); @@ -5879,14 +5886,9 @@ CollectRewritingTargets { if (vContext.indirectPmClauses.Keys().Contains(startRule)) { - if (vContext.simpleUseClauseToReferencedRules.Keys().Contains(clause.Obj())) + if (!uniqueQualifiedClause) { - goto DO_NOT_SKIP; - } - - if (!found) - { - found = true; + uniqueQualifiedClause = clause.Obj(); break; } else @@ -5898,11 +5900,67 @@ CollectRewritingTargets } } - rContext.skippedRules.Add(ruleSymbol, rule.Obj()); + if (uniqueQualifiedClause) + { + rContext.skippedRules.Add(ruleSymbol, rule.Obj()); + if (vContext.simpleUseClauseToReferencedRules.Keys().Contains(uniqueQualifiedClause)) + { + candidateProtectedClauses.Add(ruleSymbol, uniqueQualifiedClause); + } + } continue; - DO_NOT_SKIP:; + DO_NOT_SKIP: + lastRemovedCandidates.Add(ruleSymbol); } + } + } + while (lastRemovedCandidates.Count() > 0) + { + List newRemovedCandidates; + for (auto ruleSymbol : lastRemovedCandidates) + { + vint indexStart = vContext.directStartRules.Keys().IndexOf(ruleSymbol); + if (indexStart != -1) + { + for (auto startRuleSymbol : vContext.directStartRules.GetByIndex(indexStart)) + { + if (rContext.skippedRules.Keys().Contains(startRuleSymbol.ruleSymbol)) + { + rContext.skippedRules.Remove(startRuleSymbol.ruleSymbol); + newRemovedCandidates.Add(startRuleSymbol.ruleSymbol); + } + } + } + } + CopyFrom(lastRemovedCandidates, newRemovedCandidates); + } + + for (auto [ruleSymbol, rule] : rContext.skippedRules) + { + vint index = candidateProtectedClauses.Keys().IndexOf(ruleSymbol); + if (index != -1) + { + rContext.protectedSkippedClause.Add(candidateProtectedClauses.Values()[index]); + } + } + } + +/*********************************************************************** +CollectRewritingTargets +***********************************************************************/ + + void CollectRewritingTargets(const VisitorContext& vContext, RewritingContext& rContext, Ptr rewritten) + { + for (auto rule : rewritten->rules) + { + auto ruleSymbol = vContext.syntaxManager.Rules()[rule->name.value]; + if (vContext.indirectPmClauses.Keys().Contains(ruleSymbol)) + { + if (rContext.skippedRules.Keys().Contains(ruleSymbol)) + { + continue; + } rContext.pmRules.Add(ruleSymbol); vint indexStart = vContext.directStartRules.Keys().IndexOf(ruleSymbol); @@ -6982,6 +7040,11 @@ RenamePrefix RenamePrefixVisitor visitor(rContext, ruleSymbol, syntaxManager); for (auto clause : originRule->clauses) { + if (rContext.protectedSkippedClause.Contains(clause.Obj())) + { + continue; + } + // !(a; b) should be moved from rule X_LRI_Original to left_recursion_inject clauses in rule X if (auto reuseClause = clause.Cast()) { @@ -7013,6 +7076,7 @@ RewriteSyntax // find rules that need to be rewritten using left_recursion_inject RewritingContext rewritingContext; + CollectSkippedTargets(context, rewritingContext, rewritten); CollectRewritingTargets(context, rewritingContext, rewritten); // create rewritten rules, rename origin rules @@ -7374,7 +7438,8 @@ ExpandClauseVisitor name.value += L"_SWITCH"; for (auto&& switchName : switchNames) { - auto value = workingSwitchValues->Get(switchName); + vint index = workingSwitchValues->Keys().IndexOf(switchName); + auto value = index == -1 ? sContext.switches[switchName].key : workingSwitchValues->Values()[index]; name.value += (value ? L"_1" : L"_0") + switchName; } } @@ -7435,6 +7500,7 @@ ExpandClauseVisitor { // make it optional if necessary auto opt = Ptr(new GlrOptionalSyntax); + opt->priority = GlrOptionalPriority::Equal; opt->syntax = result.Cast(); result = opt; } @@ -7459,6 +7525,66 @@ ExpandClauseVisitor FixRuleName(result.Cast()->name); } + void Visit(GlrLoopSyntax* node) override + { + Ptr syntax, delimiter; + + try + { + syntax = CopyNode(node->syntax.Obj()); + } + catch (CancelBranch) + { + } + + try + { + delimiter = CopyNode(node->delimiter.Obj()); + } + catch (CancelBranch) + { + } + + if (syntax && delimiter) + { + auto loop = Ptr(new GlrLoopSyntax); + loop->codeRange = node->codeRange; + loop->syntax = syntax; + loop->delimiter = delimiter; + result = loop; + } + else if (syntax) + { + auto loop = Ptr(new GlrLoopSyntax); + loop->codeRange = syntax->codeRange; + loop->syntax = syntax; + result = loop; + } + else if (delimiter) + { + auto loop = Ptr(new GlrLoopSyntax); + loop->codeRange = delimiter->codeRange; + loop->syntax = delimiter; + result = loop; + } + else + { + result = Ptr(new EmptySyntax); + } + } + + void Visit(GlrOptionalSyntax* node) override + { + try + { + copy_visitor::RuleAstVisitor::Visit(node); + } + catch (CancelBranch) + { + result = Ptr(new EmptySyntax); + } + } + void Visit(GlrAlternativeSyntax* node) override { // alternative syntax converts to alternative syntax @@ -7566,15 +7692,28 @@ DeductEmptySyntaxVisitor node->delimiter = CopyNodeSafe(node->delimiter); result = Ptr(node); - if (node->syntax.Cast()) + bool syntax = !node->syntax.Cast(); + bool delimiter = !node->delimiter.Cast(); + if (syntax && delimiter) { - // if the loop body is empty, it is empty - result = node->syntax; + // if both are not empty, nothing need to worry } - else if (node->delimiter.Cast()) + else if (syntax) { + // if only syntax is not empty, it is {syntax} node->delimiter = nullptr; } + else if (delimiter) + { + // if only delimiter is empty, it is {delimiter} + node->syntax = node->delimiter; + node->delimiter = nullptr; + } + else + { + // if both are empty, it is empty + result = node->syntax; + } } void Visit(GlrOptionalSyntax* node) override @@ -7634,6 +7773,7 @@ DeductEmptySyntaxVisitor { // if only first is not empty, it is [first] auto opt = Ptr(new GlrOptionalSyntax); + opt->priority = GlrOptionalPriority::Equal; opt->syntax = node->first; result = opt; } @@ -7641,6 +7781,7 @@ DeductEmptySyntaxVisitor { // if only second is not empty, it is [second] auto opt = Ptr(new GlrOptionalSyntax); + opt->priority = GlrOptionalPriority::Equal; opt->syntax = node->second; result = opt; } @@ -7742,12 +7883,15 @@ RewriteSyntax return ruleName; } - Ptr CreateRule(RuleSymbol* ruleSymbol, Ptr rule, const WString& name) + Ptr CreateRule(RuleSymbol* ruleSymbol, Ptr rule, const WString& name, bool applyAttributes) { auto newRule = Ptr(new GlrRule); newRule->codeRange = rule->codeRange; - newRule->attPublic = rule->attPublic; - newRule->attParser = rule->attParser; + if (applyAttributes) + { + newRule->attPublic = rule->attPublic; + newRule->attParser = rule->attParser; + } newRule->name = rule->name; newRule->name.value = name; newRule->type = rule->type; @@ -7757,7 +7901,7 @@ RewriteSyntax Ptr CreateRule(RuleSymbol* ruleSymbol, Ptr rule, const wchar_t* tag, Dictionary& switchValues) { - return CreateRule(ruleSymbol, rule, CreateRuleName(rule, tag, switchValues)); + return CreateRule(ruleSymbol, rule, CreateRuleName(rule, tag, switchValues), true); } void AddRules(RuleSymbol* ruleSymbol, Ptr rewritten, Group>& expandedRules) @@ -7787,7 +7931,7 @@ RewriteSyntax rule->name.value, ruleSymbol->fileIndex, ruleSymbol->isPublic, - false, + ruleSymbol->isParser, rule->name.codeRange ); } @@ -7801,11 +7945,7 @@ RewriteSyntax if (sContext.ruleAffectedSwitches.Count() == syntaxManager.Rules().Count()) { - syntaxManager.AddError( - ParserErrorType::NoSwitchUnaffectedRule, - {} - ); - return nullptr; + CHECK_FAIL(L"vl::glr::parsergen::RewriteSyntax_Switch(...)#Internal error: This function should not be called when there is no switch used in any rule."); } RewritingContext rewritingContext; @@ -7935,7 +8075,7 @@ RewriteSyntax vint ruleIndex = rewritingContext.combinedRulesByName.Keys().IndexOf(combinedRuleName); if (ruleIndex == -1) { - combinedRule = CreateRule(ruleSymbol, rule, combinedRuleName); + combinedRule = CreateRule(ruleSymbol, rule, combinedRuleName, false); rewritingContext.expandedCombinedRules.Add(ruleSymbol, combinedRule); rewritingContext.combinedRulesByName.Add(combinedRuleName, combinedRule); } @@ -8343,15 +8483,13 @@ ValidateDeducingPrefixMergeRuleVisitor auto secondResult = result; auto secondEmpty = couldBeEmpty; - if (firstEmpty || secondEmpty) + couldBeEmpty = firstEmpty || secondEmpty; + if (couldBeEmpty) { VisitPotentialEmptySyntax(); } else { - result = nullptr; - couldBeEmpty = true; - if (firstResult && secondResult) { CopyFrom(*firstResult.Obj(), *secondResult.Obj(), true); @@ -8365,6 +8503,10 @@ ValidateDeducingPrefixMergeRuleVisitor { result = secondResult; } + else + { + result = nullptr; + } } } @@ -8930,107 +9072,12 @@ ValidateStructureRelationshipVisitor , protected virtual GlrSyntax::IVisitor , protected virtual GlrClause::IVisitor { - struct Link - { - GlrRefSyntax* ref = nullptr; - Link* prev = nullptr; - Link* next = nullptr; - - Link(GlrRefSyntax* _ref) : ref(_ref) {} - }; - - struct LinkPair - { - Link* first = nullptr; - Link* last = nullptr; - - void EnsureComplete() - { - CHECK_ERROR(!first || !first->prev, L"Illegal Operation!"); - CHECK_ERROR(!last || !last->next, L"Illegal Operation!"); - } - - LinkPair Append(Link* link) - { - EnsureComplete(); - if (first) - { - link->prev = last; - last->next = link; - return { first,link }; - } - else - { - return { link,link }; - } - } - - LinkPair Connect(LinkPair pair) - { - EnsureComplete(); - pair.EnsureComplete(); - if (!first && !pair.first) - { - return {}; - } - else if (!first) - { - return pair; - } - else if (!pair.first) - { - return *this; - } - else - { - last->next = pair.first; - pair.first->prev = last; - return { first,pair.last }; - } - } - - void CutAfter(Link* link, LinkPair& l1, LinkPair& l2) - { - EnsureComplete(); - if (!first) - { - CHECK_ERROR(!link, L"Illegal Operation!"); - l1 = {}; - l2 = {}; - } - else if (!link) - { - l2 = *this; - l1 = {}; - } - else if (link == last) - { - l1 = *this; - l2 = {}; - } - else - { - auto a = first; - auto b = last; - l1 = { a,link }; - l2 = { link->next,b }; - l1.last->next = nullptr; - l2.first->prev = nullptr; - } - } - - operator bool() const - { - return last; - } - }; protected: VisitorContext& context; RuleSymbol* ruleSymbol; GlrClause* clause = nullptr; + Dictionary fieldCounters; - LinkPair existingFields; - LinkPair existingPartials; public: ValidateStructureRelationshipVisitor( VisitorContext& _context, @@ -9041,28 +9088,6 @@ ValidateStructureRelationshipVisitor { } - ~ValidateStructureRelationshipVisitor() - { - { - auto c = existingFields.first; - while (c) - { - auto n = c->next; - delete c; - c = n; - } - } - { - auto c = existingPartials.first; - while (c) - { - auto n = c->next; - delete c; - c = n; - } - } - } - void ValidateClause(Ptr clause) { clause->Accept(this); @@ -9070,6 +9095,19 @@ ValidateStructureRelationshipVisitor protected: + void AddFieldCounter(const WString& name, vint counter) + { + vint index = fieldCounters.Keys().IndexOf(name); + if (index == -1) + { + fieldCounters.Add(name, counter); + } + else + { + const_cast&>(fieldCounters.Values())[index] += counter; + } + } + //////////////////////////////////////////////////////////////////////// // GlrSyntax::IVisitor //////////////////////////////////////////////////////////////////////// @@ -9078,20 +9116,7 @@ ValidateStructureRelationshipVisitor { if (node->field) { - existingFields = existingFields.Append(new Link(node)); - } - - if (node->refType == GlrRefType::Id) - { - vint ruleIndex = context.syntaxManager.Rules().Keys().IndexOf(node->literal.value); - if (ruleIndex != -1) - { - auto fieldRule = context.syntaxManager.Rules().Values()[ruleIndex]; - if (fieldRule->isPartial) - { - existingPartials = existingPartials.Append(new Link(node)); - } - } + AddFieldCounter(node->field.value, 1); } } @@ -9121,19 +9146,61 @@ ValidateStructureRelationshipVisitor void Visit(GlrAlternativeSyntax* node) override { - auto currentFields = existingFields; - auto currentPartials = existingPartials; + Dictionary currentCounters(std::move(fieldCounters)); node->first->Accept(this); - - LinkPair firstFields, firstPartials; - existingFields.CutAfter(currentFields.last, existingFields, firstFields); - existingPartials.CutAfter(currentPartials.last, existingPartials, firstPartials); + Dictionary firstCounters(std::move(fieldCounters)); node->second->Accept(this); + Dictionary secondCounters(std::move(fieldCounters)); - existingFields = existingFields.Connect(firstFields); - existingPartials = existingPartials.Connect(firstPartials); + vint firstIndex = 0; + vint secondIndex = 0; + fieldCounters = std::move(currentCounters); + while (true) + { + bool firstAvailable = firstIndex < firstCounters.Count(); + bool secondAvailable = secondIndex < secondCounters.Count(); + + if (firstAvailable && secondAvailable) + { + auto firstKey = firstCounters.Keys()[firstIndex]; + auto secondKey = secondCounters.Keys()[secondIndex]; + auto compare = firstKey <=> secondKey; + + if (compare == std::strong_ordering::less) + { + secondAvailable = false; + } + else if (compare == std::strong_ordering::greater) + { + firstAvailable = false; + } + } + + if (firstAvailable && secondAvailable) + { + vint firstValue = firstCounters.Values()[firstIndex]; + vint secondValue = secondCounters.Values()[secondIndex]; + AddFieldCounter(firstCounters.Keys()[firstIndex], (firstValue > secondValue ? firstValue : secondValue)); + firstIndex++; + secondIndex++; + } + else if (firstAvailable) + { + AddFieldCounter(firstCounters.Keys()[firstIndex], firstCounters.Values()[firstIndex]); + firstIndex++; + } + else if (secondAvailable) + { + AddFieldCounter(secondCounters.Keys()[secondIndex], secondCounters.Values()[secondIndex]); + secondIndex++; + } + else + { + break; + } + } } void Visit(GlrPushConditionSyntax* node) override @@ -9152,25 +9219,8 @@ ValidateStructureRelationshipVisitor void CheckAfterClause(GlrClause* node) { - Dictionary counters; - auto c = existingFields.first; - while (c) - { - auto fieldName = c->ref->field.value; - vint index = counters.Keys().IndexOf(fieldName); - if (index == -1) - { - counters.Add(fieldName, 1); - } - else - { - counters.Set(fieldName, counters.Values()[index] + 1); - } - c = c->next; - } - auto clauseType = context.clauseTypes[clause]; - for (auto [key, value] : counters) + for (auto [key, value] : fieldCounters) { auto prop = FindPropSymbol(clauseType, key); if (prop->propType != AstPropType::Array && value > 1) @@ -9584,6 +9634,14 @@ ValidateSwitchesAndConditions VerifySwitchesAndConditionsVisitor visitor(context, sContext); visitor.ValidateRule(rule); } + + if (sContext.ruleAffectedSwitches.Count() == context.syntaxManager.Rules().Count()) + { + context.syntaxManager.AddError( + ParserErrorType::SwitchUnaffectedRuleNotExist, + syntaxFile->codeRange + ); + } } } } @@ -15541,6 +15599,7 @@ namespace vl::glr::parsergen writer.WriteString(prop->propTypeName.value); writer.WriteString(L"[]"); break; + default:; } writer.WriteLine(L";"); } @@ -17868,6 +17927,7 @@ SyntaxSymbolManager::FixLeftRecursionInjectEdge void SyntaxSymbolManager::FixLeftRecursionInjectEdge(StateSymbol* startState, EdgeSymbol* injectEdge) { +#define ERROR_MESSAGE_PREFIX L"vl::glr::parsergen::SyntaxSymbolManager::FixLeftRecursionInjectEdge(StateSymbol*, EdgeSymbol*)#" // search for all qualified placeholder edge starts from inject targets List placeholderEdges; for (auto outEdge : startState->OutEdges()) @@ -17902,7 +17962,9 @@ SyntaxSymbolManager::FixLeftRecursionInjectEdge // check if placeholderEdge does nothing more than using rules if (placeholderEdge->insAfterInput.Count() > 0) { - goto FAILED_INSTRUCTION_CHECKING; + // EdgeInputType::LrPlaceholder is created from a left_recursion_placeholder clause + // This is ensured by the semantic + CHECK_FAIL(ERROR_MESSAGE_PREFIX L"Internal error: EdgeInputType::LrPlaceholder edge should have empty insAfterInput."); } for (vint i = 0; i <= placeholderEdge->returnEdges.Count(); i++) @@ -17922,23 +17984,15 @@ SyntaxSymbolManager::FixLeftRecursionInjectEdge { if (outEdge->input.type == EdgeInputType::Ending && outEdge->insAfterInput.Count() > 0) { - goto FAILED_INSTRUCTION_CHECKING; + // EdgeInputType::Ending is created from accumulating multiple EdgeInputType::Epsilon edges leading to an ending state + // EdgeInputType::Epsilon always have empty insAfterInput + CHECK_FAIL(ERROR_MESSAGE_PREFIX L"Internal error: EdgeInputType::Ending edge should have empty insAfterInput."); } } returnEdges.Add(returnEdge); endingStates.Add(endingState); } - continue; - FAILED_INSTRUCTION_CHECKING: - AddError( - ParserErrorType::LeftRecursionPlaceholderMixedWithSwitches, - {}, - injectEdge->fromState->Rule()->Name(), - lrpFlags[injectEdge->input.flags[0]], - startState->Rule()->Name() - ); - return; } // calculate all acceptable Token input from inject edge @@ -18258,6 +18312,7 @@ SyntaxSymbolManager::FixLeftRecursionInjectEdge startState->Rule()->Name() ); } +#undef ERROR_MESSAGE_PREFIX } /*********************************************************************** diff --git a/Import/VlppGlrParserCompiler.h b/Import/VlppGlrParserCompiler.h index 0321ed5b..26ade4d6 100644 --- a/Import/VlppGlrParserCompiler.h +++ b/Import/VlppGlrParserCompiler.h @@ -104,7 +104,6 @@ ParserSymbolManager /* SyntaxSymbolManager */\ ERROR_ITEM(DuplicatedRule, ruleName)\ ERROR_ITEM(RuleIsIndirectlyLeftRecursive, ruleName) /* Indirect left recursion must be resolved before */\ - ERROR_ITEM(LeftRecursionPlaceholderMixedWithSwitches, ruleName, placeholder, targetRuleName)\ ERROR_ITEM(LeftRecursionInjectHasNoContinuation, ruleName, placeholder, targetRuleName)\ /* SyntaxAst(ResolveName) */\ ERROR_ITEM(RuleNameConflictedWithToken, ruleName)\ @@ -135,8 +134,8 @@ ParserSymbolManager /* SyntaxAst(ValidateSwitchesAndConditions, condition) */\ ERROR_ITEM(PushedSwitchIsNotTested, ruleName, switchName)\ ERROR_ITEM(PrefixMergeAffectedBySwitches, ruleName, prefixMergeRule, switchName)\ + ERROR_ITEM(SwitchUnaffectedRuleNotExist)\ /* SyntaxAst(RewriteSyntax_Switch, condition) */\ - ERROR_ITEM(NoSwitchUnaffectedRule)\ ERROR_ITEM(SwitchUnaffectedRuleExpandedToNoClause, ruleName)\ ERROR_ITEM(SwitchAffectedRuleExpandedToNoClause, ruleName, expandedRuleName)\ /* SyntaxAst(ValidateTypes) */\ diff --git a/Import/VlppOS.Linux.cpp b/Import/VlppOS.Linux.cpp index 5df8a392..ab3da025 100644 --- a/Import/VlppOS.Linux.cpp +++ b/Import/VlppOS.Linux.cpp @@ -107,7 +107,7 @@ FilePath return fullPath == L"/"; } - WString FilePath::GetRelativePathFor(const FilePath& _filePath) + WString FilePath::GetRelativePathFor(const FilePath& _filePath) const { if (fullPath.Length() == 0 || _filePath.fullPath.Length() == 0 || fullPath[0] != _filePath.fullPath[0]) { diff --git a/Import/VlppOS.Windows.cpp b/Import/VlppOS.Windows.cpp index ca0b5cc4..9784684c 100644 --- a/Import/VlppOS.Windows.cpp +++ b/Import/VlppOS.Windows.cpp @@ -105,7 +105,7 @@ FilePath return fullPath == L""; } - WString FilePath::GetRelativePathFor(const FilePath& _filePath) + WString FilePath::GetRelativePathFor(const FilePath& _filePath) const { if (fullPath.Length() == 0 || _filePath.fullPath.Length() == 0 || fullPath[0] != _filePath.fullPath[0]) { diff --git a/Import/VlppOS.h b/Import/VlppOS.h index 6c9e688c..62069695 100644 --- a/Import/VlppOS.h +++ b/Import/VlppOS.h @@ -1950,7 +1950,7 @@ namespace vl /// Calculate the relative path based on a specified referencing folder. /// The relative path. /// The referencing folder. - WString GetRelativePathFor(const FilePath& _filePath); + WString GetRelativePathFor(const FilePath& _filePath)const; }; diff --git a/Tools/Reflection32.bin b/Tools/Reflection32.bin index 0b681965..3896c0b5 100644 Binary files a/Tools/Reflection32.bin and b/Tools/Reflection32.bin differ diff --git a/Tools/Reflection64.bin b/Tools/Reflection64.bin index aa34da92..12676f79 100644 Binary files a/Tools/Reflection64.bin and b/Tools/Reflection64.bin differ diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/RefreshListTabPages.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/RefreshListTabPages.xml new file mode 100644 index 00000000..4bb3296c --- /dev/null +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/RefreshListTabPages.xml @@ -0,0 +1,1039 @@ + + + + + + + + + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + + + + + + + + + + + + + <_ Text="First"/> + <_ Text="Second"/> + <_ Text="Third"/> + <_ Text="Fourth"/> + <_ Text="Fifth"/> + <_ Text="Sixth"/> + + + +
+
+
+
+ + + + + + + + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + + + + + + + + + + + + + + + + + + self.items + Name + Selected + + +
+
+
+
+ + + + + + + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ Text="Id"/> + <_ Text="Category"/> + <_ Text="Size"/> + <_ Text="File"/> + + + + <_>0 + <_>1 + <_>2 + + + + <_ Text="First" LargeImage-uri="res://LargeImages/Task" SmallImage-uri="res://SmallImages/Task"><_>One<_>Two<_>Three + <_ Text="Second" LargeImage-uri="res://LargeImages/Reminder" SmallImage-uri="res://SmallImages/Reminder"><_>One<_>Two<_>Three + <_ Text="Third" LargeImage-uri="res://LargeImages/Tip" SmallImage-uri="res://SmallImages/Tip"><_>One<_>Two<_>Three + <_ Text="Fourth" LargeImage-uri="res://LargeImages/Tip" SmallImage-uri="res://SmallImages/Tip"><_>One<_>Two<_>Three + + + +
+
+
+
+ + + + + + + + + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + self.items + LargeImage + SmallImage + + + <_ Text="Id" TextProperty="Name"/> + <_ Text="Category" TextProperty="Sub1"/> + <_ Text="Size" TextProperty="Sub2"/> + <_ Text="File" TextProperty="Sub3"/> + + + + <_>0 + <_>1 + <_>2 + + + +
+
+
+
+ + + + + + + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + + + + + + + + + + + + + + + self.rootItem + DoNotUse + Name + SmallImage + Children + + +
+
+
+
+ + + + + + + + + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:MinSize + <_>composeType:Percentage percentage:1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + self.items + LargeImage + SmallImage + + + <_ Text="Id" TextProperty="Name" ValueProperty="Name"/> + <_ Text="Category" TextProperty="Sub1" ValueProperty="Sub1"/> + <_ Text="Size" TextProperty="Sub2" ValueProperty="Sub2"/> + <_ Text="File" TextProperty="Sub3" ValueProperty="Sub3"> + HyperlinkVisualizerTemplate;FocusRectangleVisualizerTemplate;CellBorderVisualizerTemplate + demo:TextEditor + + + + + <_>0 + <_>1 + <_>2 + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Resource.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Resource.xml index c37ccd88..120e7edb 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Resource.xml +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Resource.xml @@ -91,6 +91,20 @@ + + + + + + + + + + + + + + @@ -144,6 +158,7 @@ TreeViewTabPage.xml DataGridTabPage.xml DataGridComponents.xml + RefreshListTabPages.xml RepeatTabPage.xml ResponsiveTabPage.xml diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp index dc541b1d..f677f0d7 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp @@ -3091,176 +3091,158 @@ Closures //------------------------------------------------------------------- - __vwsnf250_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf250_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) + __vwsnf250_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf250_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf250_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf250_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const { - { - auto __vwsn_for_begin_i = static_cast<::vl::vint>(0); - auto __vwsn_for_end_i = static_cast<::vl::vint>(9); - auto i = __vwsn_for_begin_i; - while ((i <= __vwsn_for_end_i)) - { - { - auto textItem = ::vl::Ptr<::demo::MyTextItem>(new ::demo::MyTextItem()); - ::vl::__vwsn::This(textItem.Obj())->SetName(::vl::__vwsn::This(__vwsnthis_0->self)->NumberToText((::vl::__vwsn::This(__vwsnthis_0->self)->counter + i))); - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->Add(::vl::__vwsn::Box(textItem)); - } - (i = (i + static_cast<::vl::vint>(1))); - } - } - (::vl::__vwsn::This(__vwsnthis_0->self)->counter = (::vl::__vwsn::This(__vwsnthis_0->self)->counter + static_cast<::vl::vint>(10))); + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetSmallImage(); } //------------------------------------------------------------------- - __vwsnf251_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf251_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) + __vwsnf251_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf251_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf251_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf251_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const { - auto i = static_cast<::vl::vint>(0); - while ((i < ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->GetCount())) + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetLargeImage(); + } + + //------------------------------------------------------------------- + + __vwsnf252_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf252_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::reflection::description::Value __vwsnf252_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + if (__vwsn_update_) { - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->RemoveAt(i); - (i = (i + static_cast<::vl::vint>(1))); + ::vl::__vwsn::This(item.Obj())->SetName(::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_)); + return ::vl::reflection::description::Value(); + } + else + { + return ::vl::__vwsn::Box(::vl::__vwsn::This(item.Obj())->GetName()); } } //------------------------------------------------------------------- - __vwsnf252_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf252_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) + __vwsnf253_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf253_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf252_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + ::vl::WString __vwsnf253_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const { - auto i = static_cast<::vl::vint>(1); - while ((i < ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->GetCount())) + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetName(); + } + + //------------------------------------------------------------------- + + __vwsnf254_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf254_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::reflection::description::Value __vwsnf254_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + if (__vwsn_update_) { - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->RemoveAt(i); - (i = (i + static_cast<::vl::vint>(1))); + ::vl::__vwsn::This(item.Obj())->SetSub1(::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_)); + return ::vl::reflection::description::Value(); + } + else + { + return ::vl::__vwsn::Box(::vl::__vwsn::This(item.Obj())->GetSub1()); } } //------------------------------------------------------------------- - __vwsnf253_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf253_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) + __vwsnf255_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf255_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf253_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + ::vl::WString __vwsnf255_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const { - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->Clear(); + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetSub1(); } //------------------------------------------------------------------- - __vwsnf254_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf254_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) + __vwsnf256_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf256_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf254_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + ::vl::reflection::description::Value __vwsnf256_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const { - (::vl::__vwsn::This(__vwsnthis_0->self)->counter = static_cast<::vl::vint>(0)); - } - - //------------------------------------------------------------------- - - __vwsnf255_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf255_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf255_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + if (__vwsn_update_) { - return; + ::vl::__vwsn::This(item.Obj())->SetSub2(::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_)); + return ::vl::reflection::description::Value(); + } + else + { + return ::vl::__vwsn::Box(::vl::__vwsn::This(item.Obj())->GetSub2()); } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->SetText(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf256_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_::__vwsnf256_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_(::demo::RepeatItemTemplateConstructor* __vwsnctorthis_0) + __vwsnf257_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf257_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf256_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::WString __vwsnf257_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1)->SetText(__vwsn_new_); + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetSub2(); } //------------------------------------------------------------------- - __vwsnf257_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_::__vwsnf257_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_(::demo::SharedSizeItemTemplateConstructor* __vwsnctorthis_0) + __vwsnf258_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf258_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf257_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::presentation::templates::GuiGridVisualizerTemplate* __vwsnf258_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) { - return; + return static_cast<::vl::presentation::templates::GuiGridVisualizerTemplate*>(new ::vl::presentation::controls::list::CellBorderVisualizerTemplate()); } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->SetText(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf258_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::__vwsnf258_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0) + __vwsnf259_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf259_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf258_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::presentation::templates::GuiGridVisualizerTemplate* __vwsnf259_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) { - return; + return static_cast<::vl::presentation::templates::GuiGridVisualizerTemplate*>(new ::vl::presentation::controls::list::FocusRectangleVisualizerTemplate()); } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf259_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::__vwsnf259_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf259_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->SetColor(__vwsn_new_); } //------------------------------------------------------------------- @@ -3279,158 +3261,168 @@ Closures //------------------------------------------------------------------- - __vwsnf260_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::__vwsnf260_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0) + __vwsnf260_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf260_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf260_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::presentation::templates::GuiGridVisualizerTemplate* __vwsnf260_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetFont(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) { - return; + return static_cast<::vl::presentation::templates::GuiGridVisualizerTemplate*>(new ::vl::presentation::controls::list::HyperlinkVisualizerTemplate()); } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->SetFont(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf261_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::__vwsnf261_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0) + __vwsnf261_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf261_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf261_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + ::vl::presentation::templates::GuiGridEditorTemplate* __vwsnf261_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { - ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelUp(); - } - - //------------------------------------------------------------------- - - __vwsnf262_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::__vwsnf262_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf262_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelDown(); - } - - //------------------------------------------------------------------- - - __vwsnf263_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::__vwsnf263_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf263_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_38)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) { - return; + return static_cast<::vl::presentation::templates::GuiGridEditorTemplate*>(new ::demo::TextEditor()); } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_38)->SetText(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf264_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::__vwsnf264_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0) + __vwsnf262_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf262_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf264_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::reflection::description::Value __vwsnf262_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_40)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + if (__vwsn_update_) { - return; + ::vl::__vwsn::This(item.Obj())->SetSub3(::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_)); + return ::vl::reflection::description::Value(); } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_40)->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf265_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::__vwsnf265_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf265_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelUp(); - } - - //------------------------------------------------------------------- - - __vwsnf266_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::__vwsnf266_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf266_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelDown(); - } - - //------------------------------------------------------------------- - - __vwsnf267_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::__vwsnf267_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf267_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_38)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) + else { - return; + return ::vl::__vwsn::Box(::vl::__vwsn::This(item.Obj())->GetSub3()); } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_38)->SetText(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf268_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::__vwsnf268_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0) + __vwsnf263_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf263_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf268_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::WString __vwsnf263_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_40)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_40)->SetText(__vwsn_new_); + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetSub3(); } //------------------------------------------------------------------- - __vwsnf269_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf269_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + __vwsnf264_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf264_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf269_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf264_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) { - return; + auto __vwsn_switch_5 = ::vl::__vwsn::This(__vwsnthis_0->comboView)->GetSelectedIndex(); + if ((__vwsn_switch_5 == static_cast<::vl::vint>(0))) + { + ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::BigIcon); + } + else if ((__vwsn_switch_5 == static_cast<::vl::vint>(1))) + { + ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::SmallIcon); + } + else if ((__vwsn_switch_5 == static_cast<::vl::vint>(2))) + { + ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::List); + } + else if ((__vwsn_switch_5 == static_cast<::vl::vint>(3))) + { + ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::Tile); + } + else if ((__vwsn_switch_5 == static_cast<::vl::vint>(4))) + { + ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::Information); + } + else if ((__vwsn_switch_5 == static_cast<::vl::vint>(5))) + { + ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::Detail); + } + else if ((__vwsn_switch_5 == static_cast<::vl::vint>(6))) + { + ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetViewToDefault(); + } } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf265_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf265_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf265_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::DataColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf266_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(__vwsnthis_0))); + } + + //------------------------------------------------------------------- + + __vwsnf266_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__::__vwsnf266_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf266_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__::operator()(const ::vl::reflection::description::Value& value) const + { + return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(value).Obj())->GetName(); + } + + //------------------------------------------------------------------- + + __vwsnf267_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf267_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf267_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::DataColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf268_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(__vwsnthis_0))); + } + + //------------------------------------------------------------------- + + __vwsnf268_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__::__vwsnf268_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf268_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__::operator()(const ::vl::reflection::description::Value& value) const + { + return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(value).Obj())->GetTitle(); + } + + //------------------------------------------------------------------- + + __vwsnf269_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf269_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf269_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto s = ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->items.Obj())->Get(static_cast<::vl::vint>(0))).Obj())->GetSub1(); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->items.Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetSub1(((s == ::vl::WString::Unmanaged(L"One")) ? ::vl::WString::Unmanaged(L"SubColumn") : ::vl::WString::Unmanaged(L"One"))); + ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->NotifyItemDataModified(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1)); } //------------------------------------------------------------------- @@ -3449,170 +3441,188 @@ Closures //------------------------------------------------------------------- - __vwsnf270_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf270_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + __vwsnf270_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf270_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf270_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf270_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_13)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) + auto s = ::vl::__vwsn::Unbox<::vl::vint>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetDataColumns()).Obj())->Get(static_cast<::vl::vint>(0))); + auto c = ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetDataColumns()).Obj())->GetCount(); + if ((c == static_cast<::vl::vint>(3))) { - return; + if ((s == static_cast<::vl::vint>(0))) + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetDataColumns()).Obj())->Set(static_cast<::vl::vint>(0), ::vl::__vwsn::Box(static_cast<::vl::vint>(1))); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetDataColumns()).Obj())->RemoveAt(static_cast<::vl::vint>(2)); + } } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_13)->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf271_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf271_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf271_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_19)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) + else { - return; + if ((s == static_cast<::vl::vint>(0))) + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetDataColumns()).Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(2))); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetDataColumns()).Obj())->Set(static_cast<::vl::vint>(0), ::vl::__vwsn::Box(static_cast<::vl::vint>(0))); + } } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_19)->SetText(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf272_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf272_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + __vwsnf271_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::__vwsnf271_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf272_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf271_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_25)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) + auto s = ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::DataColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(1))).Obj())->GetText(); + auto c = ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetColumns()).Obj())->GetCount(); + if ((c == static_cast<::vl::vint>(4))) { - return; + if ((s == ::vl::WString::Unmanaged(L"Category"))) + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::DataColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetText(::vl::WString::Unmanaged(L"What?")); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::DataColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(2))).Obj())->SetText(::vl::WString::Unmanaged(L"Wait?")); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetColumns()).Obj())->RemoveAt(static_cast<::vl::vint>(1)); + } } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_25)->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf273_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf273_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf273_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelUp(); - } - - //------------------------------------------------------------------- - - __vwsnf274_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf274_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf274_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelDown(); - } - - //------------------------------------------------------------------- - - __vwsnf275_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf275_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf275_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_33)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) + else { - return; + if ((s == ::vl::WString::Unmanaged(L"Size"))) + { + auto column = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(new ::vl::presentation::controls::list::DataColumn()); + ::vl::__vwsn::This(column.Obj())->SetText(::vl::WString::Unmanaged(L"Category")); + ::vl::__vwsn::This(column.Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf272_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(__vwsnthis_0))); + ::vl::__vwsn::This(column.Obj())->SetValueProperty(vl::Func(::vl_workflow_global::__vwsnf273_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(__vwsnthis_0))); + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetColumns()).Obj())->Insert(static_cast<::vl::vint>(1), ::vl::__vwsn::Box(column)); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::DataColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetText(::vl::WString::Unmanaged(L"Size")); + } } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_33)->SetText(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf276_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf276_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + __vwsnf272_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__::__vwsnf272_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf276_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::WString __vwsnf272_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__::operator()(const ::vl::reflection::description::Value& value) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_35)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_35)->SetText(__vwsn_new_); + return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(value).Obj())->GetSub1(); } //------------------------------------------------------------------- - __vwsnf277_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::__vwsnf277_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0) + __vwsnf273_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__::__vwsnf273_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf277_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::reflection::description::Value __vwsnf273_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__::operator()(const ::vl::reflection::description::Value& value, const ::vl::reflection::description::Value& field, bool update) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->GetAcceptTabInput(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(value); + if (update) { - return; + ::vl::__vwsn::This(item.Obj())->SetSub1(::vl::__vwsn::Unbox<::vl::WString>(field)); + return ::vl::reflection::description::Value(); + } + else + { + return ::vl::__vwsn::Box(::vl::__vwsn::This(item.Obj())->GetSub1()); } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->SetAcceptTabInput(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf278_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::__vwsnf278_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0) + __vwsnf274_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf274_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf278_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf274_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5)->GetAcceptTabInput(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5)->SetAcceptTabInput(__vwsn_new_); + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetSmallImage(); } //------------------------------------------------------------------- - __vwsnf279_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::__vwsnf279_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0) + __vwsnf275_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf275_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf279_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf275_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8)->GetAcceptTabInput(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8)->SetAcceptTabInput(__vwsn_new_); + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetLargeImage(); + } + + //------------------------------------------------------------------- + + __vwsnf276_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf276_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf276_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetName(); + } + + //------------------------------------------------------------------- + + __vwsnf277_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf277_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf277_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetSub1(); + } + + //------------------------------------------------------------------- + + __vwsnf278_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf278_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf278_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetSub2(); + } + + //------------------------------------------------------------------- + + __vwsnf279_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf279_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf279_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetSub3(); } //------------------------------------------------------------------- @@ -3631,104 +3641,349 @@ Closures //------------------------------------------------------------------- - __vwsnf280_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_::__vwsnf280_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(::demo::TextBoxSubTabPageConstructor* __vwsnctorthis_0) + __vwsnf280_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf280_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf280_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf280_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->GetAcceptTabInput(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) { - return; + auto __vwsn_switch_6 = ::vl::__vwsn::This(__vwsnthis_0->comboView)->GetSelectedIndex(); + if ((__vwsn_switch_6 == static_cast<::vl::vint>(0))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::BigIcon); + } + else if ((__vwsn_switch_6 == static_cast<::vl::vint>(1))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::SmallIcon); + } + else if ((__vwsn_switch_6 == static_cast<::vl::vint>(2))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::List); + } + else if ((__vwsn_switch_6 == static_cast<::vl::vint>(3))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Tile); + } + else if ((__vwsn_switch_6 == static_cast<::vl::vint>(4))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Information); + } + else if ((__vwsn_switch_6 == static_cast<::vl::vint>(5))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Detail); + } } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->SetAcceptTabInput(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf281_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_::__vwsnf281_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(::demo::TextBoxSubTabPageConstructor* __vwsnctorthis_0) + __vwsnf281_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf281_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf281_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf281_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5)->GetAcceptTabInput(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf282_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__(__vwsnthis_0))); + } + + //------------------------------------------------------------------- + + __vwsnf282_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__::__vwsnf282_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf282_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__::operator()(const ::vl::reflection::description::Value& value) const + { + return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(value).Obj())->GetName(); + } + + //------------------------------------------------------------------- + + __vwsnf283_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf283_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf283_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf284_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__(__vwsnthis_0))); + } + + //------------------------------------------------------------------- + + __vwsnf284_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__::__vwsnf284_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf284_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__::operator()(const ::vl::reflection::description::Value& value) const + { + return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(value).Obj())->GetTitle(); + } + + //------------------------------------------------------------------- + + __vwsnf285_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf285_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf285_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto s = ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->items.Obj())->Get(static_cast<::vl::vint>(0))).Obj())->GetSub1(); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->items.Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetSub1(((s == ::vl::WString::Unmanaged(L"One")) ? ::vl::WString::Unmanaged(L"SubColumn") : ::vl::WString::Unmanaged(L"One"))); + ::vl::__vwsn::This(__vwsnthis_0->listView)->NotifyItemDataModified(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1)); + } + + //------------------------------------------------------------------- + + __vwsnf286_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf286_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf286_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto s = ::vl::__vwsn::Unbox<::vl::vint>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->Get(static_cast<::vl::vint>(0))); + auto c = ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->GetCount(); + if ((c == static_cast<::vl::vint>(3))) { - return; + if ((s == static_cast<::vl::vint>(0))) + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->Set(static_cast<::vl::vint>(0), ::vl::__vwsn::Box(static_cast<::vl::vint>(1))); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->RemoveAt(static_cast<::vl::vint>(2)); + } } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5)->SetAcceptTabInput(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf282_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::__vwsnf282_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf282_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(__vwsnthis_0->self)->OnMakeFontLarger)(); - } - - //------------------------------------------------------------------- - - __vwsnf283_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::__vwsnf283_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf283_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) + else { - return; + if ((s == static_cast<::vl::vint>(0))) + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(2))); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->Set(static_cast<::vl::vint>(0), ::vl::__vwsn::Box(static_cast<::vl::vint>(0))); + } } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7)->SetEnabled(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf284_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::__vwsnf284_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) + __vwsnf287_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::__vwsnf287_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf284_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + void __vwsnf287_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const { - ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(__vwsnthis_0->self)->OnMakeFontSmaller)(); + auto s = ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(1))).Obj())->GetText(); + auto c = ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->GetCount(); + if ((c == static_cast<::vl::vint>(4))) + { + if ((s == ::vl::WString::Unmanaged(L"Category"))) + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetText(::vl::WString::Unmanaged(L"What?")); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(2))).Obj())->SetText(::vl::WString::Unmanaged(L"Wait?")); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->RemoveAt(static_cast<::vl::vint>(1)); + } + } + else + { + if ((s == ::vl::WString::Unmanaged(L"Size"))) + { + auto column = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn()); + ::vl::__vwsn::This(column.Obj())->SetText(::vl::WString::Unmanaged(L"Category")); + ::vl::__vwsn::This(column.Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf288_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__(__vwsnthis_0))); + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Insert(static_cast<::vl::vint>(1), ::vl::__vwsn::Box(column)); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetText(::vl::WString::Unmanaged(L"Size")); + } + } } //------------------------------------------------------------------- - __vwsnf285_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::__vwsnf285_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) + __vwsnf288_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__::__vwsnf288_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf285_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::operator()() const + ::vl::WString __vwsnf288_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__::operator()(const ::vl::reflection::description::Value& value) const { - ::vl::__vwsn::This(__vwsnthis_0->self)->UpdateFont(GLOBAL_NAME ChangeFontSize(::vl::__vwsn::This(__vwsnthis_0->t1)->GetDisplayFont(), static_cast<::vl::vint>(5))); + return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(value).Obj())->GetSub1(); } //------------------------------------------------------------------- - __vwsnf286_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::__vwsnf286_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) + __vwsnf289_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::__vwsnf289_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf286_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::operator()() const + bool __vwsnf289_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_, bool __vwsn_value_, bool __vwsn_update_) const { - ::vl::__vwsn::This(__vwsnthis_0->self)->UpdateFont(GLOBAL_NAME ChangeFontSize(::vl::__vwsn::This(__vwsnthis_0->t1)->GetDisplayFont(), (- static_cast<::vl::vint>(5)))); + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + if (__vwsn_update_) + { + ::vl::__vwsn::This(item.Obj())->SetSelected(__vwsn_value_); + return false; + } + else + { + return ::vl::__vwsn::This(item.Obj())->GetSelected(); + } + } + + //------------------------------------------------------------------- + + __vwsnf290_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::__vwsnf290_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf290_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetName(); + } + + //------------------------------------------------------------------- + + __vwsnf291_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::__vwsnf291_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf291_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(__vwsnthis_0->textList)->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf292_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__(__vwsnthis_0))); + } + + //------------------------------------------------------------------- + + __vwsnf292_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__::__vwsnf292_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf292_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__::operator()(const ::vl::reflection::description::Value& value) const + { + return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(value).Obj())->GetName(); + } + + //------------------------------------------------------------------- + + __vwsnf293_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::__vwsnf293_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf293_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(__vwsnthis_0->textList)->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf294_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__(__vwsnthis_0))); + } + + //------------------------------------------------------------------- + + __vwsnf294_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__::__vwsnf294_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf294_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__::operator()(const ::vl::reflection::description::Value& value) const + { + return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(value).Obj())->GetTitle(); + } + + //------------------------------------------------------------------- + + __vwsnf295_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::__vwsnf295_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf295_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->items.Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetSelected(true); + ::vl::__vwsn::This(__vwsnthis_0->textList)->NotifyItemDataModified(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1)); + } + + //------------------------------------------------------------------- + + __vwsnf296_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::__vwsnf296_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf296_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->items.Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetSelected(false); + ::vl::__vwsn::This(__vwsnthis_0->textList)->NotifyItemDataModified(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1)); + } + + //------------------------------------------------------------------- + + __vwsnf297_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::__vwsnf297_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf297_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + if (::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->items.Obj())->Get(static_cast<::vl::vint>(0))).Obj())->GetSelected()) + { + ::vl::__vwsn::This(__vwsnthis_0->buttonRead)->SetText(::vl::WString::Unmanaged(L"Read (true)")); + } + else + { + ::vl::__vwsn::This(__vwsnthis_0->buttonRead)->SetText(::vl::WString::Unmanaged(L"Read (false)")); + } + } + + //------------------------------------------------------------------- + + __vwsnf298_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::__vwsnf298_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::reflection::description::Value __vwsnf298_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + if (__vwsn_update_) + { + ::vl::__vwsn::This(item.Obj())->SetDoNotUse(::vl::__vwsn::Unbox<::vl::reflection::description::Value>(__vwsn_value_)); + return ::vl::reflection::description::Value(); + } + else + { + return ::vl::__vwsn::This(item.Obj())->GetDoNotUse(); + } + } + + //------------------------------------------------------------------- + + __vwsnf299_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::__vwsnf299_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::Ptr<::vl::reflection::description::IValueEnumerable> __vwsnf299_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::Ptr<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(item.Obj())->GetChildren()); } //------------------------------------------------------------------- @@ -3760,6 +4015,161 @@ Closures //------------------------------------------------------------------- + __vwsnf300_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::__vwsnf300_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf300_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetSmallImage(); + } + + //------------------------------------------------------------------- + + __vwsnf301_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::__vwsnf301_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf301_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetName(); + } + + //------------------------------------------------------------------- + + __vwsnf302_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::__vwsnf302_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf302_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(__vwsnthis_0->treeView)->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf303_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__(__vwsnthis_0))); + } + + //------------------------------------------------------------------- + + __vwsnf303_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__::__vwsnf303_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf303_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__::operator()(const ::vl::reflection::description::Value& value) const + { + return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(value).Obj())->GetName(); + } + + //------------------------------------------------------------------- + + __vwsnf304_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::__vwsnf304_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf304_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(__vwsnthis_0->treeView)->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf305_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__(__vwsnthis_0))); + } + + //------------------------------------------------------------------- + + __vwsnf305_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__::__vwsnf305_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::WString __vwsnf305_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__::operator()(const ::vl::reflection::description::Value& value) const + { + return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(value).Obj())->GetTitle(); + } + + //------------------------------------------------------------------- + + __vwsnf306_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::__vwsnf306_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf306_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto data = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(0))); + ::vl::__vwsn::This(data.Obj())->SetName(((::vl::__vwsn::This(data.Obj())->GetName() == ::vl::WString::Unmanaged(L"First")) ? ::vl::WString::Unmanaged(L"One") : ::vl::WString::Unmanaged(L"First"))); + ::vl::__vwsn::This(data.Obj())->SetTitle(((::vl::__vwsn::This(data.Obj())->GetTitle() == ::vl::WString::Unmanaged(L"1st")) ? ::vl::WString::Unmanaged(L"One") : ::vl::WString::Unmanaged(L"1st"))); + ::vl::__vwsn::This(__vwsnthis_0->treeView)->NotifyNodeDataModified(::vl::__vwsn::Box(data)); + } + + //------------------------------------------------------------------- + + __vwsnf307_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::__vwsnf307_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf307_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto data = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(0))).Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(1))); + ::vl::__vwsn::This(data.Obj())->SetName(((::vl::__vwsn::This(data.Obj())->GetName() == ::vl::WString::Unmanaged(L"Second (1)")) ? ::vl::WString::Unmanaged(L"Two (1)") : ::vl::WString::Unmanaged(L"Second (1)"))); + ::vl::__vwsn::This(data.Obj())->SetTitle(((::vl::__vwsn::This(data.Obj())->GetTitle() == ::vl::WString::Unmanaged(L"2nd (1)")) ? ::vl::WString::Unmanaged(L"Two (1)") : ::vl::WString::Unmanaged(L"2nd (1)"))); + ::vl::__vwsn::This(__vwsnthis_0->treeView)->NotifyNodeDataModified(::vl::__vwsn::Box(data)); + } + + //------------------------------------------------------------------- + + __vwsnf308_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_::__vwsnf308_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(::demo::RefreshListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf308_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + { + auto __vwsn_switch_7 = ::vl::__vwsn::This(__vwsnthis_0->comboView)->GetSelectedIndex(); + if ((__vwsn_switch_7 == static_cast<::vl::vint>(0))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::BigIcon); + } + else if ((__vwsn_switch_7 == static_cast<::vl::vint>(1))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::SmallIcon); + } + else if ((__vwsn_switch_7 == static_cast<::vl::vint>(2))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::List); + } + else if ((__vwsn_switch_7 == static_cast<::vl::vint>(3))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Tile); + } + else if ((__vwsn_switch_7 == static_cast<::vl::vint>(4))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Information); + } + else if ((__vwsn_switch_7 == static_cast<::vl::vint>(5))) + { + ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Detail); + } + } + } + + //------------------------------------------------------------------- + + __vwsnf309_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_::__vwsnf309_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(::demo::RefreshListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf309_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto s = ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetItems()).Obj())->Get(static_cast<::vl::vint>(0))).Obj())->GetText(); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetItems()).Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetText(((s == ::vl::WString::Unmanaged(L"First")) ? ::vl::WString::Unmanaged(L"MainColumn") : ::vl::WString::Unmanaged(L"First"))); + } + + //------------------------------------------------------------------- + __vwsnf30_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_::__vwsnf30_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -3781,6 +4191,208 @@ Closures //------------------------------------------------------------------- + __vwsnf310_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_::__vwsnf310_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(::demo::RefreshListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf310_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto s = ::vl::__vwsn::Unbox<::vl::WString>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetItems()).Obj())->Get(static_cast<::vl::vint>(0))).Obj())->GetSubItems()).Obj())->Get(static_cast<::vl::vint>(0))); + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetItems()).Obj())->Get(static_cast<::vl::vint>(0))).Obj())->GetSubItems()).Obj())->Set(static_cast<::vl::vint>(0), ::vl::__vwsn::Box(((s == ::vl::WString::Unmanaged(L"One")) ? ::vl::WString::Unmanaged(L"SubColumn") : ::vl::WString::Unmanaged(L"One")))); + } + + //------------------------------------------------------------------- + + __vwsnf311_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_::__vwsnf311_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(::demo::RefreshListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf311_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto s = ::vl::__vwsn::Unbox<::vl::vint>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->Get(static_cast<::vl::vint>(0))); + auto c = ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->GetCount(); + if ((c == static_cast<::vl::vint>(3))) + { + if ((s == static_cast<::vl::vint>(0))) + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->Set(static_cast<::vl::vint>(0), ::vl::__vwsn::Box(static_cast<::vl::vint>(1))); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->RemoveAt(static_cast<::vl::vint>(2)); + } + } + else + { + if ((s == static_cast<::vl::vint>(0))) + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(2))); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetDataColumns()).Obj())->Set(static_cast<::vl::vint>(0), ::vl::__vwsn::Box(static_cast<::vl::vint>(0))); + } + } + } + + //------------------------------------------------------------------- + + __vwsnf312_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_::__vwsnf312_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(::demo::RefreshListViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf312_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto s = ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(1))).Obj())->GetText(); + auto c = ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->GetCount(); + if ((c == static_cast<::vl::vint>(4))) + { + if ((s == ::vl::WString::Unmanaged(L"Category"))) + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetText(::vl::WString::Unmanaged(L"What?")); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(2))).Obj())->SetText(::vl::WString::Unmanaged(L"Wait?")); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->RemoveAt(static_cast<::vl::vint>(1)); + } + } + else + { + if ((s == ::vl::WString::Unmanaged(L"Size"))) + { + auto column = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn()); + ::vl::__vwsn::This(column.Obj())->SetText(::vl::WString::Unmanaged(L"Category")); + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Insert(static_cast<::vl::vint>(1), ::vl::__vwsn::Box(column)); + } + else + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetColumns()).Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetText(::vl::WString::Unmanaged(L"Size")); + } + } + } + + //------------------------------------------------------------------- + + __vwsnf313_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_::__vwsnf313_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_(::demo::RefreshTextListTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf313_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::TextItem>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetChecked(true); + } + + //------------------------------------------------------------------- + + __vwsnf314_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_::__vwsnf314_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_(::demo::RefreshTextListTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf314_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::TextItem>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetChecked(false); + } + + //------------------------------------------------------------------- + + __vwsnf315_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_::__vwsnf315_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_(::demo::RefreshTextListTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf315_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + if (::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::TextItem>>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->Get(static_cast<::vl::vint>(0))).Obj())->GetChecked()) + { + ::vl::__vwsn::This(__vwsnthis_0->buttonRead)->SetText(::vl::WString::Unmanaged(L"Read (true)")); + } + else + { + ::vl::__vwsn::This(__vwsnthis_0->buttonRead)->SetText(::vl::WString::Unmanaged(L"Read (false)")); + } + } + + //------------------------------------------------------------------- + + __vwsnf316_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_::__vwsnf316_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_(::demo::RefreshTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf316_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto node = ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->treeView)->Nodes().Obj())->GetRootNode().Obj())->GetChild(static_cast<::vl::vint>(0)); + auto data = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->treeView)->Nodes().Obj())->GetTreeViewData(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::tree::INodeProvider*>(node.Obj()))); + (::vl::__vwsn::This(data.Obj())->text = ((::vl::__vwsn::This(data.Obj())->text == ::vl::WString::Unmanaged(L"First")) ? ::vl::WString::Unmanaged(L"One") : ::vl::WString::Unmanaged(L"First"))); + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->treeView)->Nodes().Obj())->UpdateTreeViewData(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::tree::INodeProvider*>(node.Obj()))); + } + + //------------------------------------------------------------------- + + __vwsnf317_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_::__vwsnf317_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_(::demo::RefreshTreeViewTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf317_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto node = ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->treeView)->Nodes().Obj())->GetRootNode().Obj())->GetChild(static_cast<::vl::vint>(0)).Obj())->GetChild(static_cast<::vl::vint>(1)); + auto data = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->treeView)->Nodes().Obj())->GetTreeViewData(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::tree::INodeProvider*>(node.Obj()))); + (::vl::__vwsn::This(data.Obj())->text = ((::vl::__vwsn::This(data.Obj())->text == ::vl::WString::Unmanaged(L"Second (1)")) ? ::vl::WString::Unmanaged(L"Two (1)") : ::vl::WString::Unmanaged(L"Second (1)"))); + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->treeView)->Nodes().Obj())->UpdateTreeViewData(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::tree::INodeProvider*>(node.Obj()))); + } + + //------------------------------------------------------------------- + + __vwsnf318_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf318_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf318_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + { + auto __vwsn_for_begin_i = static_cast<::vl::vint>(0); + auto __vwsn_for_end_i = static_cast<::vl::vint>(9); + auto i = __vwsn_for_begin_i; + while ((i <= __vwsn_for_end_i)) + { + { + auto textItem = ::vl::Ptr<::demo::MyTextItem>(new ::demo::MyTextItem()); + ::vl::__vwsn::This(textItem.Obj())->SetName(::vl::__vwsn::This(__vwsnthis_0->self)->NumberToText((::vl::__vwsn::This(__vwsnthis_0->self)->counter + i))); + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->Add(::vl::__vwsn::Box(textItem)); + } + (i = (i + static_cast<::vl::vint>(1))); + } + } + (::vl::__vwsn::This(__vwsnthis_0->self)->counter = (::vl::__vwsn::This(__vwsnthis_0->self)->counter + static_cast<::vl::vint>(10))); + } + + //------------------------------------------------------------------- + + __vwsnf319_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf319_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf319_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto i = static_cast<::vl::vint>(0); + while ((i < ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->GetCount())) + { + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->RemoveAt(i); + (i = (i + static_cast<::vl::vint>(1))); + } + } + + //------------------------------------------------------------------- + __vwsnf31_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_::__vwsnf31_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -3794,6 +4406,167 @@ Closures //------------------------------------------------------------------- + __vwsnf320_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf320_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf320_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto i = static_cast<::vl::vint>(1); + while ((i < ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->GetCount())) + { + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->RemoveAt(i); + (i = (i + static_cast<::vl::vint>(1))); + } + } + + //------------------------------------------------------------------- + + __vwsnf321_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf321_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf321_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->GetItemsToBind().Obj())->Clear(); + } + + //------------------------------------------------------------------- + + __vwsnf322_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf322_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf322_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + (::vl::__vwsn::This(__vwsnthis_0->self)->counter = static_cast<::vl::vint>(0)); + } + + //------------------------------------------------------------------- + + __vwsnf323_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::__vwsnf323_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf323_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf324_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_::__vwsnf324_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_(::demo::RepeatItemTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf324_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf325_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_::__vwsnf325_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_(::demo::SharedSizeItemTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf325_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf326_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::__vwsnf326_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf326_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf327_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::__vwsnf327_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf327_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetColor(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->SetColor(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf328_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::__vwsnf328_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf328_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetFont(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->SetFont(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf329_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::__vwsnf329_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf329_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelUp(); + } + + //------------------------------------------------------------------- + __vwsnf32_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_::__vwsnf32_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -3836,6 +4609,168 @@ Closures //------------------------------------------------------------------- + __vwsnf330_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::__vwsnf330_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf330_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelDown(); + } + + //------------------------------------------------------------------- + + __vwsnf331_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::__vwsnf331_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf331_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_38)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_38)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf332_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::__vwsnf332_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf332_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_40)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_40)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf333_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::__vwsnf333_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf333_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelUp(); + } + + //------------------------------------------------------------------- + + __vwsnf334_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::__vwsnf334_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf334_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelDown(); + } + + //------------------------------------------------------------------- + + __vwsnf335_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::__vwsnf335_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf335_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_38)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_38)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf336_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::__vwsnf336_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf336_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_40)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_40)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf337_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf337_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf337_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf338_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf338_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf338_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_13)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_13)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf339_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf339_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf339_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_19)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_19)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + __vwsnf33_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_::__vwsnf33_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -3855,6 +4790,174 @@ Closures //------------------------------------------------------------------- + __vwsnf340_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf340_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf340_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_25)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_25)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf341_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf341_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf341_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelUp(); + } + + //------------------------------------------------------------------- + + __vwsnf342_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf342_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf342_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(__vwsnthis_0->responsive)->LevelDown(); + } + + //------------------------------------------------------------------- + + __vwsnf343_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf343_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf343_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_33)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_33)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf344_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::__vwsnf344_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf344_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_35)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_35)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf345_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::__vwsnf345_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf345_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->GetAcceptTabInput(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->SetAcceptTabInput(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf346_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::__vwsnf346_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf346_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5)->GetAcceptTabInput(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5)->SetAcceptTabInput(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf347_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::__vwsnf347_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf347_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8)->GetAcceptTabInput(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8)->SetAcceptTabInput(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf348_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_::__vwsnf348_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(::demo::TextBoxSubTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf348_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->GetAcceptTabInput(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2)->SetAcceptTabInput(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf349_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_::__vwsnf349_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(::demo::TextBoxSubTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf349_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5)->GetAcceptTabInput(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5)->SetAcceptTabInput(__vwsn_new_); + } + + //------------------------------------------------------------------- + __vwsnf34_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_::__vwsnf34_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_(::demo::ListViewTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -3868,6 +4971,72 @@ Closures //------------------------------------------------------------------- + __vwsnf350_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::__vwsnf350_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf350_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(__vwsnthis_0->self)->OnMakeFontLarger)(); + } + + //------------------------------------------------------------------- + + __vwsnf351_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::__vwsnf351_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf351_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7)->GetEnabled(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7)->SetEnabled(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf352_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::__vwsnf352_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf352_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(__vwsnthis_0->self)->OnMakeFontSmaller)(); + } + + //------------------------------------------------------------------- + + __vwsnf353_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::__vwsnf353_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf353_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::operator()() const + { + ::vl::__vwsn::This(__vwsnthis_0->self)->UpdateFont(GLOBAL_NAME ChangeFontSize(::vl::__vwsn::This(__vwsnthis_0->t1)->GetDisplayFont(), static_cast<::vl::vint>(5))); + } + + //------------------------------------------------------------------- + + __vwsnf354_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::__vwsnf354_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf354_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_::operator()() const + { + ::vl::__vwsn::This(__vwsnthis_0->self)->UpdateFont(GLOBAL_NAME ChangeFontSize(::vl::__vwsn::This(__vwsnthis_0->t1)->GetDisplayFont(), (- static_cast<::vl::vint>(5)))); + } + + //------------------------------------------------------------------- + __vwsnf35_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_::__vwsnf35_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_(::demo::ListViewTabPageConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -4027,13 +5196,13 @@ Closures void __vwsnf44_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_17)->GetText(); + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_27)->GetText(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); if ((__vwsn_old_ == __vwsn_new_)) { return; } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_17)->SetText(__vwsn_new_); + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_27)->SetText(__vwsn_new_); } //------------------------------------------------------------------- @@ -4045,13 +5214,13 @@ Closures void __vwsnf45_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_19)->GetText(); + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_29)->GetText(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); if ((__vwsn_old_ == __vwsn_new_)) { return; } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_19)->SetText(__vwsn_new_); + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_29)->SetText(__vwsn_new_); } //------------------------------------------------------------------- @@ -16763,12 +17932,12 @@ Class (::demo::DocumentBoxSubTabPageConstructor) } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc146_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf277_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf345_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc147_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf278_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf346_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { @@ -16776,7 +17945,7 @@ Class (::demo::DocumentBoxSubTabPageConstructor) } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc148_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf279_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf347_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { @@ -20550,28 +21719,28 @@ Class (::demo::EnglishNumbersControllerConstructor) ::vl::__vwsn::This(this->self)->AddChild(this->__vwsn_precompile_0); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf250_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf318_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_3)->Clicked, __vwsn_event_handler_); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf251_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf319_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_6)->Clicked, __vwsn_event_handler_); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf252_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf320_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_9)->Clicked, __vwsn_event_handler_); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf253_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf321_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_12)->Clicked, __vwsn_event_handler_); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf254_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf322_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_15)->Clicked, __vwsn_event_handler_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc130_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf255_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf323_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } } @@ -20615,40 +21784,40 @@ Class (::demo::EnglishNumbersController) ::vl::WString EnglishNumbersController::ToText_1to9(::vl::vint i) { { - auto __vwsn_switch_5 = i; - if ((__vwsn_switch_5 == static_cast<::vl::vint>(1))) + auto __vwsn_switch_8 = i; + if ((__vwsn_switch_8 == static_cast<::vl::vint>(1))) { return ::vl::WString::Unmanaged(L"one"); } - else if ((__vwsn_switch_5 == static_cast<::vl::vint>(2))) + else if ((__vwsn_switch_8 == static_cast<::vl::vint>(2))) { return ::vl::WString::Unmanaged(L"two"); } - else if ((__vwsn_switch_5 == static_cast<::vl::vint>(3))) + else if ((__vwsn_switch_8 == static_cast<::vl::vint>(3))) { return ::vl::WString::Unmanaged(L"three"); } - else if ((__vwsn_switch_5 == static_cast<::vl::vint>(4))) + else if ((__vwsn_switch_8 == static_cast<::vl::vint>(4))) { return ::vl::WString::Unmanaged(L"four"); } - else if ((__vwsn_switch_5 == static_cast<::vl::vint>(5))) + else if ((__vwsn_switch_8 == static_cast<::vl::vint>(5))) { return ::vl::WString::Unmanaged(L"five"); } - else if ((__vwsn_switch_5 == static_cast<::vl::vint>(6))) + else if ((__vwsn_switch_8 == static_cast<::vl::vint>(6))) { return ::vl::WString::Unmanaged(L"six"); } - else if ((__vwsn_switch_5 == static_cast<::vl::vint>(7))) + else if ((__vwsn_switch_8 == static_cast<::vl::vint>(7))) { return ::vl::WString::Unmanaged(L"seven"); } - else if ((__vwsn_switch_5 == static_cast<::vl::vint>(8))) + else if ((__vwsn_switch_8 == static_cast<::vl::vint>(8))) { return ::vl::WString::Unmanaged(L"eight"); } - else if ((__vwsn_switch_5 == static_cast<::vl::vint>(9))) + else if ((__vwsn_switch_8 == static_cast<::vl::vint>(9))) { return ::vl::WString::Unmanaged(L"nine"); } @@ -20659,40 +21828,40 @@ Class (::demo::EnglishNumbersController) ::vl::WString EnglishNumbersController::ToText_11to19(::vl::vint i) { { - auto __vwsn_switch_6 = i; - if ((__vwsn_switch_6 == static_cast<::vl::vint>(1))) + auto __vwsn_switch_9 = i; + if ((__vwsn_switch_9 == static_cast<::vl::vint>(1))) { return ::vl::WString::Unmanaged(L"eleven"); } - else if ((__vwsn_switch_6 == static_cast<::vl::vint>(2))) + else if ((__vwsn_switch_9 == static_cast<::vl::vint>(2))) { return ::vl::WString::Unmanaged(L"twelve"); } - else if ((__vwsn_switch_6 == static_cast<::vl::vint>(3))) + else if ((__vwsn_switch_9 == static_cast<::vl::vint>(3))) { return ::vl::WString::Unmanaged(L"thirteen"); } - else if ((__vwsn_switch_6 == static_cast<::vl::vint>(4))) + else if ((__vwsn_switch_9 == static_cast<::vl::vint>(4))) { return ::vl::WString::Unmanaged(L"fourteen"); } - else if ((__vwsn_switch_6 == static_cast<::vl::vint>(5))) + else if ((__vwsn_switch_9 == static_cast<::vl::vint>(5))) { return ::vl::WString::Unmanaged(L"fifteen"); } - else if ((__vwsn_switch_6 == static_cast<::vl::vint>(6))) + else if ((__vwsn_switch_9 == static_cast<::vl::vint>(6))) { return ::vl::WString::Unmanaged(L"sixteen"); } - else if ((__vwsn_switch_6 == static_cast<::vl::vint>(7))) + else if ((__vwsn_switch_9 == static_cast<::vl::vint>(7))) { return ::vl::WString::Unmanaged(L"seventeen"); } - else if ((__vwsn_switch_6 == static_cast<::vl::vint>(8))) + else if ((__vwsn_switch_9 == static_cast<::vl::vint>(8))) { return ::vl::WString::Unmanaged(L"eightteen"); } - else if ((__vwsn_switch_6 == static_cast<::vl::vint>(9))) + else if ((__vwsn_switch_9 == static_cast<::vl::vint>(9))) { return ::vl::WString::Unmanaged(L"nineteen"); } @@ -20703,44 +21872,44 @@ Class (::demo::EnglishNumbersController) ::vl::WString EnglishNumbersController::NumberToText_1To99(::vl::vint i) { { - auto __vwsn_switch_7 = (i / static_cast<::vl::vint>(10)); - if ((__vwsn_switch_7 == static_cast<::vl::vint>(0))) + auto __vwsn_switch_10 = (i / static_cast<::vl::vint>(10)); + if ((__vwsn_switch_10 == static_cast<::vl::vint>(0))) { return this->ToText_1to9((i % static_cast<::vl::vint>(10))); } - else if ((__vwsn_switch_7 == static_cast<::vl::vint>(1))) + else if ((__vwsn_switch_10 == static_cast<::vl::vint>(1))) { return ((i == static_cast<::vl::vint>(10)) ? ::vl::WString::Unmanaged(L"ten") : this->ToText_11to19((i % static_cast<::vl::vint>(10)))); } - else if ((__vwsn_switch_7 == static_cast<::vl::vint>(2))) + else if ((__vwsn_switch_10 == static_cast<::vl::vint>(2))) { return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString::Unmanaged(L"twenty") : (::vl::WString::Unmanaged(L"twenty-") + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); } - else if ((__vwsn_switch_7 == static_cast<::vl::vint>(3))) + else if ((__vwsn_switch_10 == static_cast<::vl::vint>(3))) { return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString::Unmanaged(L"thirty") : (::vl::WString::Unmanaged(L"thirty-") + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); } - else if ((__vwsn_switch_7 == static_cast<::vl::vint>(4))) + else if ((__vwsn_switch_10 == static_cast<::vl::vint>(4))) { return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString::Unmanaged(L"fourty") : (::vl::WString::Unmanaged(L"fourty-") + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); } - else if ((__vwsn_switch_7 == static_cast<::vl::vint>(5))) + else if ((__vwsn_switch_10 == static_cast<::vl::vint>(5))) { return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString::Unmanaged(L"fifty") : (::vl::WString::Unmanaged(L"fifty-") + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); } - else if ((__vwsn_switch_7 == static_cast<::vl::vint>(6))) + else if ((__vwsn_switch_10 == static_cast<::vl::vint>(6))) { return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString::Unmanaged(L"sixty") : (::vl::WString::Unmanaged(L"sixty-") + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); } - else if ((__vwsn_switch_7 == static_cast<::vl::vint>(7))) + else if ((__vwsn_switch_10 == static_cast<::vl::vint>(7))) { return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString::Unmanaged(L"seventy") : (::vl::WString::Unmanaged(L"seventy-") + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); } - else if ((__vwsn_switch_7 == static_cast<::vl::vint>(8))) + else if ((__vwsn_switch_10 == static_cast<::vl::vint>(8))) { return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString::Unmanaged(L"eighty") : (::vl::WString::Unmanaged(L"eighty-") + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); } - else if ((__vwsn_switch_7 == static_cast<::vl::vint>(9))) + else if ((__vwsn_switch_10 == static_cast<::vl::vint>(9))) { return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString::Unmanaged(L"ninety") : (::vl::WString::Unmanaged(L"ninety-") + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); } @@ -23550,9 +24719,9 @@ Class (::demo::MainWindowConstructor) void MainWindowConstructor::__vwsn_demo_MainWindow_Initialize(::demo::MainWindow* __vwsn_this_) { (this->self = __vwsn_this_); - (this->__vwsn_precompile_41 = ::vl::__vwsn::This(this->self)->GetBoundsComposition()); + (this->__vwsn_precompile_51 = ::vl::__vwsn::This(this->self)->GetBoundsComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_41)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(640); __vwsn_temp__.y = static_cast<::vl::vint>(480); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_51)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(640); __vwsn_temp__.y = static_cast<::vl::vint>(480); return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(640); __vwsn_temp__.y = static_cast<::vl::vint>(480); return __vwsn_temp__; }()); @@ -23628,27 +24797,67 @@ Class (::demo::MainWindowConstructor) ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetAlt(::vl::WString::Unmanaged(L"L")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetText(::vl::WString::Unmanaged(L"Layout")); + ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetText(::vl::WString::Unmanaged(L"Refresh List")); } { (this->__vwsn_precompile_10 = new ::vl::presentation::controls::GuiTab(::vl::presentation::theme::ThemeName::Tab)); } - (this->__vwsn_precompile_12 = new ::demo::RepeatTabPage()); + (this->__vwsn_precompile_12 = new ::demo::RefreshTextListTabPage()); { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetAlt(::vl::WString::Unmanaged(L"R")); + ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetAlt(::vl::WString::Unmanaged(L"T")); } { auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_10)->GetPages()); ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_12)); } - (this->__vwsn_precompile_13 = new ::demo::ResponsiveTabPage()); + (this->__vwsn_precompile_13 = new ::demo::RefreshBindableTextListTabPage()); { - ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetAlt(::vl::WString::Unmanaged(L"R")); + ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetAlt(::vl::WString::Unmanaged(L"BT")); } { auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_10)->GetPages()); ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13)); } + (this->__vwsn_precompile_14 = new ::demo::RefreshListViewTabPage()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetAlt(::vl::WString::Unmanaged(L"L")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_10)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_14)); + } + (this->__vwsn_precompile_15 = new ::demo::RefreshBindableListViewTabPage()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetAlt(::vl::WString::Unmanaged(L"BL")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_10)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_15)); + } + (this->__vwsn_precompile_16 = new ::demo::RefreshTreeViewTabPage()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetAlt(::vl::WString::Unmanaged(L"T")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_10)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_16)); + } + (this->__vwsn_precompile_17 = new ::demo::RefreshBindableTreeViewTabPage()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetAlt(::vl::WString::Unmanaged(L"BT")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_10)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_17)); + } + (this->__vwsn_precompile_18 = new ::demo::RefreshBindableDataGridTabPage()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetAlt(::vl::WString::Unmanaged(L"D")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_10)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_18)); + } (this->__vwsn_precompile_11 = ::vl::__vwsn::This(this->__vwsn_precompile_10)->GetBoundsComposition()); { ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); @@ -23660,159 +24869,198 @@ Class (::demo::MainWindowConstructor) auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_9)); } - { - (this->__vwsn_precompile_14 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetAlt(::vl::WString::Unmanaged(L"L")); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetText(::vl::WString::Unmanaged(L"Control")); - } - { - (this->__vwsn_precompile_15 = new ::vl::presentation::controls::GuiTab(::vl::presentation::theme::ThemeName::Tab)); - } - { - (this->__vwsn_precompile_17 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetAlt(::vl::WString::Unmanaged(L"D")); - } - (this->editorRibbon = new ::demo::DocumentEditorRibbon()); - (this->__vwsn_precompile_18 = ::vl::__vwsn::This(this->editorRibbon)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_17)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->editorRibbon)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_15)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_17)); - } { (this->__vwsn_precompile_19 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); } { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetAlt(::vl::WString::Unmanaged(L"D")); - } - (this->editorToolstrip = new ::demo::DocumentEditorToolstrip()); - (this->__vwsn_precompile_20 = ::vl::__vwsn::This(this->editorToolstrip)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_20)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetAlt(::vl::WString::Unmanaged(L"L")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->editorToolstrip)); + ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetText(::vl::WString::Unmanaged(L"Layout")); } { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_15)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_19)); + (this->__vwsn_precompile_20 = new ::vl::presentation::controls::GuiTab(::vl::presentation::theme::ThemeName::Tab)); } - (this->__vwsn_precompile_21 = new ::demo::TextBoxTabPage()); + (this->__vwsn_precompile_22 = new ::demo::RepeatTabPage()); { - ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetAlt(::vl::WString::Unmanaged(L"T")); + ::vl::__vwsn::This(this->__vwsn_precompile_22)->SetAlt(::vl::WString::Unmanaged(L"R")); } { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_15)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_21)); + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_20)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_22)); } - (this->__vwsn_precompile_16 = ::vl::__vwsn::This(this->__vwsn_precompile_15)->GetBoundsComposition()); + (this->__vwsn_precompile_23 = new ::demo::ResponsiveTabPage()); { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_23)->SetAlt(::vl::WString::Unmanaged(L"R")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_15)); + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_20)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_23)); + } + (this->__vwsn_precompile_21 = ::vl::__vwsn::This(this->__vwsn_precompile_20)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_19)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_20)); } { auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_14)); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_19)); } { - (this->__vwsn_precompile_22 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); + (this->__vwsn_precompile_24 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); } { - ::vl::__vwsn::This(this->__vwsn_precompile_22)->SetAlt(::vl::WString::Unmanaged(L"M")); + ::vl::__vwsn::This(this->__vwsn_precompile_24)->SetAlt(::vl::WString::Unmanaged(L"L")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_22)->SetText(::vl::WString::Unmanaged(L"Misc")); + ::vl::__vwsn::This(this->__vwsn_precompile_24)->SetText(::vl::WString::Unmanaged(L"Control")); } { - (this->__vwsn_precompile_23 = new ::vl::presentation::controls::GuiTab(::vl::presentation::theme::ThemeName::Tab)); - } - (this->__vwsn_precompile_25 = new ::demo::ElementTabPage()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_25)->SetAlt(::vl::WString::Unmanaged(L"E")); + (this->__vwsn_precompile_25 = new ::vl::presentation::controls::GuiTab(::vl::presentation::theme::ThemeName::Tab)); } { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_23)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_25)); - } - (this->__vwsn_precompile_26 = new ::demo::AnimationTabPage()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_26)->SetAlt(::vl::WString::Unmanaged(L"A")); + (this->__vwsn_precompile_27 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); } { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_23)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_26)); + ::vl::__vwsn::This(this->__vwsn_precompile_27)->SetAlt(::vl::WString::Unmanaged(L"D")); } - (this->__vwsn_precompile_27 = new ::demo::LocalizedStringsTabPage()); + (this->editorRibbon = new ::demo::DocumentEditorRibbon()); + (this->__vwsn_precompile_28 = ::vl::__vwsn::This(this->editorRibbon)->GetBoundsComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_27)->SetAlt(::vl::WString::Unmanaged(L"L")); + ::vl::__vwsn::This(this->__vwsn_precompile_28)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); } { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_23)->GetPages()); + ::vl::__vwsn::This(this->__vwsn_precompile_27)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->editorRibbon)); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_25)->GetPages()); ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_27)); } - (this->__vwsn_precompile_28 = new ::demo::LocalizedDialogsTabPage()); { - ::vl::__vwsn::This(this->__vwsn_precompile_28)->SetAlt(::vl::WString::Unmanaged(L"L")); + (this->__vwsn_precompile_29 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_23)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_28)); - } - (this->__vwsn_precompile_29 = new ::demo::DatePickerTabPage()); { ::vl::__vwsn::This(this->__vwsn_precompile_29)->SetAlt(::vl::WString::Unmanaged(L"D")); } + (this->editorToolstrip = new ::demo::DocumentEditorToolstrip()); + (this->__vwsn_precompile_30 = ::vl::__vwsn::This(this->editorToolstrip)->GetBoundsComposition()); { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_23)->GetPages()); + ::vl::__vwsn::This(this->__vwsn_precompile_30)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_29)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->editorToolstrip)); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_25)->GetPages()); ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_29)); } - (this->__vwsn_precompile_24 = ::vl::__vwsn::This(this->__vwsn_precompile_23)->GetBoundsComposition()); + (this->__vwsn_precompile_31 = new ::demo::TextBoxTabPage()); { - ::vl::__vwsn::This(this->__vwsn_precompile_24)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_31)->SetAlt(::vl::WString::Unmanaged(L"T")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_22)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_23)); + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_25)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_31)); + } + (this->__vwsn_precompile_26 = ::vl::__vwsn::This(this->__vwsn_precompile_25)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_26)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_24)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_25)); } { auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_22)); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_24)); } { - (this->__vwsn_precompile_30 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); + (this->__vwsn_precompile_32 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); } { - ::vl::__vwsn::This(this->__vwsn_precompile_30)->SetAlt(::vl::WString::Unmanaged(L"W")); + ::vl::__vwsn::This(this->__vwsn_precompile_32)->SetAlt(::vl::WString::Unmanaged(L"M")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_30)->SetText(::vl::WString::Unmanaged(L"Window Manager")); - } - (this->__vwsn_precompile_31 = new ::vl::presentation::compositions::GuiStackComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + ::vl::__vwsn::This(this->__vwsn_precompile_32)->SetText(::vl::WString::Unmanaged(L"Misc")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->SetPadding(static_cast<::vl::vint>(5)); + (this->__vwsn_precompile_33 = new ::vl::presentation::controls::GuiTab(::vl::presentation::theme::ThemeName::Tab)); + } + (this->__vwsn_precompile_35 = new ::demo::ElementTabPage()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_35)->SetAlt(::vl::WString::Unmanaged(L"E")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_35)); + } + (this->__vwsn_precompile_36 = new ::demo::AnimationTabPage()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_36)->SetAlt(::vl::WString::Unmanaged(L"A")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->SetDirection(::vl::presentation::compositions::GuiStackComposition::Direction::Vertical); + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_36)); } - (this->__vwsn_precompile_32 = new ::vl::presentation::compositions::GuiStackItemComposition()); + (this->__vwsn_precompile_37 = new ::demo::LocalizedStringsTabPage()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_37)->SetAlt(::vl::WString::Unmanaged(L"L")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_37)); + } + (this->__vwsn_precompile_38 = new ::demo::LocalizedDialogsTabPage()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_38)->SetAlt(::vl::WString::Unmanaged(L"L")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_38)); + } + (this->__vwsn_precompile_39 = new ::demo::DatePickerTabPage()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_39)->SetAlt(::vl::WString::Unmanaged(L"D")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_39)); + } + (this->__vwsn_precompile_34 = ::vl::__vwsn::This(this->__vwsn_precompile_33)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_34)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_32)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_33)); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_32)); + } + { + (this->__vwsn_precompile_40 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_40)->SetAlt(::vl::WString::Unmanaged(L"W")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_40)->SetText(::vl::WString::Unmanaged(L"Window Manager")); + } + (this->__vwsn_precompile_41 = new ::vl::presentation::compositions::GuiStackComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_41)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_41)->SetPadding(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_41)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_41)->SetDirection(::vl::presentation::compositions::GuiStackComposition::Direction::Vertical); + } + (this->__vwsn_precompile_42 = new ::vl::presentation::compositions::GuiStackItemComposition()); { (this->checkFrame = new ::vl::presentation::controls::GuiSelectableButton(::vl::presentation::theme::ThemeName::CheckBox)); } @@ -23820,12 +25068,12 @@ Class (::demo::MainWindowConstructor) ::vl::__vwsn::This(this->checkFrame)->SetText(::vl::WString::Unmanaged(L"Customized Frame")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_32)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkFrame)->GetBoundsComposition())); + ::vl::__vwsn::This(this->__vwsn_precompile_42)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkFrame)->GetBoundsComposition())); } { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_32)); + ::vl::__vwsn::This(this->__vwsn_precompile_41)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_42)); } - (this->__vwsn_precompile_33 = new ::vl::presentation::compositions::GuiStackItemComposition()); + (this->__vwsn_precompile_43 = new ::vl::presentation::compositions::GuiStackItemComposition()); { (this->checkMax = new ::vl::presentation::controls::GuiSelectableButton(::vl::presentation::theme::ThemeName::CheckBox)); } @@ -23833,12 +25081,12 @@ Class (::demo::MainWindowConstructor) ::vl::__vwsn::This(this->checkMax)->SetText(::vl::WString::Unmanaged(L"MaximizedBox")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_33)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkMax)->GetBoundsComposition())); + ::vl::__vwsn::This(this->__vwsn_precompile_43)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkMax)->GetBoundsComposition())); } { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_33)); + ::vl::__vwsn::This(this->__vwsn_precompile_41)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_43)); } - (this->__vwsn_precompile_34 = new ::vl::presentation::compositions::GuiStackItemComposition()); + (this->__vwsn_precompile_44 = new ::vl::presentation::compositions::GuiStackItemComposition()); { (this->checkMin = new ::vl::presentation::controls::GuiSelectableButton(::vl::presentation::theme::ThemeName::CheckBox)); } @@ -23846,12 +25094,12 @@ Class (::demo::MainWindowConstructor) ::vl::__vwsn::This(this->checkMin)->SetText(::vl::WString::Unmanaged(L"MinimizedBox")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_34)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkMin)->GetBoundsComposition())); + ::vl::__vwsn::This(this->__vwsn_precompile_44)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkMin)->GetBoundsComposition())); } { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_34)); + ::vl::__vwsn::This(this->__vwsn_precompile_41)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_44)); } - (this->__vwsn_precompile_35 = new ::vl::presentation::compositions::GuiStackItemComposition()); + (this->__vwsn_precompile_45 = new ::vl::presentation::compositions::GuiStackItemComposition()); { (this->checkBorder = new ::vl::presentation::controls::GuiSelectableButton(::vl::presentation::theme::ThemeName::CheckBox)); } @@ -23859,12 +25107,12 @@ Class (::demo::MainWindowConstructor) ::vl::__vwsn::This(this->checkBorder)->SetText(::vl::WString::Unmanaged(L"Border")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_35)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkBorder)->GetBoundsComposition())); + ::vl::__vwsn::This(this->__vwsn_precompile_45)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkBorder)->GetBoundsComposition())); } { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_35)); + ::vl::__vwsn::This(this->__vwsn_precompile_41)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_45)); } - (this->__vwsn_precompile_36 = new ::vl::presentation::compositions::GuiStackItemComposition()); + (this->__vwsn_precompile_46 = new ::vl::presentation::compositions::GuiStackItemComposition()); { (this->checkSizeBox = new ::vl::presentation::controls::GuiSelectableButton(::vl::presentation::theme::ThemeName::CheckBox)); } @@ -23872,12 +25120,12 @@ Class (::demo::MainWindowConstructor) ::vl::__vwsn::This(this->checkSizeBox)->SetText(::vl::WString::Unmanaged(L"SizeBox")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_36)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkSizeBox)->GetBoundsComposition())); + ::vl::__vwsn::This(this->__vwsn_precompile_46)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkSizeBox)->GetBoundsComposition())); } { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_36)); + ::vl::__vwsn::This(this->__vwsn_precompile_41)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_46)); } - (this->__vwsn_precompile_37 = new ::vl::presentation::compositions::GuiStackItemComposition()); + (this->__vwsn_precompile_47 = new ::vl::presentation::compositions::GuiStackItemComposition()); { (this->checkIcon = new ::vl::presentation::controls::GuiSelectableButton(::vl::presentation::theme::ThemeName::CheckBox)); } @@ -23885,12 +25133,12 @@ Class (::demo::MainWindowConstructor) ::vl::__vwsn::This(this->checkIcon)->SetText(::vl::WString::Unmanaged(L"IconVisible")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_37)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkIcon)->GetBoundsComposition())); + ::vl::__vwsn::This(this->__vwsn_precompile_47)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkIcon)->GetBoundsComposition())); } { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_37)); + ::vl::__vwsn::This(this->__vwsn_precompile_41)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_47)); } - (this->__vwsn_precompile_38 = new ::vl::presentation::compositions::GuiStackItemComposition()); + (this->__vwsn_precompile_48 = new ::vl::presentation::compositions::GuiStackItemComposition()); { (this->checkTitle = new ::vl::presentation::controls::GuiSelectableButton(::vl::presentation::theme::ThemeName::CheckBox)); } @@ -23898,30 +25146,30 @@ Class (::demo::MainWindowConstructor) ::vl::__vwsn::This(this->checkTitle)->SetText(::vl::WString::Unmanaged(L"TitleBar")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_38)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkTitle)->GetBoundsComposition())); + ::vl::__vwsn::This(this->__vwsn_precompile_48)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkTitle)->GetBoundsComposition())); } { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_38)); + ::vl::__vwsn::This(this->__vwsn_precompile_41)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_48)); } - (this->__vwsn_precompile_39 = new ::vl::presentation::compositions::GuiStackItemComposition()); + (this->__vwsn_precompile_49 = new ::vl::presentation::compositions::GuiStackItemComposition()); { - (this->__vwsn_precompile_40 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + (this->__vwsn_precompile_50 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); } { - ::vl::__vwsn::This(this->__vwsn_precompile_40)->SetText(::vl::WString::Unmanaged(L"Open New Window")); + ::vl::__vwsn::This(this->__vwsn_precompile_50)->SetText(::vl::WString::Unmanaged(L"Open New Window")); } { - ::vl::__vwsn::This(this->__vwsn_precompile_39)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_40)->GetBoundsComposition())); + ::vl::__vwsn::This(this->__vwsn_precompile_49)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_50)->GetBoundsComposition())); } { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_39)); + ::vl::__vwsn::This(this->__vwsn_precompile_41)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_49)); } { - ::vl::__vwsn::This(::vl::__vwsn::This(this->__vwsn_precompile_30)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_31)); + ::vl::__vwsn::This(::vl::__vwsn::This(this->__vwsn_precompile_40)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_41)); } { auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_30)); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_40)); } (this->__vwsn_precompile_1 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition()); { @@ -24002,7 +25250,7 @@ Class (::demo::MainWindowConstructor) } { auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf54_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize_(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_40)->Clicked, __vwsn_event_handler_); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_50)->Clicked, __vwsn_event_handler_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc15_Demo_demo_MainWindowConstructor___vwsn_demo_MainWindow_Initialize__vl_reflection_description_IValueSubscription(this)); @@ -24059,36 +25307,46 @@ Class (::demo::MainWindowConstructor) , __vwsn_precompile_9(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) , __vwsn_precompile_10(static_cast<::vl::presentation::controls::GuiTab*>(nullptr)) , __vwsn_precompile_11(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_12(static_cast<::demo::RepeatTabPage*>(nullptr)) - , __vwsn_precompile_13(static_cast<::demo::ResponsiveTabPage*>(nullptr)) - , __vwsn_precompile_14(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) - , __vwsn_precompile_15(static_cast<::vl::presentation::controls::GuiTab*>(nullptr)) - , __vwsn_precompile_16(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_17(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) - , __vwsn_precompile_18(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_12(static_cast<::demo::RefreshTextListTabPage*>(nullptr)) + , __vwsn_precompile_13(static_cast<::demo::RefreshBindableTextListTabPage*>(nullptr)) + , __vwsn_precompile_14(static_cast<::demo::RefreshListViewTabPage*>(nullptr)) + , __vwsn_precompile_15(static_cast<::demo::RefreshBindableListViewTabPage*>(nullptr)) + , __vwsn_precompile_16(static_cast<::demo::RefreshTreeViewTabPage*>(nullptr)) + , __vwsn_precompile_17(static_cast<::demo::RefreshBindableTreeViewTabPage*>(nullptr)) + , __vwsn_precompile_18(static_cast<::demo::RefreshBindableDataGridTabPage*>(nullptr)) , __vwsn_precompile_19(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) - , __vwsn_precompile_20(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_21(static_cast<::demo::TextBoxTabPage*>(nullptr)) - , __vwsn_precompile_22(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) - , __vwsn_precompile_23(static_cast<::vl::presentation::controls::GuiTab*>(nullptr)) - , __vwsn_precompile_24(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_25(static_cast<::demo::ElementTabPage*>(nullptr)) - , __vwsn_precompile_26(static_cast<::demo::AnimationTabPage*>(nullptr)) - , __vwsn_precompile_27(static_cast<::demo::LocalizedStringsTabPage*>(nullptr)) - , __vwsn_precompile_28(static_cast<::demo::LocalizedDialogsTabPage*>(nullptr)) - , __vwsn_precompile_29(static_cast<::demo::DatePickerTabPage*>(nullptr)) - , __vwsn_precompile_30(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) - , __vwsn_precompile_31(static_cast<::vl::presentation::compositions::GuiStackComposition*>(nullptr)) - , __vwsn_precompile_32(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) - , __vwsn_precompile_33(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) - , __vwsn_precompile_34(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) - , __vwsn_precompile_35(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) - , __vwsn_precompile_36(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) - , __vwsn_precompile_37(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) - , __vwsn_precompile_38(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) - , __vwsn_precompile_39(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) - , __vwsn_precompile_40(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) - , __vwsn_precompile_41(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_20(static_cast<::vl::presentation::controls::GuiTab*>(nullptr)) + , __vwsn_precompile_21(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_22(static_cast<::demo::RepeatTabPage*>(nullptr)) + , __vwsn_precompile_23(static_cast<::demo::ResponsiveTabPage*>(nullptr)) + , __vwsn_precompile_24(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) + , __vwsn_precompile_25(static_cast<::vl::presentation::controls::GuiTab*>(nullptr)) + , __vwsn_precompile_26(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_27(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) + , __vwsn_precompile_28(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_29(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) + , __vwsn_precompile_30(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_31(static_cast<::demo::TextBoxTabPage*>(nullptr)) + , __vwsn_precompile_32(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) + , __vwsn_precompile_33(static_cast<::vl::presentation::controls::GuiTab*>(nullptr)) + , __vwsn_precompile_34(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_35(static_cast<::demo::ElementTabPage*>(nullptr)) + , __vwsn_precompile_36(static_cast<::demo::AnimationTabPage*>(nullptr)) + , __vwsn_precompile_37(static_cast<::demo::LocalizedStringsTabPage*>(nullptr)) + , __vwsn_precompile_38(static_cast<::demo::LocalizedDialogsTabPage*>(nullptr)) + , __vwsn_precompile_39(static_cast<::demo::DatePickerTabPage*>(nullptr)) + , __vwsn_precompile_40(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) + , __vwsn_precompile_41(static_cast<::vl::presentation::compositions::GuiStackComposition*>(nullptr)) + , __vwsn_precompile_42(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) + , __vwsn_precompile_43(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) + , __vwsn_precompile_44(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) + , __vwsn_precompile_45(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) + , __vwsn_precompile_46(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) + , __vwsn_precompile_47(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) + , __vwsn_precompile_48(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) + , __vwsn_precompile_49(static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr)) + , __vwsn_precompile_50(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_51(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) { } @@ -24223,6 +25481,2131 @@ Class (::demo::MyTextItem) { } +/*********************************************************************** +Class (::demo::RefreshBindableDataGridTabPageConstructor) +***********************************************************************/ + + void RefreshBindableDataGridTabPageConstructor::__vwsn_demo_RefreshBindableDataGridTabPage_Initialize(::demo::RefreshBindableDataGridTabPage* __vwsn_this_) + { + (this->self = __vwsn_this_); + { + ::vl::__vwsn::This(this->self)->SetText(::vl::WString::Unmanaged(L"BindableDataGrid")); + } + (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetBorderVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(7)); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(4), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(5), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(6), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiTextList(::vl::presentation::theme::ThemeName::TextList)); + } + (this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetText(::vl::WString::Unmanaged(L"BigIcon")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3)); + } + (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetText(::vl::WString::Unmanaged(L"SmallIcon")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4)); + } + (this->__vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_5.Obj())->SetText(::vl::WString::Unmanaged(L"List")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); + } + (this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetText(::vl::WString::Unmanaged(L"Tile")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6)); + } + (this->__vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_7.Obj())->SetText(::vl::WString::Unmanaged(L"Information")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); + } + (this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetText(::vl::WString::Unmanaged(L"Detail")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); + } + (this->__vwsn_precompile_9 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_9.Obj())->SetText(::vl::WString::Unmanaged(L"DataGrid")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_9)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetVerticalAlwaysVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetHorizontalAlwaysVisible(false); + } + { + (this->comboView = new ::vl::presentation::controls::GuiComboBoxListControl(::vl::presentation::theme::ThemeName::ComboBox, static_cast<::vl::presentation::controls::GuiSelectableListControl*>(this->__vwsn_precompile_2))); + } + { + ::vl::__vwsn::This(this->comboView)->SetSelectedIndex(static_cast<::vl::vint>(6)); + } + { + ::vl::__vwsn::This(this->comboView)->SetAlt(::vl::WString::Unmanaged(L"V")); + } + (this->__vwsn_precompile_10 = ::vl::__vwsn::This(this->comboView)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(120); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->comboView)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); + } + (this->__vwsn_precompile_11 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_12 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetText(::vl::WString::Unmanaged(L"Use Name")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_11)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_12)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_11)); + } + (this->__vwsn_precompile_13 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_14 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetText(::vl::WString::Unmanaged(L"Use Title")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_13)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_14)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_13)); + } + (this->__vwsn_precompile_15 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(3), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_16 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetText(::vl::WString::Unmanaged(L"*Sub1")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_15)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_16)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_15)); + } + (this->__vwsn_precompile_17 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(4), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_18 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetText(::vl::WString::Unmanaged(L"*DataColumn")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_17)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_18)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_17)); + } + (this->__vwsn_precompile_19 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(5), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_20 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_20)->SetText(::vl::WString::Unmanaged(L"*Column")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_19)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_20)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_19)); + } + (this->__vwsn_precompile_21 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(7)); + } + { + (this->dataGrid = new ::vl::presentation::controls::GuiBindableDataGrid(::vl::presentation::theme::ThemeName::ListView)); + } + { + ::vl::__vwsn::This(this->dataGrid)->SetSmallImageProperty(vl::Func(::vl_workflow_global::__vwsnf250_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->dataGrid)->SetLargeImageProperty(vl::Func(::vl_workflow_global::__vwsnf251_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetDataColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(0))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetDataColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(1))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetDataColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(2))); + } + (this->__vwsn_precompile_26 = ::vl::__vwsn::This(this->dataGrid)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_26)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_22 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(new ::vl::presentation::controls::list::DataColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_22.Obj())->SetValueProperty(vl::Func(::vl_workflow_global::__vwsnf252_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_22.Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf253_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_22.Obj())->SetText(::vl::WString::Unmanaged(L"Id")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_22)); + } + (this->__vwsn_precompile_23 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(new ::vl::presentation::controls::list::DataColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_23.Obj())->SetValueProperty(vl::Func(::vl_workflow_global::__vwsnf254_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_23.Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf255_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_23.Obj())->SetText(::vl::WString::Unmanaged(L"Category")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_23)); + } + (this->__vwsn_precompile_24 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(new ::vl::presentation::controls::list::DataColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_24.Obj())->SetValueProperty(vl::Func(::vl_workflow_global::__vwsnf256_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_24.Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf257_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_24.Obj())->SetText(::vl::WString::Unmanaged(L"Size")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_24)); + } + (this->__vwsn_precompile_25 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(new ::vl::presentation::controls::list::DataColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_25.Obj())->SetVisualizerFactory(::vl::Ptr<::vl::presentation::controls::list::IDataVisualizerFactory>(::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>(new ::vl::presentation::controls::list::DataVisualizerFactory(vl::Func(::vl_workflow_global::__vwsnf258_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this)), ::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>(new ::vl::presentation::controls::list::DataVisualizerFactory(vl::Func(::vl_workflow_global::__vwsnf259_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this)), ::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>(new ::vl::presentation::controls::list::DataVisualizerFactory(vl::Func(::vl_workflow_global::__vwsnf260_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this)), ::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>())))))))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_25.Obj())->SetEditorFactory(::vl::Ptr<::vl::presentation::controls::list::IDataEditorFactory>(::vl::Ptr<::vl::presentation::controls::list::DataEditorFactory>(new ::vl::presentation::controls::list::DataEditorFactory(vl::Func(::vl_workflow_global::__vwsnf261_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this)))))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_25.Obj())->SetValueProperty(vl::Func(::vl_workflow_global::__vwsnf262_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_25.Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf263_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_25.Obj())->SetText(::vl::WString::Unmanaged(L"File")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_25)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_21)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->dataGrid)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_21)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf264_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->comboView)->SelectedIndexChanged, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf265_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_12)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf267_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_14)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf269_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_16)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf270_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_18)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf271_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_20)->Clicked, __vwsn_event_handler_); + } + { + ::vl::__vwsn::This(this->dataGrid)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(this->self)->items)); + } + } + + RefreshBindableDataGridTabPageConstructor::RefreshBindableDataGridTabPageConstructor() + : self(static_cast<::demo::RefreshBindableDataGridTabPage*>(nullptr)) + , comboView(static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr)) + , dataGrid(static_cast<::vl::presentation::controls::GuiBindableDataGrid*>(nullptr)) + , __vwsn_precompile_0(static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr)) + , __vwsn_precompile_1(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_2(static_cast<::vl::presentation::controls::GuiTextList*>(nullptr)) + , __vwsn_precompile_3(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_4(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_5(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_6(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_7(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_8(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_9(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_10(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_11(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_12(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_13(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_14(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_15(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_16(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_17(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_18(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_19(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_20(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_21(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_22(::vl::Ptr<::vl::presentation::controls::list::DataColumn>()) + , __vwsn_precompile_23(::vl::Ptr<::vl::presentation::controls::list::DataColumn>()) + , __vwsn_precompile_24(::vl::Ptr<::vl::presentation::controls::list::DataColumn>()) + , __vwsn_precompile_25(::vl::Ptr<::vl::presentation::controls::list::DataColumn>()) + , __vwsn_precompile_26(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + { + } + +/*********************************************************************** +Class (::demo::RefreshBindableDataGridTabPage) +***********************************************************************/ + + RefreshBindableDataGridTabPage::RefreshBindableDataGridTabPage() + : ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl) + , items((::vl::__vwsn::CreateObservableList().Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"First"), ::vl::WString::Unmanaged(L"1st")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Second"), ::vl::WString::Unmanaged(L"2nd")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Third"), ::vl::WString::Unmanaged(L"3rd")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Fourth"), ::vl::WString::Unmanaged(L"4th"))))).list) + { + auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString::Unmanaged(L"demo::RefreshBindableDataGridTabPage")); + auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); + ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); + ::vl::__vwsn::This(this)->__vwsn_demo_RefreshBindableDataGridTabPage_Initialize(this); + this->__vwsn_instance_ctor_(); + } + + void RefreshBindableDataGridTabPage::__vwsn_instance_ctor_() + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Task"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Task"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Reminder"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Reminder"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(2))).Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Tip"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(2))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(3))).Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Tip"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(3))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj()))); + } + + RefreshBindableDataGridTabPage::~RefreshBindableDataGridTabPage() + { + this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); + } + +/*********************************************************************** +Class (::demo::RefreshBindableListViewTabPageConstructor) +***********************************************************************/ + + void RefreshBindableListViewTabPageConstructor::__vwsn_demo_RefreshBindableListViewTabPage_Initialize(::demo::RefreshBindableListViewTabPage* __vwsn_this_) + { + (this->self = __vwsn_this_); + { + ::vl::__vwsn::This(this->self)->SetText(::vl::WString::Unmanaged(L"BindableListView")); + } + (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetBorderVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(7)); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(4), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(5), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(6), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiTextList(::vl::presentation::theme::ThemeName::TextList)); + } + (this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetText(::vl::WString::Unmanaged(L"BigIcon")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3)); + } + (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetText(::vl::WString::Unmanaged(L"SmallIcon")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4)); + } + (this->__vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_5.Obj())->SetText(::vl::WString::Unmanaged(L"List")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); + } + (this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetText(::vl::WString::Unmanaged(L"Tile")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6)); + } + (this->__vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_7.Obj())->SetText(::vl::WString::Unmanaged(L"Information")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); + } + (this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetText(::vl::WString::Unmanaged(L"Detail")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetVerticalAlwaysVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetHorizontalAlwaysVisible(false); + } + { + (this->comboView = new ::vl::presentation::controls::GuiComboBoxListControl(::vl::presentation::theme::ThemeName::ComboBox, static_cast<::vl::presentation::controls::GuiSelectableListControl*>(this->__vwsn_precompile_2))); + } + { + ::vl::__vwsn::This(this->comboView)->SetSelectedIndex(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->comboView)->SetAlt(::vl::WString::Unmanaged(L"V")); + } + (this->__vwsn_precompile_9 = ::vl::__vwsn::This(this->comboView)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(120); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->comboView)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); + } + (this->__vwsn_precompile_10 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_11 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetText(::vl::WString::Unmanaged(L"Use Name")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_10)); + } + (this->__vwsn_precompile_12 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_13 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetText(::vl::WString::Unmanaged(L"Use Title")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_12)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_13)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_12)); + } + (this->__vwsn_precompile_14 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(3), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_15 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetText(::vl::WString::Unmanaged(L"*Sub1")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_15)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_14)); + } + (this->__vwsn_precompile_16 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(4), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_17 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetText(::vl::WString::Unmanaged(L"*DataColumn")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_16)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_17)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_16)); + } + (this->__vwsn_precompile_18 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(5), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_19 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetText(::vl::WString::Unmanaged(L"*Column")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_18)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_19)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_18)); + } + (this->__vwsn_precompile_20 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_20)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(7)); + } + { + (this->listView = new ::vl::presentation::controls::GuiBindableListView(::vl::presentation::theme::ThemeName::ListView)); + } + { + ::vl::__vwsn::This(this->listView)->SetSmallImageProperty(vl::Func(::vl_workflow_global::__vwsnf274_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->listView)->SetLargeImageProperty(vl::Func(::vl_workflow_global::__vwsnf275_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(0))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(1))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(2))); + } + (this->__vwsn_precompile_25 = ::vl::__vwsn::This(this->listView)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_25)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_21 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_21.Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf276_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_21.Obj())->SetText(::vl::WString::Unmanaged(L"Id")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_21)); + } + (this->__vwsn_precompile_22 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_22.Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf277_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_22.Obj())->SetText(::vl::WString::Unmanaged(L"Category")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_22)); + } + (this->__vwsn_precompile_23 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_23.Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf278_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_23.Obj())->SetText(::vl::WString::Unmanaged(L"Size")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_23)); + } + (this->__vwsn_precompile_24 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_24.Obj())->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf279_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_24.Obj())->SetText(::vl::WString::Unmanaged(L"File")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_24)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_20)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->listView)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_20)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf280_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->comboView)->SelectedIndexChanged, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf281_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_11)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf283_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_13)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf285_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_15)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf286_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_17)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf287_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_19)->Clicked, __vwsn_event_handler_); + } + { + ::vl::__vwsn::This(this->listView)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(this->self)->items)); + } + } + + RefreshBindableListViewTabPageConstructor::RefreshBindableListViewTabPageConstructor() + : self(static_cast<::demo::RefreshBindableListViewTabPage*>(nullptr)) + , comboView(static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr)) + , listView(static_cast<::vl::presentation::controls::GuiBindableListView*>(nullptr)) + , __vwsn_precompile_0(static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr)) + , __vwsn_precompile_1(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_2(static_cast<::vl::presentation::controls::GuiTextList*>(nullptr)) + , __vwsn_precompile_3(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_4(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_5(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_6(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_7(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_8(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_9(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_10(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_11(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_12(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_13(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_14(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_15(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_16(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_17(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_18(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_19(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_20(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_21(::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>()) + , __vwsn_precompile_22(::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>()) + , __vwsn_precompile_23(::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>()) + , __vwsn_precompile_24(::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>()) + , __vwsn_precompile_25(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + { + } + +/*********************************************************************** +Class (::demo::RefreshBindableListViewTabPage) +***********************************************************************/ + + RefreshBindableListViewTabPage::RefreshBindableListViewTabPage() + : ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl) + , items((::vl::__vwsn::CreateObservableList().Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"First"), ::vl::WString::Unmanaged(L"1st")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Second"), ::vl::WString::Unmanaged(L"2nd")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Third"), ::vl::WString::Unmanaged(L"3rd")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Fourth"), ::vl::WString::Unmanaged(L"4th"))))).list) + { + auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString::Unmanaged(L"demo::RefreshBindableListViewTabPage")); + auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); + ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); + ::vl::__vwsn::This(this)->__vwsn_demo_RefreshBindableListViewTabPage_Initialize(this); + this->__vwsn_instance_ctor_(); + } + + void RefreshBindableListViewTabPage::__vwsn_instance_ctor_() + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Task"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Task"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Reminder"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Reminder"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(2))).Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Tip"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(2))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(3))).Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Tip"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(this->items.Obj())->Get(static_cast<::vl::vint>(3))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj()))); + } + + RefreshBindableListViewTabPage::~RefreshBindableListViewTabPage() + { + this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); + } + +/*********************************************************************** +Class (::demo::RefreshBindableTextListTabPageConstructor) +***********************************************************************/ + + void RefreshBindableTextListTabPageConstructor::__vwsn_demo_RefreshBindableTextListTabPage_Initialize(::demo::RefreshBindableTextListTabPage* __vwsn_this_) + { + (this->self = __vwsn_this_); + { + ::vl::__vwsn::This(this->self)->SetText(::vl::WString::Unmanaged(L"BindableTextList")); + } + (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetBorderVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(6)); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(4), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(5), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetText(::vl::WString::Unmanaged(L"Use Name")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); + } + (this->__vwsn_precompile_3 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_4 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetText(::vl::WString::Unmanaged(L"Use Title")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_3)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_3)); + } + (this->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_6 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetText(::vl::WString::Unmanaged(L"Check First")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_5)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_6)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_5)); + } + (this->__vwsn_precompile_7 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(3), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_8 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_8)->SetText(::vl::WString::Unmanaged(L"Uncheck First")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_7)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_8)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_7)); + } + (this->__vwsn_precompile_9 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(4), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->buttonRead = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->buttonRead)->SetText(::vl::WString::Unmanaged(L"Read (false)")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_9)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->buttonRead)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_9)); + } + (this->__vwsn_precompile_10 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(6)); + } + { + (this->textList = new ::vl::presentation::controls::GuiBindableTextList(::vl::presentation::theme::ThemeName::TextList)); + } + { + ::vl::__vwsn::This(this->textList)->SetView(::vl::presentation::controls::TextListView::Check); + } + { + ::vl::__vwsn::This(this->textList)->SetMultiSelect(true); + } + { + ::vl::__vwsn::This(this->textList)->SetCheckedProperty(vl::Func(::vl_workflow_global::__vwsnf289_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->textList)->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf290_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(this))); + } + (this->__vwsn_precompile_11 = ::vl::__vwsn::This(this->textList)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->textList)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_10)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf291_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_2)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf293_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_4)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf295_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_6)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf296_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_8)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf297_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->buttonRead)->Clicked, __vwsn_event_handler_); + } + { + ::vl::__vwsn::This(this->textList)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(this->self)->items)); + } + } + + RefreshBindableTextListTabPageConstructor::RefreshBindableTextListTabPageConstructor() + : self(static_cast<::demo::RefreshBindableTextListTabPage*>(nullptr)) + , textList(static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr)) + , buttonRead(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_0(static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr)) + , __vwsn_precompile_1(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_2(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_3(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_4(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_5(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_6(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_7(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_8(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_9(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_10(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_11(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + { + } + +/*********************************************************************** +Class (::demo::RefreshBindableTextListTabPage) +***********************************************************************/ + + RefreshBindableTextListTabPage::RefreshBindableTextListTabPage() + : ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl) + , items((::vl::__vwsn::CreateObservableList().Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"First"), ::vl::WString::Unmanaged(L"1st")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Second"), ::vl::WString::Unmanaged(L"2nd")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Third"), ::vl::WString::Unmanaged(L"3rd"))))).list) + { + auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString::Unmanaged(L"demo::RefreshBindableTextListTabPage")); + auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); + ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); + ::vl::__vwsn::This(this)->__vwsn_demo_RefreshBindableTextListTabPage_Initialize(this); + } + + RefreshBindableTextListTabPage::~RefreshBindableTextListTabPage() + { + this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); + } + +/*********************************************************************** +Class (::demo::RefreshBindableTreeViewTabPageConstructor) +***********************************************************************/ + + void RefreshBindableTreeViewTabPageConstructor::__vwsn_demo_RefreshBindableTreeViewTabPage_Initialize(::demo::RefreshBindableTreeViewTabPage* __vwsn_this_) + { + (this->self = __vwsn_this_); + { + ::vl::__vwsn::This(this->self)->SetText(::vl::WString::Unmanaged(L"BindableTreeView")); + } + (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetBorderVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(5)); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(4), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetText(::vl::WString::Unmanaged(L"Use Name")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); + } + (this->__vwsn_precompile_3 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_4 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetText(::vl::WString::Unmanaged(L"Use Title")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_3)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_3)); + } + (this->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_6 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetText(::vl::WString::Unmanaged(L"*First")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_5)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_6)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_5)); + } + (this->__vwsn_precompile_7 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(3), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_8 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_8)->SetText(::vl::WString::Unmanaged(L"*First/Second")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_7)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_8)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_7)); + } + (this->__vwsn_precompile_9 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(5)); + } + { + (this->treeView = new ::vl::presentation::controls::GuiBindableTreeView(::vl::presentation::theme::ThemeName::TreeView, vl::Func(::vl_workflow_global::__vwsnf298_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(this)))); + } + { + ::vl::__vwsn::This(this->treeView)->SetChildrenProperty(vl::Func(::vl_workflow_global::__vwsnf299_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->treeView)->SetImageProperty(vl::Func(::vl_workflow_global::__vwsnf300_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->treeView)->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf301_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(this))); + } + (this->__vwsn_precompile_10 = ::vl::__vwsn::This(this->treeView)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_9)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->treeView)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_9)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf302_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_2)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf304_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_4)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf306_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_6)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf307_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_8)->Clicked, __vwsn_event_handler_); + } + { + ::vl::__vwsn::This(this->treeView)->SetItemSource(::vl::__vwsn::Box(::vl::__vwsn::This(this->self)->rootItem)); + } + } + + RefreshBindableTreeViewTabPageConstructor::RefreshBindableTreeViewTabPageConstructor() + : self(static_cast<::demo::RefreshBindableTreeViewTabPage*>(nullptr)) + , treeView(static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr)) + , __vwsn_precompile_0(static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr)) + , __vwsn_precompile_1(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_2(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_3(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_4(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_5(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_6(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_7(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_8(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_9(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_10(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + { + } + +/*********************************************************************** +Class (::demo::RefreshBindableTreeViewTabPage) +***********************************************************************/ + + RefreshBindableTreeViewTabPage::RefreshBindableTreeViewTabPage() + : ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl) + , rootItem(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L""), ::vl::WString::Unmanaged(L""), ::vl::reflection::description::GetLazyList<::vl::Ptr<::demo::RefreshItem>>((::vl::__vwsn::CreateList().Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"First"), ::vl::WString::Unmanaged(L"1st"), ::vl::reflection::description::GetLazyList<::vl::Ptr<::demo::RefreshItem>>((::vl::__vwsn::CreateList().Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"First (1)"), ::vl::WString::Unmanaged(L"1st (1)")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Second (1)"), ::vl::WString::Unmanaged(L"2nd (1)")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Third (1)"), ::vl::WString::Unmanaged(L"3rd (1)"))))).list)))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Second"), ::vl::WString::Unmanaged(L"2nd"), ::vl::reflection::description::GetLazyList<::vl::Ptr<::demo::RefreshItem>>((::vl::__vwsn::CreateList().Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"First (2)"), ::vl::WString::Unmanaged(L"1st (2)")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Second (2)"), ::vl::WString::Unmanaged(L"2nd (2)")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Third (2)"), ::vl::WString::Unmanaged(L"3rd (2)"))))).list)))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Third"), ::vl::WString::Unmanaged(L"3rd")))).Add(::vl::Ptr<::demo::RefreshItem>(new ::demo::RefreshItem(::vl::WString::Unmanaged(L"Fourth"), ::vl::WString::Unmanaged(L"4th"))))).list)))) + { + auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString::Unmanaged(L"demo::RefreshBindableTreeViewTabPage")); + auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); + ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); + ::vl::__vwsn::This(this)->__vwsn_demo_RefreshBindableTreeViewTabPage_Initialize(this); + this->__vwsn_instance_ctor_(); + } + + void RefreshBindableTreeViewTabPage::__vwsn_instance_ctor_() + { + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(this->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Task"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(this->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Reminder"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(this->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(2))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(this->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(3))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(this->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(0))).Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Task"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(this->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(0))).Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Reminder"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(this->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(0))).Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(2))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(this->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(1))).Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(0))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Task"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(this->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(1))).Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(1))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Reminder"), true).Obj()))); + ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(::vl::__vwsn::This(this->rootItem.Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(1))).Obj())->GetChildren().Obj())->Get(static_cast<::vl::vint>(2))).Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(this->self)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj()))); + } + + RefreshBindableTreeViewTabPage::~RefreshBindableTreeViewTabPage() + { + this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); + } + +/*********************************************************************** +Class (::demo::RefreshItem) +***********************************************************************/ + + ::vl::WString RefreshItem::GetName() + { + return this->__vwsn_prop_Name; + } + + void RefreshItem::SetName(const ::vl::WString& __vwsn_value_) + { + (this->__vwsn_prop_Name = __vwsn_value_); + } + + ::vl::WString RefreshItem::GetTitle() + { + return this->__vwsn_prop_Title; + } + + void RefreshItem::SetTitle(const ::vl::WString& __vwsn_value_) + { + (this->__vwsn_prop_Title = __vwsn_value_); + } + + ::vl::WString RefreshItem::GetSub1() + { + return this->__vwsn_prop_Sub1; + } + + void RefreshItem::SetSub1(const ::vl::WString& __vwsn_value_) + { + (this->__vwsn_prop_Sub1 = __vwsn_value_); + } + + ::vl::WString RefreshItem::GetSub2() + { + return this->__vwsn_prop_Sub2; + } + + void RefreshItem::SetSub2(const ::vl::WString& __vwsn_value_) + { + (this->__vwsn_prop_Sub2 = __vwsn_value_); + } + + ::vl::WString RefreshItem::GetSub3() + { + return this->__vwsn_prop_Sub3; + } + + void RefreshItem::SetSub3(const ::vl::WString& __vwsn_value_) + { + (this->__vwsn_prop_Sub3 = __vwsn_value_); + } + + bool RefreshItem::GetSelected() + { + return this->__vwsn_prop_Selected; + } + + void RefreshItem::SetSelected(bool __vwsn_value_) + { + (this->__vwsn_prop_Selected = __vwsn_value_); + } + + ::vl::Ptr<::vl::presentation::GuiImageData> RefreshItem::GetLargeImage() + { + return this->__vwsn_prop_LargeImage; + } + + void RefreshItem::SetLargeImage(::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_value_) + { + (this->__vwsn_prop_LargeImage = __vwsn_value_); + } + + ::vl::Ptr<::vl::presentation::GuiImageData> RefreshItem::GetSmallImage() + { + return this->__vwsn_prop_SmallImage; + } + + void RefreshItem::SetSmallImage(::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_value_) + { + (this->__vwsn_prop_SmallImage = __vwsn_value_); + } + + ::vl::Ptr<::vl::reflection::description::IValueObservableList> RefreshItem::GetChildren() + { + return this->__vwsn_prop_Children; + } + + void RefreshItem::SetChildren(::vl::Ptr<::vl::reflection::description::IValueObservableList> __vwsn_value_) + { + (this->__vwsn_prop_Children = __vwsn_value_); + } + + ::vl::reflection::description::Value RefreshItem::GetDoNotUse() + { + return this->__vwsn_prop_DoNotUse; + } + + void RefreshItem::SetDoNotUse(const ::vl::reflection::description::Value& __vwsn_value_) + { + (this->__vwsn_prop_DoNotUse = __vwsn_value_); + } + + RefreshItem::RefreshItem(const ::vl::WString& name, const ::vl::WString& title) + : __vwsn_prop_Name(::vl::WString::Unmanaged(L"")) + , __vwsn_prop_Title(::vl::WString::Unmanaged(L"")) + , __vwsn_prop_Sub1(::vl::WString::Unmanaged(L"One")) + , __vwsn_prop_Sub2(::vl::WString::Unmanaged(L"Two")) + , __vwsn_prop_Sub3(::vl::WString::Unmanaged(L"Three")) + , __vwsn_prop_Selected(false) + , __vwsn_prop_LargeImage(::vl::Ptr<::vl::presentation::GuiImageData>()) + , __vwsn_prop_SmallImage(::vl::Ptr<::vl::presentation::GuiImageData>()) + , __vwsn_prop_Children(::vl::reflection::description::IValueObservableList::Create()) + , __vwsn_prop_DoNotUse(::vl::reflection::description::Value()) + { + this->SetName(name); + this->SetTitle(title); + } + + RefreshItem::RefreshItem(const ::vl::WString& name, const ::vl::WString& title, const ::vl::collections::LazyList<::vl::Ptr<::demo::RefreshItem>>& children) + : __vwsn_prop_Name(::vl::WString::Unmanaged(L"")) + , __vwsn_prop_Title(::vl::WString::Unmanaged(L"")) + , __vwsn_prop_Sub1(::vl::WString::Unmanaged(L"One")) + , __vwsn_prop_Sub2(::vl::WString::Unmanaged(L"Two")) + , __vwsn_prop_Sub3(::vl::WString::Unmanaged(L"Three")) + , __vwsn_prop_Selected(false) + , __vwsn_prop_LargeImage(::vl::Ptr<::vl::presentation::GuiImageData>()) + , __vwsn_prop_SmallImage(::vl::Ptr<::vl::presentation::GuiImageData>()) + , __vwsn_prop_Children(::vl::reflection::description::IValueObservableList::Create()) + , __vwsn_prop_DoNotUse(::vl::reflection::description::Value()) + { + this->SetName(name); + this->SetTitle(title); + { + auto __vwsn_for_enumerable_child = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueEnumerable>(children); + auto __vwsn_for_enumerator_child = ::vl::__vwsn::This(__vwsn_for_enumerable_child.Obj())->CreateEnumerator(); + while (::vl::__vwsn::This(__vwsn_for_enumerator_child.Obj())->Next()) + { + auto child = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::RefreshItem>>(::vl::__vwsn::This(__vwsn_for_enumerator_child.Obj())->GetCurrent()); + { + ::vl::__vwsn::This(this->GetChildren().Obj())->Add(::vl::__vwsn::Box(child)); + } + } + } + } + +/*********************************************************************** +Class (::demo::RefreshListViewTabPageConstructor) +***********************************************************************/ + + void RefreshListViewTabPageConstructor::__vwsn_demo_RefreshListViewTabPage_Initialize(::demo::RefreshListViewTabPage* __vwsn_this_) + { + (this->self = __vwsn_this_); + { + ::vl::__vwsn::This(this->self)->SetText(::vl::WString::Unmanaged(L"ListView")); + } + (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetBorderVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(6)); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(4), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(5), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiTextList(::vl::presentation::theme::ThemeName::TextList)); + } + (this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetText(::vl::WString::Unmanaged(L"BigIcon")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3)); + } + (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetText(::vl::WString::Unmanaged(L"SmallIcon")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4)); + } + (this->__vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_5.Obj())->SetText(::vl::WString::Unmanaged(L"List")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); + } + (this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetText(::vl::WString::Unmanaged(L"Tile")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6)); + } + (this->__vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_7.Obj())->SetText(::vl::WString::Unmanaged(L"Information")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); + } + (this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetText(::vl::WString::Unmanaged(L"Detail")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetVerticalAlwaysVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetHorizontalAlwaysVisible(false); + } + { + (this->comboView = new ::vl::presentation::controls::GuiComboBoxListControl(::vl::presentation::theme::ThemeName::ComboBox, static_cast<::vl::presentation::controls::GuiSelectableListControl*>(this->__vwsn_precompile_2))); + } + { + ::vl::__vwsn::This(this->comboView)->SetSelectedIndex(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->comboView)->SetAlt(::vl::WString::Unmanaged(L"V")); + } + (this->__vwsn_precompile_9 = ::vl::__vwsn::This(this->comboView)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(120); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->comboView)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); + } + (this->__vwsn_precompile_10 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_11 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetText(::vl::WString::Unmanaged(L"*MainColumn")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_10)); + } + (this->__vwsn_precompile_12 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_13 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetText(::vl::WString::Unmanaged(L"*SubColumn")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_12)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_13)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_12)); + } + (this->__vwsn_precompile_14 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(3), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_15 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetText(::vl::WString::Unmanaged(L"*DataColumn")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_15)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_14)); + } + (this->__vwsn_precompile_16 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(4), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_17 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetText(::vl::WString::Unmanaged(L"*Column")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_16)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_17)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_16)); + } + (this->__vwsn_precompile_18 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(6)); + } + { + (this->listView = new ::vl::presentation::controls::GuiListView(::vl::presentation::theme::ThemeName::ListView)); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(0))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(1))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(static_cast<::vl::vint>(2))); + } + (this->__vwsn_precompile_24 = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem())); + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_24.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"One"))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_24.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"Two"))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_24.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"Three"))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_24.Obj())->SetText(::vl::WString::Unmanaged(L"First")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_24)); + } + (this->__vwsn_precompile_25 = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem())); + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_25.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"One"))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_25.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"Two"))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_25.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"Three"))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_25.Obj())->SetText(::vl::WString::Unmanaged(L"Second")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_25)); + } + (this->__vwsn_precompile_26 = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem())); + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_26.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"One"))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_26.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"Two"))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_26.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"Three"))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_26.Obj())->SetText(::vl::WString::Unmanaged(L"Third")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_26)); + } + (this->__vwsn_precompile_27 = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem())); + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"One"))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"Two"))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->GetSubItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::WString::Unmanaged(L"Three"))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->SetText(::vl::WString::Unmanaged(L"Fourth")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_27)); + } + (this->__vwsn_precompile_23 = ::vl::__vwsn::This(this->listView)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_23)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_19 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->SetText(::vl::WString::Unmanaged(L"Id")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_19)); + } + (this->__vwsn_precompile_20 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_20.Obj())->SetText(::vl::WString::Unmanaged(L"Category")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_20)); + } + (this->__vwsn_precompile_21 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_21.Obj())->SetText(::vl::WString::Unmanaged(L"Size")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_21)); + } + (this->__vwsn_precompile_22 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_22.Obj())->SetText(::vl::WString::Unmanaged(L"File")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_22)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_18)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->listView)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_18)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf308_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->comboView)->SelectedIndexChanged, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf309_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_11)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf310_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_13)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf311_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_15)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf312_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_17)->Clicked, __vwsn_event_handler_); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_24.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Task"), true).Obj()))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_24.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Task"), true).Obj()))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_25.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Reminder"), true).Obj()))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_25.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Reminder"), true).Obj()))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_26.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Tip"), true).Obj()))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_26.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj()))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"LargeImages/Tip"), true).Obj()))); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj()))); + } + } + + RefreshListViewTabPageConstructor::RefreshListViewTabPageConstructor() + : self(static_cast<::demo::RefreshListViewTabPage*>(nullptr)) + , comboView(static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr)) + , listView(static_cast<::vl::presentation::controls::GuiListView*>(nullptr)) + , __vwsn_precompile_0(static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr)) + , __vwsn_precompile_1(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_2(static_cast<::vl::presentation::controls::GuiTextList*>(nullptr)) + , __vwsn_precompile_3(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_4(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_5(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_6(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_7(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_8(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_9(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_10(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_11(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_12(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_13(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_14(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_15(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_16(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_17(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_18(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_19(::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>()) + , __vwsn_precompile_20(::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>()) + , __vwsn_precompile_21(::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>()) + , __vwsn_precompile_22(::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>()) + , __vwsn_precompile_23(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_24(::vl::Ptr<::vl::presentation::controls::list::ListViewItem>()) + , __vwsn_precompile_25(::vl::Ptr<::vl::presentation::controls::list::ListViewItem>()) + , __vwsn_precompile_26(::vl::Ptr<::vl::presentation::controls::list::ListViewItem>()) + , __vwsn_precompile_27(::vl::Ptr<::vl::presentation::controls::list::ListViewItem>()) + { + } + +/*********************************************************************** +Class (::demo::RefreshListViewTabPage) +***********************************************************************/ + + RefreshListViewTabPage::RefreshListViewTabPage() + : ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl) + { + auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString::Unmanaged(L"demo::RefreshListViewTabPage")); + auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); + ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); + ::vl::__vwsn::This(this)->__vwsn_demo_RefreshListViewTabPage_Initialize(this); + } + + RefreshListViewTabPage::~RefreshListViewTabPage() + { + this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); + } + +/*********************************************************************** +Class (::demo::RefreshTextListTabPageConstructor) +***********************************************************************/ + + void RefreshTextListTabPageConstructor::__vwsn_demo_RefreshTextListTabPage_Initialize(::demo::RefreshTextListTabPage* __vwsn_this_) + { + (this->self = __vwsn_this_); + { + ::vl::__vwsn::This(this->self)->SetText(::vl::WString::Unmanaged(L"TextList")); + } + (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetBorderVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(4)); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetText(::vl::WString::Unmanaged(L"Check First")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); + } + (this->__vwsn_precompile_3 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_4 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetText(::vl::WString::Unmanaged(L"Uncheck First")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_3)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_3)); + } + (this->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->buttonRead = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->buttonRead)->SetText(::vl::WString::Unmanaged(L"Read (false)")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_5)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->buttonRead)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_5)); + } + (this->__vwsn_precompile_6 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(4)); + } + { + (this->textList = new ::vl::presentation::controls::GuiTextList(::vl::presentation::theme::ThemeName::TextList)); + } + { + ::vl::__vwsn::This(this->textList)->SetView(::vl::presentation::controls::TextListView::Check); + } + { + ::vl::__vwsn::This(this->textList)->SetMultiSelect(true); + } + (this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetText(::vl::WString::Unmanaged(L"First")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->textList)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); + } + (this->__vwsn_precompile_9 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_9.Obj())->SetText(::vl::WString::Unmanaged(L"Second")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->textList)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_9)); + } + (this->__vwsn_precompile_10 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_10.Obj())->SetText(::vl::WString::Unmanaged(L"Third")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->textList)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_10)); + } + (this->__vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_11.Obj())->SetText(::vl::WString::Unmanaged(L"Fourth")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->textList)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_11)); + } + (this->__vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetText(::vl::WString::Unmanaged(L"Fifth")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->textList)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_12)); + } + (this->__vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); + { + ::vl::__vwsn::This(this->__vwsn_precompile_13.Obj())->SetText(::vl::WString::Unmanaged(L"Sixth")); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->textList)->GetItems()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13)); + } + (this->__vwsn_precompile_7 = ::vl::__vwsn::This(this->textList)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_6)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->textList)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_6)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf313_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_2)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf314_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_4)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf315_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->buttonRead)->Clicked, __vwsn_event_handler_); + } + } + + RefreshTextListTabPageConstructor::RefreshTextListTabPageConstructor() + : self(static_cast<::demo::RefreshTextListTabPage*>(nullptr)) + , textList(static_cast<::vl::presentation::controls::GuiTextList*>(nullptr)) + , buttonRead(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_0(static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr)) + , __vwsn_precompile_1(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_2(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_3(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_4(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_5(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_6(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_7(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_8(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_9(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_10(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_11(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_12(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + , __vwsn_precompile_13(::vl::Ptr<::vl::presentation::controls::list::TextItem>()) + { + } + +/*********************************************************************** +Class (::demo::RefreshTextListTabPage) +***********************************************************************/ + + RefreshTextListTabPage::RefreshTextListTabPage() + : ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl) + { + auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString::Unmanaged(L"demo::RefreshTextListTabPage")); + auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); + ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); + ::vl::__vwsn::This(this)->__vwsn_demo_RefreshTextListTabPage_Initialize(this); + } + + RefreshTextListTabPage::~RefreshTextListTabPage() + { + this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); + } + +/*********************************************************************** +Class (::demo::RefreshTreeViewTabPageConstructor) +***********************************************************************/ + + void RefreshTreeViewTabPageConstructor::__vwsn_demo_RefreshTreeViewTabPage_Initialize(::demo::RefreshTreeViewTabPage* __vwsn_this_) + { + (this->self = __vwsn_this_); + { + ::vl::__vwsn::This(this->self)->SetText(::vl::WString::Unmanaged(L"TreeView")); + } + (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetBorderVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(3)); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetText(::vl::WString::Unmanaged(L"*First")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); + } + (this->__vwsn_precompile_3 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_4 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetText(::vl::WString::Unmanaged(L"*First/Second")); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_3)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_3)); + } + (this->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(3)); + } + { + (this->treeView = new ::vl::presentation::controls::GuiTreeView(::vl::presentation::theme::ThemeName::TreeView)); + } + (this->__vwsn_precompile_16 = ::vl::__vwsn::This(this->treeView)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::reflection::DescriptableObject>(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Task"), true).Obj())), ::vl::WString::Unmanaged(L"First"))))))); + (this->__vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::reflection::DescriptableObject>(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Task"), true).Obj())), ::vl::WString::Unmanaged(L"First (1)"))))))); + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); + } + (this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::reflection::DescriptableObject>(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Reminder"), true).Obj())), ::vl::WString::Unmanaged(L"Second (1)"))))))); + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); + } + (this->__vwsn_precompile_9 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::reflection::DescriptableObject>(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj())), ::vl::WString::Unmanaged(L"Third (1)"))))))); + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_9)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6)); + } + (this->__vwsn_precompile_10 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::reflection::DescriptableObject>(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Reminder"), true).Obj())), ::vl::WString::Unmanaged(L"Second"))))))); + (this->__vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::reflection::DescriptableObject>(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Task"), true).Obj())), ::vl::WString::Unmanaged(L"First (2)"))))))); + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_10.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_11)); + } + (this->__vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::reflection::DescriptableObject>(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Reminder"), true).Obj())), ::vl::WString::Unmanaged(L"Second (2)"))))))); + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_10.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_12)); + } + (this->__vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::reflection::DescriptableObject>(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj())), ::vl::WString::Unmanaged(L"Third (2)"))))))); + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_10.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_10)); + } + (this->__vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::reflection::DescriptableObject>(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj())), ::vl::WString::Unmanaged(L"Third"))))))); + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_14)); + } + (this->__vwsn_precompile_15 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::reflection::DescriptableObject>(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString::Unmanaged(L"res"), ::vl::WString::Unmanaged(L"SmallImages/Tip"), true).Obj())), ::vl::WString::Unmanaged(L"Fourth"))))))); + { + ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_15)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_5)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->treeView)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_5)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf316_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_2)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf317_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_4)->Clicked, __vwsn_event_handler_); + } + } + + RefreshTreeViewTabPageConstructor::RefreshTreeViewTabPageConstructor() + : self(static_cast<::demo::RefreshTreeViewTabPage*>(nullptr)) + , treeView(static_cast<::vl::presentation::controls::GuiTreeView*>(nullptr)) + , __vwsn_precompile_0(static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr)) + , __vwsn_precompile_1(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_2(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_3(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_4(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) + , __vwsn_precompile_5(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_6(::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>()) + , __vwsn_precompile_7(::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>()) + , __vwsn_precompile_8(::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>()) + , __vwsn_precompile_9(::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>()) + , __vwsn_precompile_10(::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>()) + , __vwsn_precompile_11(::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>()) + , __vwsn_precompile_12(::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>()) + , __vwsn_precompile_13(::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>()) + , __vwsn_precompile_14(::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>()) + , __vwsn_precompile_15(::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>()) + , __vwsn_precompile_16(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + { + } + +/*********************************************************************** +Class (::demo::RefreshTreeViewTabPage) +***********************************************************************/ + + RefreshTreeViewTabPage::RefreshTreeViewTabPage() + : ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl) + { + auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString::Unmanaged(L"demo::RefreshTreeViewTabPage")); + auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); + ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); + ::vl::__vwsn::This(this)->__vwsn_demo_RefreshTreeViewTabPage_Initialize(this); + } + + RefreshTreeViewTabPage::~RefreshTreeViewTabPage() + { + this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); + } + /*********************************************************************** Class (::demo::RepeatItemTemplateConstructor) ***********************************************************************/ @@ -24246,7 +27629,7 @@ Class (::demo::RepeatItemTemplateConstructor) } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc131_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf256_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf324_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } } @@ -25048,21 +28431,21 @@ Class (::demo::ResponsiveGroupControlConstructor) ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf261_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf329_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_34)->Clicked, __vwsn_event_handler_); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf262_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf330_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_36)->Clicked, __vwsn_event_handler_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc136_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf263_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf331_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc137_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf264_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf332_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } } @@ -25440,21 +28823,21 @@ Class (::demo::ResponsiveStackControlConstructor) ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf265_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf333_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_34)->Clicked, __vwsn_event_handler_); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf266_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf334_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_36)->Clicked, __vwsn_event_handler_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc138_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf267_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf335_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc139_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf268_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf336_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } } @@ -25979,7 +29362,7 @@ Class (::demo::ResponsiveViewControlConstructor) } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc140_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf269_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf337_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { @@ -25987,7 +29370,7 @@ Class (::demo::ResponsiveViewControlConstructor) } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc141_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf270_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf338_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { @@ -25995,7 +29378,7 @@ Class (::demo::ResponsiveViewControlConstructor) } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc142_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf271_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf339_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { @@ -26003,28 +29386,28 @@ Class (::demo::ResponsiveViewControlConstructor) } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc143_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf272_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf340_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { ::vl::__vwsn::This(this->__vwsn_precompile_27)->SetShared(static_cast<::vl::presentation::controls::GuiControl*>(this->documentBox)); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf273_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf341_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_29)->Clicked, __vwsn_event_handler_); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf274_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf342_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_31)->Clicked, __vwsn_event_handler_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc144_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf275_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf343_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc145_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf276_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf344_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } } @@ -26126,7 +29509,7 @@ Class (::demo::SharedSizeItemTemplateConstructor) } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc132_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf257_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf325_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } } @@ -26194,17 +29577,17 @@ Class (::demo::SharedSizeTextItemTemplateConstructor) } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc133_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf258_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf326_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc134_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf259_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf327_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc135_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf260_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf328_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } } @@ -26802,6 +30185,98 @@ Class (::demo::SubWindow) this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiControlHost*>(this)); } +/*********************************************************************** +Class (::demo::TestWindowConstructor) +***********************************************************************/ + + void TestWindowConstructor::__vwsn_demo_TestWindow_Initialize(::demo::TestWindow* __vwsn_this_) + { + (this->self = __vwsn_this_); + { + ::vl::__vwsn::This(this->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(640); __vwsn_temp__.y = static_cast<::vl::vint>(480); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->self)->SetText(::vl::WString::Unmanaged(L"MainWindow")); + } + { + (this->__vwsn_precompile_0 = new ::vl::presentation::controls::GuiTab(::vl::presentation::theme::ThemeName::Tab)); + } + (this->__vwsn_precompile_2 = new ::demo::RefreshTextListTabPage()); + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_2)); + } + (this->__vwsn_precompile_3 = new ::demo::RefreshBindableTextListTabPage()); + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3)); + } + (this->__vwsn_precompile_4 = new ::demo::RefreshListViewTabPage()); + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4)); + } + (this->__vwsn_precompile_5 = new ::demo::RefreshBindableListViewTabPage()); + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); + } + (this->__vwsn_precompile_6 = new ::demo::RefreshTreeViewTabPage()); + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6)); + } + (this->__vwsn_precompile_7 = new ::demo::RefreshBindableTreeViewTabPage()); + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); + } + (this->__vwsn_precompile_8 = new ::demo::RefreshBindableDataGridTabPage()); + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); + } + (this->__vwsn_precompile_1 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_0)); + } + } + + TestWindowConstructor::TestWindowConstructor() + : self(static_cast<::demo::TestWindow*>(nullptr)) + , __vwsn_precompile_0(static_cast<::vl::presentation::controls::GuiTab*>(nullptr)) + , __vwsn_precompile_1(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_2(static_cast<::demo::RefreshTextListTabPage*>(nullptr)) + , __vwsn_precompile_3(static_cast<::demo::RefreshBindableTextListTabPage*>(nullptr)) + , __vwsn_precompile_4(static_cast<::demo::RefreshListViewTabPage*>(nullptr)) + , __vwsn_precompile_5(static_cast<::demo::RefreshBindableListViewTabPage*>(nullptr)) + , __vwsn_precompile_6(static_cast<::demo::RefreshTreeViewTabPage*>(nullptr)) + , __vwsn_precompile_7(static_cast<::demo::RefreshBindableTreeViewTabPage*>(nullptr)) + , __vwsn_precompile_8(static_cast<::demo::RefreshBindableDataGridTabPage*>(nullptr)) + { + } + +/*********************************************************************** +Class (::demo::TestWindow) +***********************************************************************/ + + TestWindow::TestWindow() + : ::vl::presentation::controls::GuiWindow(::vl::presentation::theme::ThemeName::Window) + { + auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString::Unmanaged(L"demo::TestWindow")); + auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); + ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); + ::vl::__vwsn::This(this)->__vwsn_demo_TestWindow_Initialize(this); + } + + TestWindow::~TestWindow() + { + this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiControlHost*>(this)); + } + /*********************************************************************** Class (::demo::TextBoxSubTabPageConstructor) ***********************************************************************/ @@ -26879,7 +30354,7 @@ Class (::demo::TextBoxSubTabPageConstructor) } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc149_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf280_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf348_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { @@ -26887,7 +30362,7 @@ Class (::demo::TextBoxSubTabPageConstructor) } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc150_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf281_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf349_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } } @@ -27074,24 +30549,24 @@ Class (::demo::TextBoxTabPageConstructor) ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf282_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf350_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_5)->Clicked, __vwsn_event_handler_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc151_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf283_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf351_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf284_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf352_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_7)->Clicked, __vwsn_event_handler_); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf285_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf353_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->self)->OnMakeFontLarger, __vwsn_event_handler_); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf286_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf354_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->self)->OnMakeFontSmaller, __vwsn_event_handler_); } } diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h index 9c1001b5..1848a498 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h @@ -182,53 +182,121 @@ namespace vl_workflow_global struct __vwsnf248_Demo_demo_LocalizedStringsTabPageConstructor___vwsn_demo_LocalizedStringsTabPage_Initialize_; struct __vwsnf249_Demo_demo_LocalizedStringsTabPageConstructor___vwsn_demo_LocalizedStringsTabPage_Initialize_; struct __vwsnf24_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_; - struct __vwsnf250_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - struct __vwsnf251_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - struct __vwsnf252_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - struct __vwsnf253_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - struct __vwsnf254_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - struct __vwsnf255_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - struct __vwsnf256_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_; - struct __vwsnf257_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_; - struct __vwsnf258_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; - struct __vwsnf259_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; + struct __vwsnf250_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf251_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf252_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf253_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf254_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf255_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf256_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf257_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf258_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf259_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; struct __vwsnf25_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_; - struct __vwsnf260_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; - struct __vwsnf261_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; - struct __vwsnf262_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; - struct __vwsnf263_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; - struct __vwsnf264_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; - struct __vwsnf265_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; - struct __vwsnf266_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; - struct __vwsnf267_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; - struct __vwsnf268_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; - struct __vwsnf269_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + struct __vwsnf260_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf261_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf262_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf263_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf264_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf265_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf266_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; + struct __vwsnf267_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf268_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; + struct __vwsnf269_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; struct __vwsnf26_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_; - struct __vwsnf270_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - struct __vwsnf271_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - struct __vwsnf272_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - struct __vwsnf273_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - struct __vwsnf274_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - struct __vwsnf275_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - struct __vwsnf276_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - struct __vwsnf277_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; - struct __vwsnf278_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; - struct __vwsnf279_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; + struct __vwsnf270_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf271_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + struct __vwsnf272_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; + struct __vwsnf273_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; + struct __vwsnf274_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + struct __vwsnf275_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + struct __vwsnf276_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + struct __vwsnf277_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + struct __vwsnf278_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + struct __vwsnf279_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; struct __vwsnf27_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_; - struct __vwsnf280_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; - struct __vwsnf281_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; - struct __vwsnf282_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - struct __vwsnf283_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - struct __vwsnf284_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - struct __vwsnf285_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - struct __vwsnf286_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + struct __vwsnf280_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + struct __vwsnf281_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + struct __vwsnf282_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__; + struct __vwsnf283_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + struct __vwsnf284_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__; + struct __vwsnf285_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + struct __vwsnf286_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + struct __vwsnf287_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + struct __vwsnf288_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__; + struct __vwsnf289_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + struct __vwsnf290_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + struct __vwsnf291_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + struct __vwsnf292_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__; + struct __vwsnf293_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + struct __vwsnf294_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__; + struct __vwsnf295_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + struct __vwsnf296_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + struct __vwsnf297_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + struct __vwsnf298_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + struct __vwsnf299_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; struct __vwsnf29_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_; struct __vwsnf2_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_; + struct __vwsnf300_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + struct __vwsnf301_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + struct __vwsnf302_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + struct __vwsnf303_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__; + struct __vwsnf304_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + struct __vwsnf305_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__; + struct __vwsnf306_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + struct __vwsnf307_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + struct __vwsnf308_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + struct __vwsnf309_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; struct __vwsnf30_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_; + struct __vwsnf310_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + struct __vwsnf311_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + struct __vwsnf312_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + struct __vwsnf313_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_; + struct __vwsnf314_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_; + struct __vwsnf315_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_; + struct __vwsnf316_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_; + struct __vwsnf317_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_; + struct __vwsnf318_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + struct __vwsnf319_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; struct __vwsnf31_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_; + struct __vwsnf320_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + struct __vwsnf321_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + struct __vwsnf322_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + struct __vwsnf323_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + struct __vwsnf324_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_; + struct __vwsnf325_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_; + struct __vwsnf326_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; + struct __vwsnf327_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; + struct __vwsnf328_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; + struct __vwsnf329_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; struct __vwsnf32_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_; + struct __vwsnf330_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; + struct __vwsnf331_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; + struct __vwsnf332_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; + struct __vwsnf333_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + struct __vwsnf334_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + struct __vwsnf335_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + struct __vwsnf336_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + struct __vwsnf337_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + struct __vwsnf338_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + struct __vwsnf339_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; struct __vwsnf33_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_; + struct __vwsnf340_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + struct __vwsnf341_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + struct __vwsnf342_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + struct __vwsnf343_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + struct __vwsnf344_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + struct __vwsnf345_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; + struct __vwsnf346_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; + struct __vwsnf347_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; + struct __vwsnf348_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; + struct __vwsnf349_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; struct __vwsnf34_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_; + struct __vwsnf350_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + struct __vwsnf351_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + struct __vwsnf352_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + struct __vwsnf353_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + struct __vwsnf354_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; struct __vwsnf35_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_; struct __vwsnf36_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_; struct __vwsnf37_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_; @@ -559,6 +627,21 @@ namespace demo class MainWindow; class MyDataItem; class MyTextItem; + class RefreshBindableDataGridTabPageConstructor; + class RefreshBindableDataGridTabPage; + class RefreshBindableListViewTabPageConstructor; + class RefreshBindableListViewTabPage; + class RefreshBindableTextListTabPageConstructor; + class RefreshBindableTextListTabPage; + class RefreshBindableTreeViewTabPageConstructor; + class RefreshBindableTreeViewTabPage; + class RefreshItem; + class RefreshListViewTabPageConstructor; + class RefreshListViewTabPage; + class RefreshTextListTabPageConstructor; + class RefreshTextListTabPage; + class RefreshTreeViewTabPageConstructor; + class RefreshTreeViewTabPage; class RepeatItemTemplateConstructor; class RepeatItemTemplate; class RepeatTabPageConstructor; @@ -582,6 +665,8 @@ namespace demo class StyleItemTemplate; class SubWindowConstructor; class SubWindow; + class TestWindowConstructor; + class TestWindow; class TextBoxSubTabPageConstructor; class TextBoxSubTabPage; class TextBoxTabPageConstructor; @@ -1201,9 +1286,9 @@ namespace demo friend class ::vl_workflow_global::__vwsnc146_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc147_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc148_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf277_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf278_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf279_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf345_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf346_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf347_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -1230,9 +1315,9 @@ namespace demo friend class ::vl_workflow_global::__vwsnc146_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc147_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc148_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf277_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf278_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf279_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf345_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf346_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf347_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -1699,12 +1784,12 @@ namespace demo class EnglishNumbersControllerConstructor : public ::vl::Object, public ::vl::reflection::Description { friend class ::vl_workflow_global::__vwsnc130_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf250_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - friend struct ::vl_workflow_global::__vwsnf251_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - friend struct ::vl_workflow_global::__vwsnf252_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - friend struct ::vl_workflow_global::__vwsnf253_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - friend struct ::vl_workflow_global::__vwsnf254_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - friend struct ::vl_workflow_global::__vwsnf255_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf318_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf319_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf320_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf321_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf322_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf323_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -1737,12 +1822,12 @@ namespace demo { friend class ::demo::EnglishNumbersControllerConstructor; friend class ::vl_workflow_global::__vwsnc130_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf250_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - friend struct ::vl_workflow_global::__vwsnf251_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - friend struct ::vl_workflow_global::__vwsnf252_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - friend struct ::vl_workflow_global::__vwsnf253_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - friend struct ::vl_workflow_global::__vwsnf254_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; - friend struct ::vl_workflow_global::__vwsnf255_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf318_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf319_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf320_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf321_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf322_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; + friend struct ::vl_workflow_global::__vwsnf323_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -2550,36 +2635,46 @@ namespace demo ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_9; ::vl::presentation::controls::GuiTab* __vwsn_precompile_10; ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_11; - ::demo::RepeatTabPage* __vwsn_precompile_12; - ::demo::ResponsiveTabPage* __vwsn_precompile_13; - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_14; - ::vl::presentation::controls::GuiTab* __vwsn_precompile_15; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_16; - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_17; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_18; + ::demo::RefreshTextListTabPage* __vwsn_precompile_12; + ::demo::RefreshBindableTextListTabPage* __vwsn_precompile_13; + ::demo::RefreshListViewTabPage* __vwsn_precompile_14; + ::demo::RefreshBindableListViewTabPage* __vwsn_precompile_15; + ::demo::RefreshTreeViewTabPage* __vwsn_precompile_16; + ::demo::RefreshBindableTreeViewTabPage* __vwsn_precompile_17; + ::demo::RefreshBindableDataGridTabPage* __vwsn_precompile_18; ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_19; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_20; - ::demo::TextBoxTabPage* __vwsn_precompile_21; - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_22; - ::vl::presentation::controls::GuiTab* __vwsn_precompile_23; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_24; - ::demo::ElementTabPage* __vwsn_precompile_25; - ::demo::AnimationTabPage* __vwsn_precompile_26; - ::demo::LocalizedStringsTabPage* __vwsn_precompile_27; - ::demo::LocalizedDialogsTabPage* __vwsn_precompile_28; - ::demo::DatePickerTabPage* __vwsn_precompile_29; - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_30; - ::vl::presentation::compositions::GuiStackComposition* __vwsn_precompile_31; - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_32; - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_33; - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_34; - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_35; - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_36; - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_37; - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_38; - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_39; - ::vl::presentation::controls::GuiButton* __vwsn_precompile_40; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_41; + ::vl::presentation::controls::GuiTab* __vwsn_precompile_20; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_21; + ::demo::RepeatTabPage* __vwsn_precompile_22; + ::demo::ResponsiveTabPage* __vwsn_precompile_23; + ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_24; + ::vl::presentation::controls::GuiTab* __vwsn_precompile_25; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_26; + ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_27; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_28; + ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_29; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_30; + ::demo::TextBoxTabPage* __vwsn_precompile_31; + ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_32; + ::vl::presentation::controls::GuiTab* __vwsn_precompile_33; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_34; + ::demo::ElementTabPage* __vwsn_precompile_35; + ::demo::AnimationTabPage* __vwsn_precompile_36; + ::demo::LocalizedStringsTabPage* __vwsn_precompile_37; + ::demo::LocalizedDialogsTabPage* __vwsn_precompile_38; + ::demo::DatePickerTabPage* __vwsn_precompile_39; + ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_40; + ::vl::presentation::compositions::GuiStackComposition* __vwsn_precompile_41; + ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_42; + ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_43; + ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_44; + ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_45; + ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_46; + ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_47; + ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_48; + ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_49; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_50; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_51; void __vwsn_demo_MainWindow_Initialize(::demo::MainWindow* __vwsn_this_); public: MainWindowConstructor(); @@ -2647,10 +2742,522 @@ namespace demo MyTextItem(); }; + class RefreshBindableDataGridTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description + { + friend struct ::vl_workflow_global::__vwsnf250_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf251_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf252_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf253_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf254_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf255_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf256_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf257_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf258_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf259_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf260_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf261_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf262_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf263_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf264_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf265_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf266_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf267_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf268_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf269_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf270_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf271_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf272_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf273_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::demo::RefreshBindableDataGridTabPage* self; + ::vl::presentation::controls::GuiComboBoxListControl* comboView; + ::vl::presentation::controls::GuiBindableDataGrid* dataGrid; + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1; + ::vl::presentation::controls::GuiTextList* __vwsn_precompile_2; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_3; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_4; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_5; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_6; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_7; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_8; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_9; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_10; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_11; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_12; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_13; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_14; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_15; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_16; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_17; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_18; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_19; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_20; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_21; + ::vl::Ptr<::vl::presentation::controls::list::DataColumn> __vwsn_precompile_22; + ::vl::Ptr<::vl::presentation::controls::list::DataColumn> __vwsn_precompile_23; + ::vl::Ptr<::vl::presentation::controls::list::DataColumn> __vwsn_precompile_24; + ::vl::Ptr<::vl::presentation::controls::list::DataColumn> __vwsn_precompile_25; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_26; + void __vwsn_demo_RefreshBindableDataGridTabPage_Initialize(::demo::RefreshBindableDataGridTabPage* __vwsn_this_); + public: + RefreshBindableDataGridTabPageConstructor(); + }; + + class RefreshBindableDataGridTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::RefreshBindableDataGridTabPageConstructor, public ::vl::reflection::Description + { + friend class ::demo::RefreshBindableDataGridTabPageConstructor; + friend struct ::vl_workflow_global::__vwsnf250_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf251_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf252_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf253_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf254_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf255_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf256_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf257_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf258_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf259_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf260_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf261_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf262_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf263_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf264_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf265_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf266_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf267_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf268_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf269_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf270_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf271_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf272_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf273_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + public: + ::vl::Ptr<::vl::reflection::description::IValueObservableList> items; + RefreshBindableDataGridTabPage(); + void __vwsn_instance_ctor_(); + ~RefreshBindableDataGridTabPage(); + }; + + class RefreshBindableListViewTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description + { + friend struct ::vl_workflow_global::__vwsnf274_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf275_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf276_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf277_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf278_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf279_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf280_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf281_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf282_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf283_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf284_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf285_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf286_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf287_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf288_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::demo::RefreshBindableListViewTabPage* self; + ::vl::presentation::controls::GuiComboBoxListControl* comboView; + ::vl::presentation::controls::GuiBindableListView* listView; + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1; + ::vl::presentation::controls::GuiTextList* __vwsn_precompile_2; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_3; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_4; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_5; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_6; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_7; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_8; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_9; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_10; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_11; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_12; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_13; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_14; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_15; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_16; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_17; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_18; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_19; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_20; + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_21; + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_22; + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_23; + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_24; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_25; + void __vwsn_demo_RefreshBindableListViewTabPage_Initialize(::demo::RefreshBindableListViewTabPage* __vwsn_this_); + public: + RefreshBindableListViewTabPageConstructor(); + }; + + class RefreshBindableListViewTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::RefreshBindableListViewTabPageConstructor, public ::vl::reflection::Description + { + friend class ::demo::RefreshBindableListViewTabPageConstructor; + friend struct ::vl_workflow_global::__vwsnf274_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf275_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf276_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf277_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf278_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf279_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf280_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf281_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf282_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf283_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf284_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf285_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf286_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf287_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf288_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + public: + ::vl::Ptr<::vl::reflection::description::IValueObservableList> items; + RefreshBindableListViewTabPage(); + void __vwsn_instance_ctor_(); + ~RefreshBindableListViewTabPage(); + }; + + class RefreshBindableTextListTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description + { + friend struct ::vl_workflow_global::__vwsnf289_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf290_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf291_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf292_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf293_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf294_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf295_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf296_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf297_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::demo::RefreshBindableTextListTabPage* self; + ::vl::presentation::controls::GuiBindableTextList* textList; + ::vl::presentation::controls::GuiButton* buttonRead; + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_2; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_3; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_4; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_5; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_6; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_7; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_8; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_9; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_10; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_11; + void __vwsn_demo_RefreshBindableTextListTabPage_Initialize(::demo::RefreshBindableTextListTabPage* __vwsn_this_); + public: + RefreshBindableTextListTabPageConstructor(); + }; + + class RefreshBindableTextListTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::RefreshBindableTextListTabPageConstructor, public ::vl::reflection::Description + { + friend class ::demo::RefreshBindableTextListTabPageConstructor; + friend struct ::vl_workflow_global::__vwsnf289_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf290_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf291_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf292_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf293_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf294_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf295_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf296_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf297_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + public: + ::vl::Ptr<::vl::reflection::description::IValueObservableList> items; + RefreshBindableTextListTabPage(); + ~RefreshBindableTextListTabPage(); + }; + + class RefreshBindableTreeViewTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description + { + friend struct ::vl_workflow_global::__vwsnf298_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf299_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf300_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf301_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf302_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf303_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf304_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf305_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf306_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf307_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::demo::RefreshBindableTreeViewTabPage* self; + ::vl::presentation::controls::GuiBindableTreeView* treeView; + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_2; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_3; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_4; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_5; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_6; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_7; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_8; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_9; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_10; + void __vwsn_demo_RefreshBindableTreeViewTabPage_Initialize(::demo::RefreshBindableTreeViewTabPage* __vwsn_this_); + public: + RefreshBindableTreeViewTabPageConstructor(); + }; + + class RefreshBindableTreeViewTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::RefreshBindableTreeViewTabPageConstructor, public ::vl::reflection::Description + { + friend class ::demo::RefreshBindableTreeViewTabPageConstructor; + friend struct ::vl_workflow_global::__vwsnf298_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf299_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf300_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf301_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf302_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf303_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf304_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf305_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__; + friend struct ::vl_workflow_global::__vwsnf306_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf307_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + public: + ::vl::Ptr<::demo::RefreshItem> rootItem; + RefreshBindableTreeViewTabPage(); + void __vwsn_instance_ctor_(); + ~RefreshBindableTreeViewTabPage(); + }; + + class RefreshItem : public ::vl::Object, public ::vl::reflection::Description + { +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + private: + ::vl::WString __vwsn_prop_Name; + public: + ::vl::WString GetName(); + void SetName(const ::vl::WString& __vwsn_value_); + private: + ::vl::WString __vwsn_prop_Title; + public: + ::vl::WString GetTitle(); + void SetTitle(const ::vl::WString& __vwsn_value_); + private: + ::vl::WString __vwsn_prop_Sub1; + public: + ::vl::WString GetSub1(); + void SetSub1(const ::vl::WString& __vwsn_value_); + private: + ::vl::WString __vwsn_prop_Sub2; + public: + ::vl::WString GetSub2(); + void SetSub2(const ::vl::WString& __vwsn_value_); + private: + ::vl::WString __vwsn_prop_Sub3; + public: + ::vl::WString GetSub3(); + void SetSub3(const ::vl::WString& __vwsn_value_); + private: + bool __vwsn_prop_Selected; + public: + bool GetSelected(); + void SetSelected(bool __vwsn_value_); + private: + ::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_prop_LargeImage; + public: + ::vl::Ptr<::vl::presentation::GuiImageData> GetLargeImage(); + void SetLargeImage(::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_value_); + private: + ::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_prop_SmallImage; + public: + ::vl::Ptr<::vl::presentation::GuiImageData> GetSmallImage(); + void SetSmallImage(::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_value_); + private: + ::vl::Ptr<::vl::reflection::description::IValueObservableList> __vwsn_prop_Children; + public: + ::vl::Ptr<::vl::reflection::description::IValueObservableList> GetChildren(); + protected: + void SetChildren(::vl::Ptr<::vl::reflection::description::IValueObservableList> __vwsn_value_); + public: + private: + ::vl::reflection::description::Value __vwsn_prop_DoNotUse; + public: + ::vl::reflection::description::Value GetDoNotUse(); + void SetDoNotUse(const ::vl::reflection::description::Value& __vwsn_value_); + RefreshItem(const ::vl::WString& name, const ::vl::WString& title); + RefreshItem(const ::vl::WString& name, const ::vl::WString& title, const ::vl::collections::LazyList<::vl::Ptr<::demo::RefreshItem>>& children); + }; + + class RefreshListViewTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description + { + friend struct ::vl_workflow_global::__vwsnf308_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf309_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf310_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf311_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf312_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::demo::RefreshListViewTabPage* self; + ::vl::presentation::controls::GuiComboBoxListControl* comboView; + ::vl::presentation::controls::GuiListView* listView; + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1; + ::vl::presentation::controls::GuiTextList* __vwsn_precompile_2; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_3; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_4; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_5; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_6; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_7; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_8; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_9; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_10; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_11; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_12; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_13; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_14; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_15; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_16; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_17; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_18; + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_19; + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_20; + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_21; + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_22; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_23; + ::vl::Ptr<::vl::presentation::controls::list::ListViewItem> __vwsn_precompile_24; + ::vl::Ptr<::vl::presentation::controls::list::ListViewItem> __vwsn_precompile_25; + ::vl::Ptr<::vl::presentation::controls::list::ListViewItem> __vwsn_precompile_26; + ::vl::Ptr<::vl::presentation::controls::list::ListViewItem> __vwsn_precompile_27; + void __vwsn_demo_RefreshListViewTabPage_Initialize(::demo::RefreshListViewTabPage* __vwsn_this_); + public: + RefreshListViewTabPageConstructor(); + }; + + class RefreshListViewTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::RefreshListViewTabPageConstructor, public ::vl::reflection::Description + { + friend class ::demo::RefreshListViewTabPageConstructor; + friend struct ::vl_workflow_global::__vwsnf308_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf309_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf310_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf311_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf312_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + public: + RefreshListViewTabPage(); + ~RefreshListViewTabPage(); + }; + + class RefreshTextListTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description + { + friend struct ::vl_workflow_global::__vwsnf313_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf314_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf315_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::demo::RefreshTextListTabPage* self; + ::vl::presentation::controls::GuiTextList* textList; + ::vl::presentation::controls::GuiButton* buttonRead; + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_2; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_3; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_4; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_5; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_6; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_7; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_8; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_9; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_10; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_11; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_12; + ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_13; + void __vwsn_demo_RefreshTextListTabPage_Initialize(::demo::RefreshTextListTabPage* __vwsn_this_); + public: + RefreshTextListTabPageConstructor(); + }; + + class RefreshTextListTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::RefreshTextListTabPageConstructor, public ::vl::reflection::Description + { + friend class ::demo::RefreshTextListTabPageConstructor; + friend struct ::vl_workflow_global::__vwsnf313_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf314_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf315_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + public: + RefreshTextListTabPage(); + ~RefreshTextListTabPage(); + }; + + class RefreshTreeViewTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description + { + friend struct ::vl_workflow_global::__vwsnf316_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf317_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::demo::RefreshTreeViewTabPage* self; + ::vl::presentation::controls::GuiTreeView* treeView; + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_2; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_3; + ::vl::presentation::controls::GuiButton* __vwsn_precompile_4; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_5; + ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_6; + ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_7; + ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_8; + ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_9; + ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_10; + ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_11; + ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_12; + ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_13; + ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_14; + ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_15; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_16; + void __vwsn_demo_RefreshTreeViewTabPage_Initialize(::demo::RefreshTreeViewTabPage* __vwsn_this_); + public: + RefreshTreeViewTabPageConstructor(); + }; + + class RefreshTreeViewTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::RefreshTreeViewTabPageConstructor, public ::vl::reflection::Description + { + friend class ::demo::RefreshTreeViewTabPageConstructor; + friend struct ::vl_workflow_global::__vwsnf316_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf317_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + public: + RefreshTreeViewTabPage(); + ~RefreshTreeViewTabPage(); + }; + class RepeatItemTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description { friend class ::vl_workflow_global::__vwsnc131_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf256_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf324_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -2668,7 +3275,7 @@ namespace demo { friend class ::demo::RepeatItemTemplateConstructor; friend class ::vl_workflow_global::__vwsnc131_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf256_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf324_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -2760,10 +3367,10 @@ namespace demo { friend class ::vl_workflow_global::__vwsnc136_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc137_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf261_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf262_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf263_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf264_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf329_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf330_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf331_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf332_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -2821,10 +3428,10 @@ namespace demo friend class ::demo::ResponsiveGroupControlConstructor; friend class ::vl_workflow_global::__vwsnc136_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc137_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf261_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf262_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf263_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf264_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf329_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf330_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf331_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf332_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -2837,10 +3444,10 @@ namespace demo { friend class ::vl_workflow_global::__vwsnc138_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc139_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf265_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf266_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf267_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf268_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf333_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf334_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf335_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf336_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -2898,10 +3505,10 @@ namespace demo friend class ::demo::ResponsiveStackControlConstructor; friend class ::vl_workflow_global::__vwsnc138_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc139_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf265_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf266_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf267_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf268_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf333_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf334_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf335_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf336_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -2957,14 +3564,14 @@ namespace demo friend class ::vl_workflow_global::__vwsnc143_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc144_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc145_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf269_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf270_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf271_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf272_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf273_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf274_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf275_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf276_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf337_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf338_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf339_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf340_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf341_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf342_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf343_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf344_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3022,14 +3629,14 @@ namespace demo friend class ::vl_workflow_global::__vwsnc143_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc144_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc145_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf269_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf270_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf271_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf272_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf273_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf274_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf275_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; - friend struct ::vl_workflow_global::__vwsnf276_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf337_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf338_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf339_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf340_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf341_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf342_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf343_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; + friend struct ::vl_workflow_global::__vwsnf344_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3041,7 +3648,7 @@ namespace demo class SharedSizeItemTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description { friend class ::vl_workflow_global::__vwsnc132_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf257_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf325_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3060,7 +3667,7 @@ namespace demo { friend class ::demo::SharedSizeItemTemplateConstructor; friend class ::vl_workflow_global::__vwsnc132_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf257_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf325_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3076,9 +3683,9 @@ namespace demo friend class ::vl_workflow_global::__vwsnc133_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc134_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc135_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf258_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf259_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf260_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf326_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf327_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf328_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3098,9 +3705,9 @@ namespace demo friend class ::vl_workflow_global::__vwsnc133_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc134_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc135_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf258_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf259_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf260_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf326_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf327_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf328_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3294,12 +3901,44 @@ namespace demo ~SubWindow(); }; + class TestWindowConstructor : public ::vl::Object, public ::vl::reflection::Description + { +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::demo::TestWindow* self; + ::vl::presentation::controls::GuiTab* __vwsn_precompile_0; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_1; + ::demo::RefreshTextListTabPage* __vwsn_precompile_2; + ::demo::RefreshBindableTextListTabPage* __vwsn_precompile_3; + ::demo::RefreshListViewTabPage* __vwsn_precompile_4; + ::demo::RefreshBindableListViewTabPage* __vwsn_precompile_5; + ::demo::RefreshTreeViewTabPage* __vwsn_precompile_6; + ::demo::RefreshBindableTreeViewTabPage* __vwsn_precompile_7; + ::demo::RefreshBindableDataGridTabPage* __vwsn_precompile_8; + void __vwsn_demo_TestWindow_Initialize(::demo::TestWindow* __vwsn_this_); + public: + TestWindowConstructor(); + }; + + class TestWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::TestWindowConstructor, public ::vl::reflection::Description + { + friend class ::demo::TestWindowConstructor; +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + public: + TestWindow(); + ~TestWindow(); + }; + class TextBoxSubTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description { friend class ::vl_workflow_global::__vwsnc149_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc150_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf280_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf281_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf348_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf349_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3322,8 +3961,8 @@ namespace demo friend class ::demo::TextBoxSubTabPageConstructor; friend class ::vl_workflow_global::__vwsnc149_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc150_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf280_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf281_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf348_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf349_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3339,11 +3978,11 @@ namespace demo class TextBoxTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description { friend class ::vl_workflow_global::__vwsnc151_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf282_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf283_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf284_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf285_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf286_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf350_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf351_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf352_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf353_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf354_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3370,11 +4009,11 @@ namespace demo { friend class ::demo::TextBoxTabPageConstructor; friend class ::vl_workflow_global::__vwsnc151_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf282_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf283_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf284_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf285_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; - friend struct ::vl_workflow_global::__vwsnf286_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf350_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf351_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf352_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf353_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; + friend struct ::vl_workflow_global::__vwsnf354_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -5053,94 +5692,94 @@ Closures ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; - struct __vwsnf250_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + struct __vwsnf250_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf250_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + __vwsnf250_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; - struct __vwsnf251_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + struct __vwsnf251_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf251_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + __vwsnf251_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; - struct __vwsnf252_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + struct __vwsnf252_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf252_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + __vwsnf252_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const; }; - struct __vwsnf253_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + struct __vwsnf253_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf253_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + __vwsnf253_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; - struct __vwsnf254_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + struct __vwsnf254_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf254_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + __vwsnf254_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const; }; - struct __vwsnf255_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + struct __vwsnf255_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf255_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + __vwsnf255_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; - struct __vwsnf256_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_ + struct __vwsnf256_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::RepeatItemTemplateConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf256_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_(::demo::RepeatItemTemplateConstructor* __vwsnctorthis_0); + __vwsnf256_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const; }; - struct __vwsnf257_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_ + struct __vwsnf257_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::SharedSizeItemTemplateConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf257_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_(::demo::SharedSizeItemTemplateConstructor* __vwsnctorthis_0); + __vwsnf257_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; - struct __vwsnf258_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_ + struct __vwsnf258_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::SharedSizeTextItemTemplateConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf258_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0); + __vwsnf258_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf259_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_ + struct __vwsnf259_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::SharedSizeTextItemTemplateConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf259_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0); + __vwsnf259_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; struct __vwsnf25_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_ @@ -5152,96 +5791,96 @@ Closures ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf260_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_ + struct __vwsnf260_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::SharedSizeTextItemTemplateConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf260_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0); + __vwsnf260_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf261_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_ + struct __vwsnf261_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::ResponsiveGroupControlConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf261_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0); + __vwsnf261_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); + + ::vl::presentation::templates::GuiGridEditorTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + }; + + struct __vwsnf262_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ + { + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; + + __vwsnf262_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); + + ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const; + }; + + struct __vwsnf263_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ + { + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; + + __vwsnf263_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; + }; + + struct __vwsnf264_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ + { + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; + + __vwsnf264_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; - struct __vwsnf262_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_ + struct __vwsnf265_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::ResponsiveGroupControlConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf262_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0); + __vwsnf265_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; - struct __vwsnf263_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_ + struct __vwsnf266_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__ { - ::demo::ResponsiveGroupControlConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf263_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0); + __vwsnf266_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::WString operator()(const ::vl::reflection::description::Value& value) const; }; - struct __vwsnf264_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_ + struct __vwsnf267_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::ResponsiveGroupControlConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf264_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf265_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_ - { - ::demo::ResponsiveStackControlConstructor* __vwsnthis_0; - - __vwsnf265_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0); + __vwsnf267_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; - struct __vwsnf266_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_ + struct __vwsnf268_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__ { - ::demo::ResponsiveStackControlConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf266_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0); + __vwsnf268_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& value) const; + }; + + struct __vwsnf269_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ + { + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; + + __vwsnf269_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; - struct __vwsnf267_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_ - { - ::demo::ResponsiveStackControlConstructor* __vwsnthis_0; - - __vwsnf267_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf268_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_ - { - ::demo::ResponsiveStackControlConstructor* __vwsnthis_0; - - __vwsnf268_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf269_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ - { - ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; - - __vwsnf269_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - struct __vwsnf26_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_ { ::demo::DataGridTabPageConstructor* __vwsnthis_0; @@ -5251,94 +5890,94 @@ Closures ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf270_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + struct __vwsnf270_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf270_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf271_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ - { - ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; - - __vwsnf271_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf272_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ - { - ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; - - __vwsnf272_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf273_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ - { - ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; - - __vwsnf273_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + __vwsnf270_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; - struct __vwsnf274_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + struct __vwsnf271_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_ { - ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf274_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + __vwsnf271_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize_(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; - struct __vwsnf275_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + struct __vwsnf272_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__ { - ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf275_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + __vwsnf272_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::WString operator()(const ::vl::reflection::description::Value& value) const; }; - struct __vwsnf276_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + struct __vwsnf273_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__ { - ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + ::demo::RefreshBindableDataGridTabPageConstructor* __vwsnthis_0; - __vwsnf276_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + __vwsnf273_Demo_demo_RefreshBindableDataGridTabPageConstructor___vwsn_demo_RefreshBindableDataGridTabPage_Initialize__(::demo::RefreshBindableDataGridTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& value, const ::vl::reflection::description::Value& field, bool update) const; }; - struct __vwsnf277_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_ + struct __vwsnf274_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ { - ::demo::DocumentBoxSubTabPageConstructor* __vwsnthis_0; + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; - __vwsnf277_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0); + __vwsnf274_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; - struct __vwsnf278_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_ + struct __vwsnf275_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ { - ::demo::DocumentBoxSubTabPageConstructor* __vwsnthis_0; + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; - __vwsnf278_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0); + __vwsnf275_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; - struct __vwsnf279_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_ + struct __vwsnf276_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ { - ::demo::DocumentBoxSubTabPageConstructor* __vwsnthis_0; + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; - __vwsnf279_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0); + __vwsnf276_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; + }; + + struct __vwsnf277_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ + { + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf277_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; + }; + + struct __vwsnf278_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ + { + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf278_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; + }; + + struct __vwsnf279_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ + { + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf279_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; struct __vwsnf27_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_ @@ -5350,67 +5989,184 @@ Closures ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf280_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_ + struct __vwsnf280_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ { - ::demo::TextBoxSubTabPageConstructor* __vwsnthis_0; + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; - __vwsnf280_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(::demo::TextBoxSubTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf281_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_ - { - ::demo::TextBoxSubTabPageConstructor* __vwsnthis_0; - - __vwsnf281_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(::demo::TextBoxSubTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf282_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_ - { - ::demo::TextBoxTabPageConstructor* __vwsnthis_0; - - __vwsnf282_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); + __vwsnf280_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; - struct __vwsnf283_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_ + struct __vwsnf281_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ { - ::demo::TextBoxTabPageConstructor* __vwsnthis_0; + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; - __vwsnf283_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf284_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_ - { - ::demo::TextBoxTabPageConstructor* __vwsnthis_0; - - __vwsnf284_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); + __vwsnf281_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; - struct __vwsnf285_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_ + struct __vwsnf282_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__ { - ::demo::TextBoxTabPageConstructor* __vwsnthis_0; + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; - __vwsnf285_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); + __vwsnf282_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); - void operator()() const; + ::vl::WString operator()(const ::vl::reflection::description::Value& value) const; }; - struct __vwsnf286_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_ + struct __vwsnf283_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ { - ::demo::TextBoxTabPageConstructor* __vwsnthis_0; + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; - __vwsnf286_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); + __vwsnf283_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); - void operator()() const; + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf284_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__ + { + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf284_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& value) const; + }; + + struct __vwsnf285_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ + { + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf285_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf286_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ + { + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf286_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf287_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_ + { + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf287_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize_(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf288_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__ + { + ::demo::RefreshBindableListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf288_Demo_demo_RefreshBindableListViewTabPageConstructor___vwsn_demo_RefreshBindableListViewTabPage_Initialize__(::demo::RefreshBindableListViewTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& value) const; + }; + + struct __vwsnf289_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_ + { + ::demo::RefreshBindableTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf289_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0); + + bool operator()(const ::vl::reflection::description::Value& __vwsn_item_, bool __vwsn_value_, bool __vwsn_update_) const; + }; + + struct __vwsnf290_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_ + { + ::demo::RefreshBindableTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf290_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; + }; + + struct __vwsnf291_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_ + { + ::demo::RefreshBindableTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf291_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf292_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__ + { + ::demo::RefreshBindableTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf292_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& value) const; + }; + + struct __vwsnf293_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_ + { + ::demo::RefreshBindableTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf293_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf294_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__ + { + ::demo::RefreshBindableTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf294_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize__(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& value) const; + }; + + struct __vwsnf295_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_ + { + ::demo::RefreshBindableTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf295_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf296_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_ + { + ::demo::RefreshBindableTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf296_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf297_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_ + { + ::demo::RefreshBindableTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf297_Demo_demo_RefreshBindableTextListTabPageConstructor___vwsn_demo_RefreshBindableTextListTabPage_Initialize_(::demo::RefreshBindableTextListTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf298_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_ + { + ::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf298_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0); + + ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const; + }; + + struct __vwsnf299_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_ + { + ::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf299_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::vl::reflection::description::IValueEnumerable> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; struct __vwsnf29_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_ @@ -5431,6 +6187,96 @@ Closures ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; + struct __vwsnf300_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_ + { + ::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf300_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; + }; + + struct __vwsnf301_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_ + { + ::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf301_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; + }; + + struct __vwsnf302_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_ + { + ::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf302_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf303_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__ + { + ::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf303_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& value) const; + }; + + struct __vwsnf304_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_ + { + ::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf304_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf305_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__ + { + ::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf305_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize__(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0); + + ::vl::WString operator()(const ::vl::reflection::description::Value& value) const; + }; + + struct __vwsnf306_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_ + { + ::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf306_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf307_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_ + { + ::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf307_Demo_demo_RefreshBindableTreeViewTabPageConstructor___vwsn_demo_RefreshBindableTreeViewTabPage_Initialize_(::demo::RefreshBindableTreeViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf308_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_ + { + ::demo::RefreshListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf308_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(::demo::RefreshListViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf309_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_ + { + ::demo::RefreshListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf309_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(::demo::RefreshListViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + struct __vwsnf30_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_ { ::demo::DataGridTabPageConstructor* __vwsnthis_0; @@ -5440,6 +6286,96 @@ Closures ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const; }; + struct __vwsnf310_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_ + { + ::demo::RefreshListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf310_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(::demo::RefreshListViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf311_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_ + { + ::demo::RefreshListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf311_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(::demo::RefreshListViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf312_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_ + { + ::demo::RefreshListViewTabPageConstructor* __vwsnthis_0; + + __vwsnf312_Demo_demo_RefreshListViewTabPageConstructor___vwsn_demo_RefreshListViewTabPage_Initialize_(::demo::RefreshListViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf313_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_ + { + ::demo::RefreshTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf313_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_(::demo::RefreshTextListTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf314_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_ + { + ::demo::RefreshTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf314_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_(::demo::RefreshTextListTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf315_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_ + { + ::demo::RefreshTextListTabPageConstructor* __vwsnthis_0; + + __vwsnf315_Demo_demo_RefreshTextListTabPageConstructor___vwsn_demo_RefreshTextListTabPage_Initialize_(::demo::RefreshTextListTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf316_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_ + { + ::demo::RefreshTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf316_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_(::demo::RefreshTreeViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf317_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_ + { + ::demo::RefreshTreeViewTabPageConstructor* __vwsnthis_0; + + __vwsnf317_Demo_demo_RefreshTreeViewTabPageConstructor___vwsn_demo_RefreshTreeViewTabPage_Initialize_(::demo::RefreshTreeViewTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf318_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + { + ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + + __vwsnf318_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf319_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + { + ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + + __vwsnf319_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + struct __vwsnf31_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_ { ::demo::DataGridTabPageConstructor* __vwsnthis_0; @@ -5449,6 +6385,96 @@ Closures ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; + struct __vwsnf320_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + { + ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + + __vwsnf320_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf321_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + { + ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + + __vwsnf321_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf322_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + { + ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + + __vwsnf322_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf323_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_ + { + ::demo::EnglishNumbersControllerConstructor* __vwsnthis_0; + + __vwsnf323_Demo_demo_EnglishNumbersControllerConstructor___vwsn_demo_EnglishNumbersController_Initialize_(::demo::EnglishNumbersControllerConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf324_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_ + { + ::demo::RepeatItemTemplateConstructor* __vwsnthis_0; + + __vwsnf324_Demo_demo_RepeatItemTemplateConstructor___vwsn_demo_RepeatItemTemplate_Initialize_(::demo::RepeatItemTemplateConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf325_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_ + { + ::demo::SharedSizeItemTemplateConstructor* __vwsnthis_0; + + __vwsnf325_Demo_demo_SharedSizeItemTemplateConstructor___vwsn_demo_SharedSizeItemTemplate_Initialize_(::demo::SharedSizeItemTemplateConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf326_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_ + { + ::demo::SharedSizeTextItemTemplateConstructor* __vwsnthis_0; + + __vwsnf326_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf327_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_ + { + ::demo::SharedSizeTextItemTemplateConstructor* __vwsnthis_0; + + __vwsnf327_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf328_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_ + { + ::demo::SharedSizeTextItemTemplateConstructor* __vwsnthis_0; + + __vwsnf328_Demo_demo_SharedSizeTextItemTemplateConstructor___vwsn_demo_SharedSizeTextItemTemplate_Initialize_(::demo::SharedSizeTextItemTemplateConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf329_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_ + { + ::demo::ResponsiveGroupControlConstructor* __vwsnthis_0; + + __vwsnf329_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + struct __vwsnf32_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_ { ::demo::DataGridTabPageConstructor* __vwsnthis_0; @@ -5458,6 +6484,96 @@ Closures void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; + struct __vwsnf330_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_ + { + ::demo::ResponsiveGroupControlConstructor* __vwsnthis_0; + + __vwsnf330_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf331_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_ + { + ::demo::ResponsiveGroupControlConstructor* __vwsnthis_0; + + __vwsnf331_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf332_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_ + { + ::demo::ResponsiveGroupControlConstructor* __vwsnthis_0; + + __vwsnf332_Demo_demo_ResponsiveGroupControlConstructor___vwsn_demo_ResponsiveGroupControl_Initialize_(::demo::ResponsiveGroupControlConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf333_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_ + { + ::demo::ResponsiveStackControlConstructor* __vwsnthis_0; + + __vwsnf333_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf334_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_ + { + ::demo::ResponsiveStackControlConstructor* __vwsnthis_0; + + __vwsnf334_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf335_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_ + { + ::demo::ResponsiveStackControlConstructor* __vwsnthis_0; + + __vwsnf335_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf336_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_ + { + ::demo::ResponsiveStackControlConstructor* __vwsnthis_0; + + __vwsnf336_Demo_demo_ResponsiveStackControlConstructor___vwsn_demo_ResponsiveStackControl_Initialize_(::demo::ResponsiveStackControlConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf337_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + { + ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + + __vwsnf337_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf338_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + { + ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + + __vwsnf338_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf339_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + { + ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + + __vwsnf339_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + struct __vwsnf33_Demo_demo_DataGridTabPageConstructor___vwsn_demo_DataGridTabPage_Initialize_ { ::demo::DataGridTabPageConstructor* __vwsnthis_0; @@ -5467,6 +6583,96 @@ Closures void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; + struct __vwsnf340_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + { + ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + + __vwsnf340_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf341_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + { + ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + + __vwsnf341_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf342_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + { + ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + + __vwsnf342_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf343_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + { + ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + + __vwsnf343_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf344_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_ + { + ::demo::ResponsiveViewControlConstructor* __vwsnthis_0; + + __vwsnf344_Demo_demo_ResponsiveViewControlConstructor___vwsn_demo_ResponsiveViewControl_Initialize_(::demo::ResponsiveViewControlConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf345_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_ + { + ::demo::DocumentBoxSubTabPageConstructor* __vwsnthis_0; + + __vwsnf345_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf346_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_ + { + ::demo::DocumentBoxSubTabPageConstructor* __vwsnthis_0; + + __vwsnf346_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf347_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_ + { + ::demo::DocumentBoxSubTabPageConstructor* __vwsnthis_0; + + __vwsnf347_Demo_demo_DocumentBoxSubTabPageConstructor___vwsn_demo_DocumentBoxSubTabPage_Initialize_(::demo::DocumentBoxSubTabPageConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf348_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_ + { + ::demo::TextBoxSubTabPageConstructor* __vwsnthis_0; + + __vwsnf348_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(::demo::TextBoxSubTabPageConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf349_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_ + { + ::demo::TextBoxSubTabPageConstructor* __vwsnthis_0; + + __vwsnf349_Demo_demo_TextBoxSubTabPageConstructor___vwsn_demo_TextBoxSubTabPage_Initialize_(::demo::TextBoxSubTabPageConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + struct __vwsnf34_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_ { ::demo::ListViewTabPageConstructor* __vwsnthis_0; @@ -5476,6 +6682,51 @@ Closures ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; + struct __vwsnf350_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_ + { + ::demo::TextBoxTabPageConstructor* __vwsnthis_0; + + __vwsnf350_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf351_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_ + { + ::demo::TextBoxTabPageConstructor* __vwsnthis_0; + + __vwsnf351_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf352_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_ + { + ::demo::TextBoxTabPageConstructor* __vwsnthis_0; + + __vwsnf352_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf353_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_ + { + ::demo::TextBoxTabPageConstructor* __vwsnthis_0; + + __vwsnf353_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); + + void operator()() const; + }; + + struct __vwsnf354_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_ + { + ::demo::TextBoxTabPageConstructor* __vwsnthis_0; + + __vwsnf354_Demo_demo_TextBoxTabPageConstructor___vwsn_demo_TextBoxTabPage_Initialize_(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); + + void operator()() const; + }; + struct __vwsnf35_Demo_demo_ListViewTabPageConstructor___vwsn_demo_ListViewTabPage_Initialize_ { ::demo::ListViewTabPageConstructor* __vwsnthis_0; diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.cpp b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.cpp index 0be72f05..839a5c3e 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.cpp +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.cpp @@ -98,6 +98,21 @@ namespace vl IMPL_CPP_TYPE_INFO(demo::MyDataItem) IMPL_CPP_TYPE_INFO(demo::MyGender) IMPL_CPP_TYPE_INFO(demo::MyTextItem) + IMPL_CPP_TYPE_INFO(demo::RefreshBindableDataGridTabPage) + IMPL_CPP_TYPE_INFO(demo::RefreshBindableDataGridTabPageConstructor) + IMPL_CPP_TYPE_INFO(demo::RefreshBindableListViewTabPage) + IMPL_CPP_TYPE_INFO(demo::RefreshBindableListViewTabPageConstructor) + IMPL_CPP_TYPE_INFO(demo::RefreshBindableTextListTabPage) + IMPL_CPP_TYPE_INFO(demo::RefreshBindableTextListTabPageConstructor) + IMPL_CPP_TYPE_INFO(demo::RefreshBindableTreeViewTabPage) + IMPL_CPP_TYPE_INFO(demo::RefreshBindableTreeViewTabPageConstructor) + IMPL_CPP_TYPE_INFO(demo::RefreshItem) + IMPL_CPP_TYPE_INFO(demo::RefreshListViewTabPage) + IMPL_CPP_TYPE_INFO(demo::RefreshListViewTabPageConstructor) + IMPL_CPP_TYPE_INFO(demo::RefreshTextListTabPage) + IMPL_CPP_TYPE_INFO(demo::RefreshTextListTabPageConstructor) + IMPL_CPP_TYPE_INFO(demo::RefreshTreeViewTabPage) + IMPL_CPP_TYPE_INFO(demo::RefreshTreeViewTabPageConstructor) IMPL_CPP_TYPE_INFO(demo::RepeatItemTemplate) IMPL_CPP_TYPE_INFO(demo::RepeatItemTemplateConstructor) IMPL_CPP_TYPE_INFO(demo::RepeatTabPage) @@ -121,6 +136,8 @@ namespace vl IMPL_CPP_TYPE_INFO(demo::StyleItemTemplateConstructor) IMPL_CPP_TYPE_INFO(demo::SubWindow) IMPL_CPP_TYPE_INFO(demo::SubWindowConstructor) + IMPL_CPP_TYPE_INFO(demo::TestWindow) + IMPL_CPP_TYPE_INFO(demo::TestWindowConstructor) IMPL_CPP_TYPE_INFO(demo::TextBoxSubTabPage) IMPL_CPP_TYPE_INFO(demo::TextBoxSubTabPageConstructor) IMPL_CPP_TYPE_INFO(demo::TextBoxTabPage) @@ -1388,7 +1405,17 @@ namespace vl CLASS_MEMBER_FIELD(__vwsn_precompile_4) CLASS_MEMBER_FIELD(__vwsn_precompile_40) CLASS_MEMBER_FIELD(__vwsn_precompile_41) + CLASS_MEMBER_FIELD(__vwsn_precompile_42) + CLASS_MEMBER_FIELD(__vwsn_precompile_43) + CLASS_MEMBER_FIELD(__vwsn_precompile_44) + CLASS_MEMBER_FIELD(__vwsn_precompile_45) + CLASS_MEMBER_FIELD(__vwsn_precompile_46) + CLASS_MEMBER_FIELD(__vwsn_precompile_47) + CLASS_MEMBER_FIELD(__vwsn_precompile_48) + CLASS_MEMBER_FIELD(__vwsn_precompile_49) CLASS_MEMBER_FIELD(__vwsn_precompile_5) + CLASS_MEMBER_FIELD(__vwsn_precompile_50) + CLASS_MEMBER_FIELD(__vwsn_precompile_51) CLASS_MEMBER_FIELD(__vwsn_precompile_6) CLASS_MEMBER_FIELD(__vwsn_precompile_7) CLASS_MEMBER_FIELD(__vwsn_precompile_8) @@ -1465,6 +1492,297 @@ namespace vl CLASS_MEMBER_PROPERTY(Name, GetName, SetName) END_CLASS_MEMBER(::demo::MyTextItem) + BEGIN_CLASS_MEMBER(::demo::RefreshBindableDataGridTabPage) + CLASS_MEMBER_BASE(::vl::presentation::controls::GuiTabPage) + CLASS_MEMBER_BASE(::demo::RefreshBindableDataGridTabPageConstructor) + CLASS_MEMBER_CONSTRUCTOR(::demo::RefreshBindableDataGridTabPage*(), NO_PARAMETER) + CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER) + CLASS_MEMBER_FIELD(items) + END_CLASS_MEMBER(::demo::RefreshBindableDataGridTabPage) + + BEGIN_CLASS_MEMBER(::demo::RefreshBindableDataGridTabPageConstructor) + CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) + CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::RefreshBindableDataGridTabPageConstructor>(), NO_PARAMETER) + CLASS_MEMBER_METHOD(__vwsn_demo_RefreshBindableDataGridTabPage_Initialize, { L"__vwsn_this_" }) + CLASS_MEMBER_FIELD(__vwsn_precompile_0) + CLASS_MEMBER_FIELD(__vwsn_precompile_1) + CLASS_MEMBER_FIELD(__vwsn_precompile_10) + CLASS_MEMBER_FIELD(__vwsn_precompile_11) + CLASS_MEMBER_FIELD(__vwsn_precompile_12) + CLASS_MEMBER_FIELD(__vwsn_precompile_13) + CLASS_MEMBER_FIELD(__vwsn_precompile_14) + CLASS_MEMBER_FIELD(__vwsn_precompile_15) + CLASS_MEMBER_FIELD(__vwsn_precompile_16) + CLASS_MEMBER_FIELD(__vwsn_precompile_17) + CLASS_MEMBER_FIELD(__vwsn_precompile_18) + CLASS_MEMBER_FIELD(__vwsn_precompile_19) + CLASS_MEMBER_FIELD(__vwsn_precompile_2) + CLASS_MEMBER_FIELD(__vwsn_precompile_20) + CLASS_MEMBER_FIELD(__vwsn_precompile_21) + CLASS_MEMBER_FIELD(__vwsn_precompile_22) + CLASS_MEMBER_FIELD(__vwsn_precompile_23) + CLASS_MEMBER_FIELD(__vwsn_precompile_24) + CLASS_MEMBER_FIELD(__vwsn_precompile_25) + CLASS_MEMBER_FIELD(__vwsn_precompile_26) + CLASS_MEMBER_FIELD(__vwsn_precompile_3) + CLASS_MEMBER_FIELD(__vwsn_precompile_4) + CLASS_MEMBER_FIELD(__vwsn_precompile_5) + CLASS_MEMBER_FIELD(__vwsn_precompile_6) + CLASS_MEMBER_FIELD(__vwsn_precompile_7) + CLASS_MEMBER_FIELD(__vwsn_precompile_8) + CLASS_MEMBER_FIELD(__vwsn_precompile_9) + CLASS_MEMBER_FIELD(comboView) + CLASS_MEMBER_FIELD(dataGrid) + CLASS_MEMBER_FIELD(self) + END_CLASS_MEMBER(::demo::RefreshBindableDataGridTabPageConstructor) + + BEGIN_CLASS_MEMBER(::demo::RefreshBindableListViewTabPage) + CLASS_MEMBER_BASE(::vl::presentation::controls::GuiTabPage) + CLASS_MEMBER_BASE(::demo::RefreshBindableListViewTabPageConstructor) + CLASS_MEMBER_CONSTRUCTOR(::demo::RefreshBindableListViewTabPage*(), NO_PARAMETER) + CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER) + CLASS_MEMBER_FIELD(items) + END_CLASS_MEMBER(::demo::RefreshBindableListViewTabPage) + + BEGIN_CLASS_MEMBER(::demo::RefreshBindableListViewTabPageConstructor) + CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) + CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::RefreshBindableListViewTabPageConstructor>(), NO_PARAMETER) + CLASS_MEMBER_METHOD(__vwsn_demo_RefreshBindableListViewTabPage_Initialize, { L"__vwsn_this_" }) + CLASS_MEMBER_FIELD(__vwsn_precompile_0) + CLASS_MEMBER_FIELD(__vwsn_precompile_1) + CLASS_MEMBER_FIELD(__vwsn_precompile_10) + CLASS_MEMBER_FIELD(__vwsn_precompile_11) + CLASS_MEMBER_FIELD(__vwsn_precompile_12) + CLASS_MEMBER_FIELD(__vwsn_precompile_13) + CLASS_MEMBER_FIELD(__vwsn_precompile_14) + CLASS_MEMBER_FIELD(__vwsn_precompile_15) + CLASS_MEMBER_FIELD(__vwsn_precompile_16) + CLASS_MEMBER_FIELD(__vwsn_precompile_17) + CLASS_MEMBER_FIELD(__vwsn_precompile_18) + CLASS_MEMBER_FIELD(__vwsn_precompile_19) + CLASS_MEMBER_FIELD(__vwsn_precompile_2) + CLASS_MEMBER_FIELD(__vwsn_precompile_20) + CLASS_MEMBER_FIELD(__vwsn_precompile_21) + CLASS_MEMBER_FIELD(__vwsn_precompile_22) + CLASS_MEMBER_FIELD(__vwsn_precompile_23) + CLASS_MEMBER_FIELD(__vwsn_precompile_24) + CLASS_MEMBER_FIELD(__vwsn_precompile_25) + CLASS_MEMBER_FIELD(__vwsn_precompile_3) + CLASS_MEMBER_FIELD(__vwsn_precompile_4) + CLASS_MEMBER_FIELD(__vwsn_precompile_5) + CLASS_MEMBER_FIELD(__vwsn_precompile_6) + CLASS_MEMBER_FIELD(__vwsn_precompile_7) + CLASS_MEMBER_FIELD(__vwsn_precompile_8) + CLASS_MEMBER_FIELD(__vwsn_precompile_9) + CLASS_MEMBER_FIELD(comboView) + CLASS_MEMBER_FIELD(listView) + CLASS_MEMBER_FIELD(self) + END_CLASS_MEMBER(::demo::RefreshBindableListViewTabPageConstructor) + + BEGIN_CLASS_MEMBER(::demo::RefreshBindableTextListTabPage) + CLASS_MEMBER_BASE(::vl::presentation::controls::GuiTabPage) + CLASS_MEMBER_BASE(::demo::RefreshBindableTextListTabPageConstructor) + CLASS_MEMBER_CONSTRUCTOR(::demo::RefreshBindableTextListTabPage*(), NO_PARAMETER) + CLASS_MEMBER_FIELD(items) + END_CLASS_MEMBER(::demo::RefreshBindableTextListTabPage) + + BEGIN_CLASS_MEMBER(::demo::RefreshBindableTextListTabPageConstructor) + CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) + CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::RefreshBindableTextListTabPageConstructor>(), NO_PARAMETER) + CLASS_MEMBER_METHOD(__vwsn_demo_RefreshBindableTextListTabPage_Initialize, { L"__vwsn_this_" }) + CLASS_MEMBER_FIELD(__vwsn_precompile_0) + CLASS_MEMBER_FIELD(__vwsn_precompile_1) + CLASS_MEMBER_FIELD(__vwsn_precompile_10) + CLASS_MEMBER_FIELD(__vwsn_precompile_11) + CLASS_MEMBER_FIELD(__vwsn_precompile_2) + CLASS_MEMBER_FIELD(__vwsn_precompile_3) + CLASS_MEMBER_FIELD(__vwsn_precompile_4) + CLASS_MEMBER_FIELD(__vwsn_precompile_5) + CLASS_MEMBER_FIELD(__vwsn_precompile_6) + CLASS_MEMBER_FIELD(__vwsn_precompile_7) + CLASS_MEMBER_FIELD(__vwsn_precompile_8) + CLASS_MEMBER_FIELD(__vwsn_precompile_9) + CLASS_MEMBER_FIELD(buttonRead) + CLASS_MEMBER_FIELD(self) + CLASS_MEMBER_FIELD(textList) + END_CLASS_MEMBER(::demo::RefreshBindableTextListTabPageConstructor) + + BEGIN_CLASS_MEMBER(::demo::RefreshBindableTreeViewTabPage) + CLASS_MEMBER_BASE(::vl::presentation::controls::GuiTabPage) + CLASS_MEMBER_BASE(::demo::RefreshBindableTreeViewTabPageConstructor) + CLASS_MEMBER_CONSTRUCTOR(::demo::RefreshBindableTreeViewTabPage*(), NO_PARAMETER) + CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER) + CLASS_MEMBER_FIELD(rootItem) + END_CLASS_MEMBER(::demo::RefreshBindableTreeViewTabPage) + + BEGIN_CLASS_MEMBER(::demo::RefreshBindableTreeViewTabPageConstructor) + CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) + CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::RefreshBindableTreeViewTabPageConstructor>(), NO_PARAMETER) + CLASS_MEMBER_METHOD(__vwsn_demo_RefreshBindableTreeViewTabPage_Initialize, { L"__vwsn_this_" }) + CLASS_MEMBER_FIELD(__vwsn_precompile_0) + CLASS_MEMBER_FIELD(__vwsn_precompile_1) + CLASS_MEMBER_FIELD(__vwsn_precompile_10) + CLASS_MEMBER_FIELD(__vwsn_precompile_2) + CLASS_MEMBER_FIELD(__vwsn_precompile_3) + CLASS_MEMBER_FIELD(__vwsn_precompile_4) + CLASS_MEMBER_FIELD(__vwsn_precompile_5) + CLASS_MEMBER_FIELD(__vwsn_precompile_6) + CLASS_MEMBER_FIELD(__vwsn_precompile_7) + CLASS_MEMBER_FIELD(__vwsn_precompile_8) + CLASS_MEMBER_FIELD(__vwsn_precompile_9) + CLASS_MEMBER_FIELD(self) + CLASS_MEMBER_FIELD(treeView) + END_CLASS_MEMBER(::demo::RefreshBindableTreeViewTabPageConstructor) + + BEGIN_CLASS_MEMBER(::demo::RefreshItem) + CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) + CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::RefreshItem>(const ::vl::WString&, const ::vl::WString&), { L"name" _ L"title" }) + CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::RefreshItem>(const ::vl::WString&, const ::vl::WString&, const ::vl::collections::LazyList<::vl::Ptr<::demo::RefreshItem>>&), { L"name" _ L"title" _ L"children" }) + CLASS_MEMBER_METHOD(GetChildren, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetDoNotUse, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetLargeImage, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetName, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetSelected, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetSmallImage, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetSub1, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetSub2, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetSub3, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetTitle, NO_PARAMETER) + CLASS_MEMBER_METHOD(SetChildren, { L"__vwsn_value_" }) + CLASS_MEMBER_METHOD(SetDoNotUse, { L"__vwsn_value_" }) + CLASS_MEMBER_METHOD(SetLargeImage, { L"__vwsn_value_" }) + CLASS_MEMBER_METHOD(SetName, { L"__vwsn_value_" }) + CLASS_MEMBER_METHOD(SetSelected, { L"__vwsn_value_" }) + CLASS_MEMBER_METHOD(SetSmallImage, { L"__vwsn_value_" }) + CLASS_MEMBER_METHOD(SetSub1, { L"__vwsn_value_" }) + CLASS_MEMBER_METHOD(SetSub2, { L"__vwsn_value_" }) + CLASS_MEMBER_METHOD(SetSub3, { L"__vwsn_value_" }) + CLASS_MEMBER_METHOD(SetTitle, { L"__vwsn_value_" }) + CLASS_MEMBER_FIELD(__vwsn_prop_Children) + CLASS_MEMBER_FIELD(__vwsn_prop_DoNotUse) + CLASS_MEMBER_FIELD(__vwsn_prop_LargeImage) + CLASS_MEMBER_FIELD(__vwsn_prop_Name) + CLASS_MEMBER_FIELD(__vwsn_prop_Selected) + CLASS_MEMBER_FIELD(__vwsn_prop_SmallImage) + CLASS_MEMBER_FIELD(__vwsn_prop_Sub1) + CLASS_MEMBER_FIELD(__vwsn_prop_Sub2) + CLASS_MEMBER_FIELD(__vwsn_prop_Sub3) + CLASS_MEMBER_FIELD(__vwsn_prop_Title) + CLASS_MEMBER_PROPERTY_READONLY(Children, GetChildren) + CLASS_MEMBER_PROPERTY(DoNotUse, GetDoNotUse, SetDoNotUse) + CLASS_MEMBER_PROPERTY(LargeImage, GetLargeImage, SetLargeImage) + CLASS_MEMBER_PROPERTY(Name, GetName, SetName) + CLASS_MEMBER_PROPERTY(Selected, GetSelected, SetSelected) + CLASS_MEMBER_PROPERTY(SmallImage, GetSmallImage, SetSmallImage) + CLASS_MEMBER_PROPERTY(Sub1, GetSub1, SetSub1) + CLASS_MEMBER_PROPERTY(Sub2, GetSub2, SetSub2) + CLASS_MEMBER_PROPERTY(Sub3, GetSub3, SetSub3) + CLASS_MEMBER_PROPERTY(Title, GetTitle, SetTitle) + END_CLASS_MEMBER(::demo::RefreshItem) + + BEGIN_CLASS_MEMBER(::demo::RefreshListViewTabPage) + CLASS_MEMBER_BASE(::vl::presentation::controls::GuiTabPage) + CLASS_MEMBER_BASE(::demo::RefreshListViewTabPageConstructor) + CLASS_MEMBER_CONSTRUCTOR(::demo::RefreshListViewTabPage*(), NO_PARAMETER) + END_CLASS_MEMBER(::demo::RefreshListViewTabPage) + + BEGIN_CLASS_MEMBER(::demo::RefreshListViewTabPageConstructor) + CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) + CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::RefreshListViewTabPageConstructor>(), NO_PARAMETER) + CLASS_MEMBER_METHOD(__vwsn_demo_RefreshListViewTabPage_Initialize, { L"__vwsn_this_" }) + CLASS_MEMBER_FIELD(__vwsn_precompile_0) + CLASS_MEMBER_FIELD(__vwsn_precompile_1) + CLASS_MEMBER_FIELD(__vwsn_precompile_10) + CLASS_MEMBER_FIELD(__vwsn_precompile_11) + CLASS_MEMBER_FIELD(__vwsn_precompile_12) + CLASS_MEMBER_FIELD(__vwsn_precompile_13) + CLASS_MEMBER_FIELD(__vwsn_precompile_14) + CLASS_MEMBER_FIELD(__vwsn_precompile_15) + CLASS_MEMBER_FIELD(__vwsn_precompile_16) + CLASS_MEMBER_FIELD(__vwsn_precompile_17) + CLASS_MEMBER_FIELD(__vwsn_precompile_18) + CLASS_MEMBER_FIELD(__vwsn_precompile_19) + CLASS_MEMBER_FIELD(__vwsn_precompile_2) + CLASS_MEMBER_FIELD(__vwsn_precompile_20) + CLASS_MEMBER_FIELD(__vwsn_precompile_21) + CLASS_MEMBER_FIELD(__vwsn_precompile_22) + CLASS_MEMBER_FIELD(__vwsn_precompile_23) + CLASS_MEMBER_FIELD(__vwsn_precompile_24) + CLASS_MEMBER_FIELD(__vwsn_precompile_25) + CLASS_MEMBER_FIELD(__vwsn_precompile_26) + CLASS_MEMBER_FIELD(__vwsn_precompile_27) + CLASS_MEMBER_FIELD(__vwsn_precompile_3) + CLASS_MEMBER_FIELD(__vwsn_precompile_4) + CLASS_MEMBER_FIELD(__vwsn_precompile_5) + CLASS_MEMBER_FIELD(__vwsn_precompile_6) + CLASS_MEMBER_FIELD(__vwsn_precompile_7) + CLASS_MEMBER_FIELD(__vwsn_precompile_8) + CLASS_MEMBER_FIELD(__vwsn_precompile_9) + CLASS_MEMBER_FIELD(comboView) + CLASS_MEMBER_FIELD(listView) + CLASS_MEMBER_FIELD(self) + END_CLASS_MEMBER(::demo::RefreshListViewTabPageConstructor) + + BEGIN_CLASS_MEMBER(::demo::RefreshTextListTabPage) + CLASS_MEMBER_BASE(::vl::presentation::controls::GuiTabPage) + CLASS_MEMBER_BASE(::demo::RefreshTextListTabPageConstructor) + CLASS_MEMBER_CONSTRUCTOR(::demo::RefreshTextListTabPage*(), NO_PARAMETER) + END_CLASS_MEMBER(::demo::RefreshTextListTabPage) + + BEGIN_CLASS_MEMBER(::demo::RefreshTextListTabPageConstructor) + CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) + CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::RefreshTextListTabPageConstructor>(), NO_PARAMETER) + CLASS_MEMBER_METHOD(__vwsn_demo_RefreshTextListTabPage_Initialize, { L"__vwsn_this_" }) + CLASS_MEMBER_FIELD(__vwsn_precompile_0) + CLASS_MEMBER_FIELD(__vwsn_precompile_1) + CLASS_MEMBER_FIELD(__vwsn_precompile_10) + CLASS_MEMBER_FIELD(__vwsn_precompile_11) + CLASS_MEMBER_FIELD(__vwsn_precompile_12) + CLASS_MEMBER_FIELD(__vwsn_precompile_13) + CLASS_MEMBER_FIELD(__vwsn_precompile_2) + CLASS_MEMBER_FIELD(__vwsn_precompile_3) + CLASS_MEMBER_FIELD(__vwsn_precompile_4) + CLASS_MEMBER_FIELD(__vwsn_precompile_5) + CLASS_MEMBER_FIELD(__vwsn_precompile_6) + CLASS_MEMBER_FIELD(__vwsn_precompile_7) + CLASS_MEMBER_FIELD(__vwsn_precompile_8) + CLASS_MEMBER_FIELD(__vwsn_precompile_9) + CLASS_MEMBER_FIELD(buttonRead) + CLASS_MEMBER_FIELD(self) + CLASS_MEMBER_FIELD(textList) + END_CLASS_MEMBER(::demo::RefreshTextListTabPageConstructor) + + BEGIN_CLASS_MEMBER(::demo::RefreshTreeViewTabPage) + CLASS_MEMBER_BASE(::vl::presentation::controls::GuiTabPage) + CLASS_MEMBER_BASE(::demo::RefreshTreeViewTabPageConstructor) + CLASS_MEMBER_CONSTRUCTOR(::demo::RefreshTreeViewTabPage*(), NO_PARAMETER) + END_CLASS_MEMBER(::demo::RefreshTreeViewTabPage) + + BEGIN_CLASS_MEMBER(::demo::RefreshTreeViewTabPageConstructor) + CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) + CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::RefreshTreeViewTabPageConstructor>(), NO_PARAMETER) + CLASS_MEMBER_METHOD(__vwsn_demo_RefreshTreeViewTabPage_Initialize, { L"__vwsn_this_" }) + CLASS_MEMBER_FIELD(__vwsn_precompile_0) + CLASS_MEMBER_FIELD(__vwsn_precompile_1) + CLASS_MEMBER_FIELD(__vwsn_precompile_10) + CLASS_MEMBER_FIELD(__vwsn_precompile_11) + CLASS_MEMBER_FIELD(__vwsn_precompile_12) + CLASS_MEMBER_FIELD(__vwsn_precompile_13) + CLASS_MEMBER_FIELD(__vwsn_precompile_14) + CLASS_MEMBER_FIELD(__vwsn_precompile_15) + CLASS_MEMBER_FIELD(__vwsn_precompile_16) + CLASS_MEMBER_FIELD(__vwsn_precompile_2) + CLASS_MEMBER_FIELD(__vwsn_precompile_3) + CLASS_MEMBER_FIELD(__vwsn_precompile_4) + CLASS_MEMBER_FIELD(__vwsn_precompile_5) + CLASS_MEMBER_FIELD(__vwsn_precompile_6) + CLASS_MEMBER_FIELD(__vwsn_precompile_7) + CLASS_MEMBER_FIELD(__vwsn_precompile_8) + CLASS_MEMBER_FIELD(__vwsn_precompile_9) + CLASS_MEMBER_FIELD(self) + CLASS_MEMBER_FIELD(treeView) + END_CLASS_MEMBER(::demo::RefreshTreeViewTabPageConstructor) + BEGIN_CLASS_MEMBER(::demo::RepeatItemTemplate) CLASS_MEMBER_BASE(::vl::presentation::templates::GuiControlTemplate) CLASS_MEMBER_BASE(::demo::RepeatItemTemplateConstructor) @@ -1848,6 +2166,28 @@ namespace vl CLASS_MEMBER_FIELD(self) END_CLASS_MEMBER(::demo::SubWindowConstructor) + BEGIN_CLASS_MEMBER(::demo::TestWindow) + CLASS_MEMBER_BASE(::vl::presentation::controls::GuiWindow) + CLASS_MEMBER_BASE(::demo::TestWindowConstructor) + CLASS_MEMBER_CONSTRUCTOR(::demo::TestWindow*(), NO_PARAMETER) + END_CLASS_MEMBER(::demo::TestWindow) + + BEGIN_CLASS_MEMBER(::demo::TestWindowConstructor) + CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) + CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::TestWindowConstructor>(), NO_PARAMETER) + CLASS_MEMBER_METHOD(__vwsn_demo_TestWindow_Initialize, { L"__vwsn_this_" }) + CLASS_MEMBER_FIELD(__vwsn_precompile_0) + CLASS_MEMBER_FIELD(__vwsn_precompile_1) + CLASS_MEMBER_FIELD(__vwsn_precompile_2) + CLASS_MEMBER_FIELD(__vwsn_precompile_3) + CLASS_MEMBER_FIELD(__vwsn_precompile_4) + CLASS_MEMBER_FIELD(__vwsn_precompile_5) + CLASS_MEMBER_FIELD(__vwsn_precompile_6) + CLASS_MEMBER_FIELD(__vwsn_precompile_7) + CLASS_MEMBER_FIELD(__vwsn_precompile_8) + CLASS_MEMBER_FIELD(self) + END_CLASS_MEMBER(::demo::TestWindowConstructor) + BEGIN_CLASS_MEMBER(::demo::TextBoxSubTabPage) CLASS_MEMBER_BASE(::vl::presentation::controls::GuiTabPage) CLASS_MEMBER_BASE(::demo::TextBoxSubTabPageConstructor) @@ -2122,6 +2462,21 @@ namespace vl ADD_TYPE_INFO(::demo::MyDataItem) ADD_TYPE_INFO(::demo::MyGender) ADD_TYPE_INFO(::demo::MyTextItem) + ADD_TYPE_INFO(::demo::RefreshBindableDataGridTabPage) + ADD_TYPE_INFO(::demo::RefreshBindableDataGridTabPageConstructor) + ADD_TYPE_INFO(::demo::RefreshBindableListViewTabPage) + ADD_TYPE_INFO(::demo::RefreshBindableListViewTabPageConstructor) + ADD_TYPE_INFO(::demo::RefreshBindableTextListTabPage) + ADD_TYPE_INFO(::demo::RefreshBindableTextListTabPageConstructor) + ADD_TYPE_INFO(::demo::RefreshBindableTreeViewTabPage) + ADD_TYPE_INFO(::demo::RefreshBindableTreeViewTabPageConstructor) + ADD_TYPE_INFO(::demo::RefreshItem) + ADD_TYPE_INFO(::demo::RefreshListViewTabPage) + ADD_TYPE_INFO(::demo::RefreshListViewTabPageConstructor) + ADD_TYPE_INFO(::demo::RefreshTextListTabPage) + ADD_TYPE_INFO(::demo::RefreshTextListTabPageConstructor) + ADD_TYPE_INFO(::demo::RefreshTreeViewTabPage) + ADD_TYPE_INFO(::demo::RefreshTreeViewTabPageConstructor) ADD_TYPE_INFO(::demo::RepeatItemTemplate) ADD_TYPE_INFO(::demo::RepeatItemTemplateConstructor) ADD_TYPE_INFO(::demo::RepeatTabPage) @@ -2145,6 +2500,8 @@ namespace vl ADD_TYPE_INFO(::demo::StyleItemTemplateConstructor) ADD_TYPE_INFO(::demo::SubWindow) ADD_TYPE_INFO(::demo::SubWindowConstructor) + ADD_TYPE_INFO(::demo::TestWindow) + ADD_TYPE_INFO(::demo::TestWindowConstructor) ADD_TYPE_INFO(::demo::TextBoxSubTabPage) ADD_TYPE_INFO(::demo::TextBoxSubTabPageConstructor) ADD_TYPE_INFO(::demo::TextBoxTabPage) diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.h b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.h index 43ee55c5..5523fd3d 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.h +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.h @@ -101,6 +101,21 @@ namespace vl DECL_TYPE_INFO(::demo::MyDataItem) DECL_TYPE_INFO(::demo::MyGender) DECL_TYPE_INFO(::demo::MyTextItem) + DECL_TYPE_INFO(::demo::RefreshBindableDataGridTabPage) + DECL_TYPE_INFO(::demo::RefreshBindableDataGridTabPageConstructor) + DECL_TYPE_INFO(::demo::RefreshBindableListViewTabPage) + DECL_TYPE_INFO(::demo::RefreshBindableListViewTabPageConstructor) + DECL_TYPE_INFO(::demo::RefreshBindableTextListTabPage) + DECL_TYPE_INFO(::demo::RefreshBindableTextListTabPageConstructor) + DECL_TYPE_INFO(::demo::RefreshBindableTreeViewTabPage) + DECL_TYPE_INFO(::demo::RefreshBindableTreeViewTabPageConstructor) + DECL_TYPE_INFO(::demo::RefreshItem) + DECL_TYPE_INFO(::demo::RefreshListViewTabPage) + DECL_TYPE_INFO(::demo::RefreshListViewTabPageConstructor) + DECL_TYPE_INFO(::demo::RefreshTextListTabPage) + DECL_TYPE_INFO(::demo::RefreshTextListTabPageConstructor) + DECL_TYPE_INFO(::demo::RefreshTreeViewTabPage) + DECL_TYPE_INFO(::demo::RefreshTreeViewTabPageConstructor) DECL_TYPE_INFO(::demo::RepeatItemTemplate) DECL_TYPE_INFO(::demo::RepeatItemTemplateConstructor) DECL_TYPE_INFO(::demo::RepeatTabPage) @@ -124,6 +139,8 @@ namespace vl DECL_TYPE_INFO(::demo::StyleItemTemplateConstructor) DECL_TYPE_INFO(::demo::SubWindow) DECL_TYPE_INFO(::demo::SubWindowConstructor) + DECL_TYPE_INFO(::demo::TestWindow) + DECL_TYPE_INFO(::demo::TestWindowConstructor) DECL_TYPE_INFO(::demo::TextBoxSubTabPage) DECL_TYPE_INFO(::demo::TextBoxSubTabPageConstructor) DECL_TYPE_INFO(::demo::TextBoxTabPage) diff --git a/Tutorial/GacUI_ControlTemplate/UIRes/BlackSkin.bin b/Tutorial/GacUI_ControlTemplate/UIRes/BlackSkin.bin index 57e78ccb..f19022c0 100644 Binary files a/Tutorial/GacUI_ControlTemplate/UIRes/BlackSkin.bin and b/Tutorial/GacUI_ControlTemplate/UIRes/BlackSkin.bin differ diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 index 6002dddd..9a9b30b2 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 and b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 differ diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 index 8683bd41..986367c5 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 and b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 differ