diff --git a/Import/GacUI.UnitTest.UI.cpp b/Import/GacUI.UnitTest.UI.cpp index 676337eb..1dc3c50a 100644 --- a/Import/GacUI.UnitTest.UI.cpp +++ b/Import/GacUI.UnitTest.UI.cpp @@ -16,6 +16,7 @@ namespace gaclib_controls using namespace vl; using namespace vl::collections; using namespace vl::filesystem; + using namespace vl::glr::json; using namespace vl::presentation; using namespace vl::presentation::elements; using namespace vl::presentation::compositions; @@ -23,10 +24,20 @@ namespace gaclib_controls using namespace vl::presentation::unittest; using namespace gaclib_controls; -/*********************************************************************** -Helper Functions -***********************************************************************/ - + class DomProp : public Object + { + public: + static const WString PropertyName; + + Ptr dom; + }; + + const WString DomProp::PropertyName = WString::Unmanaged(L"DomID"); + + /*********************************************************************** + Helper Functions + ***********************************************************************/ + Alignment GetAlignment(remoteprotocol::ElementHorizontalAlignment alignment) { switch (alignment) @@ -56,7 +67,10 @@ Helper Functions Ptr dom, vint& cursorCounter) { + auto domProp = Ptr(new DomProp); + domProp->dom = dom; auto bounds = new GuiBoundsComposition; + bounds->SetInternalProperty(DomProp::PropertyName, domProp); container->AddChild(bounds); bounds->SetExpectedBounds(Rect({ dom->content.bounds.x1 - x,dom->content.bounds.y1 - y }, { dom->content.bounds.Width(),dom->content.bounds.Height() })); @@ -110,135 +124,135 @@ Helper Functions switch (trace.createdElements->Get(dom->content.element.Value())) { case remoteprotocol::RendererType::FocusRectangle: - { - auto element = Ptr(GuiFocusRectangleElement::Create()); - bounds->SetOwnedElement(element); - } - break; + { + auto element = Ptr(GuiFocusRectangleElement::Create()); + bounds->SetOwnedElement(element); + } + break; case remoteprotocol::RendererType::Raw: // Do Nothing break; case remoteprotocol::RendererType::SolidBorder: - { - auto element = Ptr(GuiSolidBorderElement::Create()); - bounds->SetOwnedElement(element); - auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); + { + auto element = Ptr(GuiSolidBorderElement::Create()); + bounds->SetOwnedElement(element); + auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); - element->SetColor(desc.borderColor); - element->SetShape(desc.shape); - } - break; + element->SetColor(desc.borderColor); + element->SetShape(desc.shape); + } + break; case remoteprotocol::RendererType::SinkBorder: - { - auto element = Ptr(Gui3DBorderElement::Create()); - bounds->SetOwnedElement(element); - auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); + { + auto element = Ptr(Gui3DBorderElement::Create()); + bounds->SetOwnedElement(element); + auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); - element->SetColors(desc.leftTopColor, desc.rightBottomColor); - } - break; + element->SetColors(desc.leftTopColor, desc.rightBottomColor); + } + break; case remoteprotocol::RendererType::SinkSplitter: - { - auto element = Ptr(Gui3DSplitterElement::Create()); - bounds->SetOwnedElement(element); - auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); + { + auto element = Ptr(Gui3DSplitterElement::Create()); + bounds->SetOwnedElement(element); + auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); - element->SetColors(desc.leftTopColor, desc.rightBottomColor); - element->SetDirection(desc.direction); - } - break; + element->SetColors(desc.leftTopColor, desc.rightBottomColor); + element->SetDirection(desc.direction); + } + break; case remoteprotocol::RendererType::SolidBackground: - { - auto element = Ptr(GuiSolidBackgroundElement::Create()); - bounds->SetOwnedElement(element); - auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); + { + auto element = Ptr(GuiSolidBackgroundElement::Create()); + bounds->SetOwnedElement(element); + auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); - element->SetColor(desc.backgroundColor); - element->SetShape(desc.shape); - } - break; + element->SetColor(desc.backgroundColor); + element->SetShape(desc.shape); + } + break; case remoteprotocol::RendererType::GradientBackground: - { - auto element = Ptr(GuiGradientBackgroundElement::Create()); - bounds->SetOwnedElement(element); - auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); + { + auto element = Ptr(GuiGradientBackgroundElement::Create()); + bounds->SetOwnedElement(element); + auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); - element->SetColors(desc.leftTopColor, desc.rightBottomColor); - element->SetDirection(desc.direction); - element->SetShape(desc.shape); - } - break; + element->SetColors(desc.leftTopColor, desc.rightBottomColor); + element->SetDirection(desc.direction); + element->SetShape(desc.shape); + } + break; case remoteprotocol::RendererType::InnerShadow: - { - auto element = Ptr(GuiInnerShadowElement::Create()); - bounds->SetOwnedElement(element); - auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); + { + auto element = Ptr(GuiInnerShadowElement::Create()); + bounds->SetOwnedElement(element); + auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); - element->SetColor(desc.shadowColor); - element->SetThickness(desc.thickness); - } - break; + element->SetColor(desc.shadowColor); + element->SetThickness(desc.thickness); + } + break; case remoteprotocol::RendererType::SolidLabel: - { - auto element = Ptr(GuiSolidLabelElement::Create()); - bounds->SetOwnedElement(element); - auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); + { + auto element = Ptr(GuiSolidLabelElement::Create()); + bounds->SetOwnedElement(element); + auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); - element->SetColor(desc.textColor); - element->SetAlignments(GetAlignment(desc.horizontalAlignment), GetAlignment(desc.verticalAlignment)); - element->SetWrapLine(desc.wrapLine); - element->SetWrapLineHeightCalculation(desc.wrapLineHeightCalculation); - element->SetEllipse(desc.ellipse); - element->SetMultiline(desc.multiline); - element->SetFont(desc.font.Value()); - element->SetText(desc.text.Value()); - } - break; + element->SetColor(desc.textColor); + element->SetAlignments(GetAlignment(desc.horizontalAlignment), GetAlignment(desc.verticalAlignment)); + element->SetWrapLine(desc.wrapLine); + element->SetWrapLineHeightCalculation(desc.wrapLineHeightCalculation); + element->SetEllipse(desc.ellipse); + element->SetMultiline(desc.multiline); + element->SetFont(desc.font.Value()); + element->SetText(desc.text.Value()); + } + break; case remoteprotocol::RendererType::Polygon: + { + auto element = Ptr(GuiPolygonElement::Create()); + bounds->SetOwnedElement(element); + auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); + + element->SetSize(desc.size); + element->SetBorderColor(desc.borderColor); + element->SetBackgroundColor(desc.backgroundColor); + + if (desc.points && desc.points->Count() > 0) { - auto element = Ptr(GuiPolygonElement::Create()); - bounds->SetOwnedElement(element); - auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); - - element->SetSize(desc.size); - element->SetBorderColor(desc.borderColor); - element->SetBackgroundColor(desc.backgroundColor); - - if (desc.points && desc.points->Count() > 0) - { - element->SetPoints(&desc.points->Get(0), desc.points->Count()); - } + element->SetPoints(&desc.points->Get(0), desc.points->Count()); } - break; + } + break; case remoteprotocol::RendererType::ImageFrame: + { + auto element = Ptr(GuiImageFrameElement::Create()); + bounds->SetOwnedElement(element); + auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); + + element->SetAlignments(GetAlignment(desc.horizontalAlignment), GetAlignment(desc.verticalAlignment)); + element->SetStretch(desc.stretch); + element->SetEnabled(desc.enabled); + + if (desc.imageId) { - auto element = Ptr(GuiImageFrameElement::Create()); - bounds->SetOwnedElement(element); - auto& desc = frame.elements->Get(dom->content.element.Value()).Get(); - - element->SetAlignments(GetAlignment(desc.horizontalAlignment), GetAlignment(desc.verticalAlignment)); - element->SetStretch(desc.stretch); - element->SetEnabled(desc.enabled); - - if (desc.imageId) + vint index = trace.imageCreations->Keys().IndexOf(desc.imageId.Value()); + if (index != -1) { - vint index = trace.imageCreations->Keys().IndexOf(desc.imageId.Value()); - if (index != -1) - { - auto binary = trace.imageCreations->Values()[index].imageData; - binary->SeekFromBegin(0); - element->SetImage(GetCurrentController()->ImageService()->CreateImageFromStream(*binary.Obj()), desc.imageFrame); - } + auto binary = trace.imageCreations->Values()[index].imageData; + binary->SeekFromBegin(0); + element->SetImage(GetCurrentController()->ImageService()->CreateImageFromStream(*binary.Obj()), desc.imageFrame); } } - break; + } + break; default: CHECK_FAIL(L"This element is not supported yet."); break; } } - if(dom->children) + if (dom->children) { for (auto child : *dom->children.Obj()) { @@ -251,21 +265,19 @@ Helper Functions cursorCounter--; } } - + GuiBoundsComposition* BuildRootComposition(const remoteprotocol::UnitTest_RenderingTrace& trace, const remoteprotocol::UnitTest_RenderingFrame& frame) { vint w = frame.windowSize.clientBounds.Width().value; vint h = frame.windowSize.clientBounds.Height().value; auto focusComposition = new GuiBoundsComposition; { - focusComposition->SetExpectedBounds(Rect({ 5,5 }, { w + 2,h + 2 })); - auto element = Ptr(GuiFocusRectangleElement::Create()); - focusComposition->SetOwnedElement(element); + focusComposition->SetExpectedBounds(Rect({ 5,5 }, { w + 4,h + 4 })); } auto canvasComposition = new GuiBoundsComposition; { focusComposition->AddChild(canvasComposition); - canvasComposition->SetExpectedBounds(Rect({ 1,1 }, { w,h })); + canvasComposition->SetExpectedBounds(Rect({ 2,2 }, { w,h })); } if (frame.root && frame.root->children) @@ -279,9 +291,28 @@ Helper Functions return focusComposition; } -/*********************************************************************** -UnitTestSnapshotViewerAppWindow -***********************************************************************/ + /*********************************************************************** + UnitTestSnapshotViewerAppWindow + ***********************************************************************/ + + void UnitTestSnapshotViewerAppWindow::Highlight(GuiBoundsComposition*& target, remoteprotocol::RenderingDom& renderingDom, Color color) + { + if (!target) + { + target = new GuiBoundsComposition; + target->SetTransparentToMouse(true); + auto element = Ptr(GuiSolidBorderElement::Create()); + element->SetColor(color); + target->SetOwnedElement(element); + rootComposition->AddChild(target); + } + target->SetExpectedBounds(Rect( + renderingDom.content.bounds.x1 + 1, + renderingDom.content.bounds.y1 + 1, + renderingDom.content.bounds.x2 + 3, + renderingDom.content.bounds.y2 + 3 + )); + } void UnitTestSnapshotViewerAppWindow::textListFrames_SelectionChanged(GuiGraphicsComposition* sender, GuiEventArgs& arguments) { @@ -289,6 +320,8 @@ UnitTestSnapshotViewerAppWindow { SafeDeleteComposition(rootComposition); rootComposition = nullptr; + selectedComposition = nullptr; + highlightComposition = nullptr; } auto nodeObj = treeViewFileNodes->GetSelectedItem(); @@ -303,6 +336,121 @@ UnitTestSnapshotViewerAppWindow { rootComposition = BuildRootComposition(GetRenderingTrace(node), GetRenderingFrame(frame)); scRendering->GetContainerComposition()->AddChild(rootComposition); + + rootComposition->GetEventReceiver()->mouseEnter.AttachMethod(this, &UnitTestSnapshotViewerAppWindow::rootComposition_MouseEnter); + rootComposition->GetEventReceiver()->mouseLeave.AttachMethod(this, &UnitTestSnapshotViewerAppWindow::rootComopsition_MouseLeave); + rootComposition->GetEventReceiver()->mouseMove.AttachMethod(this, &UnitTestSnapshotViewerAppWindow::rootComposition_MouseMove); + rootComposition->GetEventReceiver()->leftButtonDown.AttachMethod(this, &UnitTestSnapshotViewerAppWindow::rootComposition_LeftButtonDown); + } + } + + void UnitTestSnapshotViewerAppWindow::treeViewDom_SelectionChanged(GuiGraphicsComposition* sender, GuiEventArgs& arguments) + { + if (rootComposition) + { + if (auto domNode = treeViewDom->GetSelectedItem().GetSharedPtr().Cast()) + { + remoteprotocol::RenderingDom renderingDom; + remoteprotocol::ConvertJsonToCustomType(JsonParse(domNode->GetDomAsJsonText(), jsonParser), renderingDom); + Highlight(selectedComposition, renderingDom, Color(255, 255, 0)); + } + else + { + if (selectedComposition) + { + SafeDeleteComposition(selectedComposition); + selectedComposition = nullptr; + } + } + } + } + + void UnitTestSnapshotViewerAppWindow::rootComposition_MouseEnter(GuiGraphicsComposition* sender, GuiEventArgs& arguments) + { + } + + void UnitTestSnapshotViewerAppWindow::rootComopsition_MouseLeave(GuiGraphicsComposition* sender, GuiEventArgs& arguments) + { + if (highlightComposition) + { + SafeDeleteComposition(highlightComposition); + highlightComposition = nullptr; + } + } + + void UnitTestSnapshotViewerAppWindow::rootComposition_MouseMove(GuiGraphicsComposition* sender, GuiMouseEventArgs& arguments) + { + if (!arguments.ctrl) return; + auto domSource = arguments.compositionSource; + while (domSource) + { + auto domProp = domSource->GetInternalProperty(DomProp::PropertyName).Cast(); + if (domProp) + { + Highlight(highlightComposition, *domProp->dom.Obj(), Color(255, 0, 0)); + return; + } + domSource = domSource->GetParent(); + } + } + + void UnitTestSnapshotViewerAppWindow::rootComposition_LeftButtonDown(vl::presentation::compositions::GuiGraphicsComposition* sender, vl::presentation::compositions::GuiMouseEventArgs& arguments) + { + if (!arguments.ctrl) return; + auto domSource = arguments.compositionSource; + while (domSource) + { + auto domProp = domSource->GetInternalProperty(DomProp::PropertyName).Cast(); + if (domProp) break; + domSource = domSource->GetParent(); + } + + List ids; + while (domSource) + { + auto domProp = domSource->GetInternalProperty(DomProp::PropertyName).Cast(); + if (domProp) + { + if (domProp->dom->id == -1) break; + ids.Add(domProp->dom->id); + } + domSource = domSource->GetParent(); + } + if (ids.Count() == 0)return; + + auto treeNode = treeViewDom->GetNodeRootProvider()->GetRootNode(); + for (auto id : From(ids).Reverse()) + { + treeNode->SetExpanding(true); + vint index = -1; + for (vint i = 0; i < treeNode->GetChildCount(); i++) + { + auto childNode = treeNode->GetChild(i); + if (auto domNode = treeViewDom->GetNodeRootProvider()->GetBindingValue(childNode.Obj()).GetSharedPtr().Cast()) + { + if (domNode->GetDomID() == id) + { + treeNode = childNode; + goto NEXT_NODE; + } + } + } + CHECK_FAIL(L"Target tree node not found."); + NEXT_NODE:; + } + + auto view = dynamic_cast(treeViewDom->GetItemProvider()->RequestView(tree::INodeItemView::Identifier)); + vint index = view->CalculateNodeVisibilityIndex(treeNode.Obj()); + treeViewDom->SetSelected(index, true); + treeViewDom->EnsureItemVisible(index); + } + + void UnitTestSnapshotViewerAppWindow::OnKeyUp(GuiGraphicsComposition* sender, GuiKeyEventArgs& arguments) + { + if (arguments.code == VKEY::KEY_CONTROL && highlightComposition) + { + SafeDeleteComposition(highlightComposition); + highlightComposition = nullptr; } } @@ -310,6 +458,10 @@ UnitTestSnapshotViewerAppWindow : UnitTestSnapshotViewerWindow(viewModel) { textListFrames->SelectionChanged.AttachMethod(this, &UnitTestSnapshotViewerAppWindow::textListFrames_SelectionChanged); + treeViewDom->SelectionChanged.AttachMethod(this, &UnitTestSnapshotViewerAppWindow::treeViewDom_SelectionChanged); + + SetFocusableComposition(GetBoundsComposition()); + GetFocusableComposition()->GetEventReceiver()->keyUp.AttachMethod(this, &UnitTestSnapshotViewerAppWindow::OnKeyUp); } } @@ -377,6 +529,96 @@ Closures //------------------------------------------------------------------- + __vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_30)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_30)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_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_); + } + + //------------------------------------------------------------------- + + __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_36)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_36)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->self)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetStrings(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings>>(__vwsn_value_); + if ((__vwsn_old_.Obj() == __vwsn_new_.Obj())) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->self)->SetStrings(__vwsn_new_); + } + + //------------------------------------------------------------------- + __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -416,12 +658,38 @@ Closures //------------------------------------------------------------------- + __vwsnf4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::Ptr<::vl::reflection::description::IValueEnumerable> __vwsnf4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode>>(__vwsn_item_); + return ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(item.Obj())->GetChildren()); + } + + //------------------------------------------------------------------- + __vwsnf5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::WString __vwsnf5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const + { + auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode>>(__vwsn_item_); + return ::vl::__vwsn::This(item.Obj())->GetName(); + } + + //------------------------------------------------------------------- + + __vwsnf7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->textListFrames)->GetItemSource(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::reflection::description::IValueEnumerable>>(__vwsn_value_); @@ -434,42 +702,6 @@ Closures //------------------------------------------------------------------- - __vwsnf6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_16)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_16)->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_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_); - } - - //------------------------------------------------------------------- - __vwsnf8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -477,13 +709,13 @@ Closures void __vwsnf8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->treeViewDom)->GetItemSource(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::reflection::description::Value>(__vwsn_value_); if ((__vwsn_old_ == __vwsn_new_)) { return; } - ::vl::__vwsn::This(__vwsnthis_0->self)->SetText(__vwsn_new_); + ::vl::__vwsn::This(__vwsnthis_0->treeViewDom)->SetItemSource(__vwsn_new_); } //------------------------------------------------------------------- @@ -495,23 +727,23 @@ Closures void __vwsnf9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetStrings(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings>>(__vwsn_value_); - if ((__vwsn_old_.Obj() == __vwsn_new_.Obj())) + 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->self)->SetStrings(__vwsn_new_); + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_27)->SetText(__vwsn_new_); } //------------------------------------------------------------------- - __vwsno4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsno4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + __vwsno6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsno6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - ::vl::Ptr<::vl::presentation::GuiImageData> __vwsno4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsno_1) const + ::vl::Ptr<::vl::presentation::GuiImageData> __vwsno6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsno_1) const { return ::vl::__vwsn::This(__vwsnthis_0->self)->GetImageFromType(::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFileNode>>(__vwsno_1).Obj())->GetNodeType()); } @@ -590,8 +822,8 @@ Closures void __vwsnc2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFrame>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()).Obj())->GetDomAsJsonText(); } catch(...){ return ::vl::WString::Unmanaged(L""); } }(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Box([&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFrame>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()).Obj())->GetDom(); } catch(...){ return ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode>(); } }()); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(__vwsn_bind_activator_result_); } void __vwsnc2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) @@ -643,7 +875,7 @@ Closures __vwsnc3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); + this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; @@ -651,7 +883,7 @@ Closures void __vwsnc3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFrame>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()).Obj())->GetElementsAsJsonText(); } catch(...){ return ::vl::WString::Unmanaged(L""); } }(); + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()).Obj())->GetDomAsJsonText(); } catch(...){ return ::vl::WString::Unmanaged(L""); } }(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -665,7 +897,7 @@ Closures if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->textListFrames; } catch(...){ return static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); } }()); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->treeViewDom; } catch(...){ return static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr); } }()); (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } @@ -692,7 +924,7 @@ Closures ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr)); + (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr)); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); return true; } @@ -701,11 +933,10 @@ Closures //------------------------------------------------------------------- - __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) - :__vwsn_this_(__vwsnctor___vwsn_this_) - , __vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { - this->__vwsn_bind_cache_0 = static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr); + this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; @@ -713,11 +944,11 @@ Closures void __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetStrings().Obj())->WindowTitle(); + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()).Obj())->GetElementAsJsonText(); } catch(...){ return ::vl::WString::Unmanaged(L""); } }(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + void __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } @@ -727,8 +958,8 @@ Closures if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsn_this_; } catch(...){ return static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StringsChanged, ::vl::Func(this, &__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->treeViewDom; } catch(...){ return static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -751,10 +982,10 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StringsChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } - (__vwsn_bind_cache_0 = static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr)); + (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr)); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); return true; } @@ -766,7 +997,7 @@ Closures __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiApplication*>(nullptr); + this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; @@ -774,11 +1005,11 @@ Closures void __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::gaclib_controls::UnitTestSnapshotViewerStrings::Get(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetLocale()); + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFrame>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()).Obj())->GetDomAsJsonText(); } catch(...){ return ::vl::WString::Unmanaged(L""); } }(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + void __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } @@ -788,8 +1019,8 @@ Closures if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return ::vl::presentation::controls::GetApplication(); } catch(...){ return static_cast<::vl::presentation::controls::GuiApplication*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->LocaleChanged, ::vl::Func(this, &__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->textListFrames; } catch(...){ return static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -806,6 +1037,190 @@ Closures } bool __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFrame>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()).Obj())->GetElementsAsJsonText(); } catch(...){ return ::vl::WString::Unmanaged(L""); } }(); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->textListFrames; } catch(...){ return static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsn_this_(__vwsnctor___vwsn_this_) + , __vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetStrings().Obj())->WindowTitle(); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsn_this_; } catch(...){ return static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StringsChanged, ::vl::Func(this, &__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StringsChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiApplication*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::gaclib_controls::UnitTestSnapshotViewerStrings::Get(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetLocale()); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return ::vl::presentation::controls::GetApplication(); } catch(...){ return static_cast<::vl::presentation::controls::GuiApplication*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->LocaleChanged, ::vl::Func(this, &__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -824,11 +1239,11 @@ Closures //------------------------------------------------------------------- - __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings() + __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::__vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings() { } - ::vl::WString __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::WindowTitle() + ::vl::WString __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::WindowTitle() { return ::vl::WString::Unmanaged(L"Unit Test Snapshot Viewer"); } @@ -836,11 +1251,15 @@ Closures } /*********************************************************************** -Class (::gaclib_controls::IUnitTestSnapshotFileNode) +Class (::gaclib_controls::IUnitTestSnapshotDomNode) ***********************************************************************/ namespace gaclib_controls { +/*********************************************************************** +Class (::gaclib_controls::IUnitTestSnapshotFileNode) +***********************************************************************/ + /*********************************************************************** Class (::gaclib_controls::IUnitTestSnapshotFrame) ***********************************************************************/ @@ -859,7 +1278,7 @@ Class (::gaclib_controls::UnitTestSnapshotViewerStrings) ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings> UnitTestSnapshotViewerStrings::__vwsn_ls_en_US_BuildStrings(::vl::Locale __vwsn_ls_locale) { - return ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings>(new ::vl_workflow_global::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings()); + return ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings>(new ::vl_workflow_global::__vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings()); } void UnitTestSnapshotViewerStrings::Install(::vl::Locale __vwsn_ls_locale, ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings> __vwsn_ls_impl) @@ -895,6 +1314,10 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) { ::vl::__vwsn::This(this->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(1920); __vwsn_temp__.y = static_cast<::vl::vint>(1080); return __vwsn_temp__; }()); } + (this->__vwsn_precompile_38 = ::vl::__vwsn::This(this->self)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_38)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(800); __vwsn_temp__.y = static_cast<::vl::vint>(600); return __vwsn_temp__; }()); + } (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); { ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(static_cast<::vl::vint>(5)); @@ -906,12 +1329,13 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); } { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(1), static_cast<::vl::vint>(4)); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(1), 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::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::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(200); 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::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(100); 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::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(200); 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__; }()); + ::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::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(100); 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::GuiColumnSplitterComposition()); { @@ -922,7 +1346,7 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) } (this->__vwsn_precompile_2 = new ::vl::presentation::compositions::GuiColumnSplitterComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetColumnsToTheLeft(static_cast<::vl::vint>(3)); + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetColumnsToTheLeft(static_cast<::vl::vint>(4)); } { ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_2)); @@ -959,7 +1383,7 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) } (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)); + ::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>(2)); } { (this->__vwsn_precompile_6 = new ::vl::presentation::controls::GuiTab(::vl::presentation::theme::ThemeName::Tab)); @@ -1006,7 +1430,7 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) } (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>(3), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(4), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); } { (this->__vwsn_precompile_11 = new ::vl::presentation::controls::GuiTab(::vl::presentation::theme::ThemeName::Tab)); @@ -1017,6 +1441,34 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) { ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetText(::vl::WString::Unmanaged(L"Rendering")); } + (this->__vwsn_precompile_14 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetCellPadding(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->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_14)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetRowsAndColumns(static_cast<::vl::vint>(1), static_cast<::vl::vint>(3)); + ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::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_14)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::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_14)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(200); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(200); return __vwsn_temp__; }()); + } + (this->__vwsn_precompile_15 = new ::vl::presentation::compositions::GuiColumnSplitterComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetColumnsToTheLeft(static_cast<::vl::vint>(1)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_15)); + } + (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>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } { (this->scRendering = new ::vl::presentation::controls::GuiScrollContainer(::vl::presentation::theme::ThemeName::ScrollView)); ::vl::__vwsn::This(__vwsn_this_)->SetNamedObject(::vl::WString::Unmanaged(L"scRendering"), ::vl::__vwsn::Box(this->scRendering)); @@ -1027,68 +1479,222 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) { ::vl::__vwsn::This(this->scRendering)->SetVerticalAlwaysVisible(false); } - (this->__vwsn_precompile_14 = ::vl::__vwsn::This(this->scRendering)->GetBoundsComposition()); + (this->__vwsn_precompile_17 = ::vl::__vwsn::This(this->scRendering)->GetBoundsComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->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_17)->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_13)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->scRendering)); + ::vl::__vwsn::This(this->__vwsn_precompile_16)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->scRendering)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->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>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(2)); + } + (this->__vwsn_precompile_19 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetCellPadding(static_cast<::vl::vint>(5)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetBorderVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_19)->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)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetRowsAndColumns(static_cast<::vl::vint>(3), static_cast<::vl::vint>(1)); + ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::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_19)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(200); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetRowOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(200); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::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_20 = new ::vl::presentation::compositions::GuiRowSplitterComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_20)->SetRowsToTheTop(static_cast<::vl::vint>(1)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_19)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_20)); + } + (this->__vwsn_precompile_21 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + } + { + (this->treeViewDom = new ::vl::presentation::controls::GuiBindableTreeView(::vl::presentation::theme::ThemeName::TreeView)); + ::vl::__vwsn::This(__vwsn_this_)->SetNamedObject(::vl::WString::Unmanaged(L"treeViewDom"), ::vl::__vwsn::Box(this->treeViewDom)); + } + { + ::vl::__vwsn::This(this->treeViewDom)->SetChildrenProperty(vl::Func(::vl_workflow_global::__vwsnf4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this))); + } + { + ::vl::__vwsn::This(this->treeViewDom)->SetHorizontalAlwaysVisible(false); + } + { + ::vl::__vwsn::This(this->treeViewDom)->SetVerticalAlwaysVisible(false); + } + { + ::vl::__vwsn::This(this->treeViewDom)->SetTextProperty(vl::Func(::vl_workflow_global::__vwsnf5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this))); + } + (this->__vwsn_precompile_22 = ::vl::__vwsn::This(this->treeViewDom)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_22)->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_21)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->treeViewDom)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_19)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_21)); + } + (this->__vwsn_precompile_23 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_23)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1)); + } + { + (this->__vwsn_precompile_24 = new ::vl::presentation::controls::GuiTab(::vl::presentation::theme::ThemeName::Tab)); + } + { + (this->__vwsn_precompile_26 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_26)->SetText(::vl::WString::Unmanaged(L"DOM Node")); + } + { + (this->__vwsn_precompile_27 = new ::vl::presentation::controls::GuiMultilineTextBox(::vl::presentation::theme::ThemeName::MultilineTextBox)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_27)->SetHorizontalAlwaysVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_27)->SetVerticalAlwaysVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_27)->SetReadonly(true); + } + (this->__vwsn_precompile_28 = ::vl::__vwsn::This(this->__vwsn_precompile_27)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_28)->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_26)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_27)); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_24)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_26)); + } + { + (this->__vwsn_precompile_29 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_29)->SetText(::vl::WString::Unmanaged(L"Element")); + } + { + (this->__vwsn_precompile_30 = new ::vl::presentation::controls::GuiMultilineTextBox(::vl::presentation::theme::ThemeName::MultilineTextBox)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_30)->SetHorizontalAlwaysVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_30)->SetVerticalAlwaysVisible(false); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_30)->SetReadonly(true); + } + (this->__vwsn_precompile_31 = ::vl::__vwsn::This(this->__vwsn_precompile_30)->GetBoundsComposition()); + { + ::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__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_29)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_30)); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_24)->GetPages()); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_29)); + } + (this->__vwsn_precompile_25 = ::vl::__vwsn::This(this->__vwsn_precompile_24)->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__; }()); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_23)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_24)->GetBoundsComposition())); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_19)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_23)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_18)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_19)); + } + { + ::vl::__vwsn::This(this->__vwsn_precompile_14)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_18)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this->__vwsn_precompile_13)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_14)); } { auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetPages()); ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13)); } { - (this->__vwsn_precompile_15 = 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_15)->SetText(::vl::WString::Unmanaged(L"DOM")); + ::vl::__vwsn::This(this->__vwsn_precompile_32)->SetText(::vl::WString::Unmanaged(L"DOM")); } { - (this->__vwsn_precompile_16 = new ::vl::presentation::controls::GuiMultilineTextBox(::vl::presentation::theme::ThemeName::MultilineTextBox)); + (this->__vwsn_precompile_33 = new ::vl::presentation::controls::GuiMultilineTextBox(::vl::presentation::theme::ThemeName::MultilineTextBox)); } { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetHorizontalAlwaysVisible(false); + ::vl::__vwsn::This(this->__vwsn_precompile_33)->SetHorizontalAlwaysVisible(false); } { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetVerticalAlwaysVisible(false); - } - (this->__vwsn_precompile_17 = ::vl::__vwsn::This(this->__vwsn_precompile_16)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_17)->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_33)->SetVerticalAlwaysVisible(false); } { - ::vl::__vwsn::This(this->__vwsn_precompile_15)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_16)); + ::vl::__vwsn::This(this->__vwsn_precompile_33)->SetReadonly(true); + } + (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_11)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_15)); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_32)); } { - (this->__vwsn_precompile_18 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); + (this->__vwsn_precompile_35 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); } { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetText(::vl::WString::Unmanaged(L"Elements")); + ::vl::__vwsn::This(this->__vwsn_precompile_35)->SetText(::vl::WString::Unmanaged(L"Elements")); } { - (this->__vwsn_precompile_19 = new ::vl::presentation::controls::GuiMultilineTextBox(::vl::presentation::theme::ThemeName::MultilineTextBox)); + (this->__vwsn_precompile_36 = new ::vl::presentation::controls::GuiMultilineTextBox(::vl::presentation::theme::ThemeName::MultilineTextBox)); } { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetHorizontalAlwaysVisible(false); + ::vl::__vwsn::This(this->__vwsn_precompile_36)->SetHorizontalAlwaysVisible(false); } { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetVerticalAlwaysVisible(false); - } - (this->__vwsn_precompile_20 = ::vl::__vwsn::This(this->__vwsn_precompile_19)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_20)->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_36)->SetVerticalAlwaysVisible(false); } { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_19)); + ::vl::__vwsn::This(this->__vwsn_precompile_36)->SetReadonly(true); + } + (this->__vwsn_precompile_37 = ::vl::__vwsn::This(this->__vwsn_precompile_36)->GetBoundsComposition()); + { + ::vl::__vwsn::This(this->__vwsn_precompile_37)->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_35)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_36)); } { auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_18)); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_35)); } (this->__vwsn_precompile_12 = ::vl::__vwsn::This(this->__vwsn_precompile_11)->GetBoundsComposition()); { @@ -1107,33 +1713,48 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) ::vl::__vwsn::This(this->treeViewFileNodes)->SetItemSource(::vl::__vwsn::Box(::vl::__vwsn::This(this->ViewModel.Obj())->GetRootNode())); } { - ::vl::__vwsn::This(this->treeViewFileNodes)->SetImageProperty(vl::Func(::vl_workflow_global::__vwsno4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this))); + ::vl::__vwsn::This(this->treeViewFileNodes)->SetImageProperty(vl::Func(::vl_workflow_global::__vwsno6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this))); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_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::__vwsnc2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_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::__vwsnc3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_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::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(__vwsn_this_, this)); + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_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::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_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::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_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::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_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::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_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::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(__vwsn_this_, this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_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::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } } UnitTestSnapshotViewerWindowConstructor::UnitTestSnapshotViewerWindowConstructor() @@ -1153,16 +1774,35 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) , __vwsn_precompile_11(static_cast<::vl::presentation::controls::GuiTab*>(nullptr)) , __vwsn_precompile_12(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) , __vwsn_precompile_13(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) - , __vwsn_precompile_14(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_15(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) - , __vwsn_precompile_16(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr)) + , __vwsn_precompile_14(static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr)) + , __vwsn_precompile_15(static_cast<::vl::presentation::compositions::GuiColumnSplitterComposition*>(nullptr)) + , __vwsn_precompile_16(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) , __vwsn_precompile_17(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_18(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) - , __vwsn_precompile_19(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr)) - , __vwsn_precompile_20(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_18(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_19(static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr)) + , __vwsn_precompile_20(static_cast<::vl::presentation::compositions::GuiRowSplitterComposition*>(nullptr)) + , __vwsn_precompile_21(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_22(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_23(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) + , __vwsn_precompile_24(static_cast<::vl::presentation::controls::GuiTab*>(nullptr)) + , __vwsn_precompile_25(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_26(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) + , __vwsn_precompile_27(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(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::controls::GuiMultilineTextBox*>(nullptr)) + , __vwsn_precompile_31(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_32(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) + , __vwsn_precompile_33(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr)) + , __vwsn_precompile_34(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) , treeViewFileNodes(static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr)) , textListFrames(static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr)) , scRendering(static_cast<::vl::presentation::controls::GuiScrollContainer*>(nullptr)) + , treeViewDom(static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr)) + , __vwsn_precompile_35(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) + , __vwsn_precompile_36(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr)) + , __vwsn_precompile_37(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_38(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) { } @@ -1329,6 +1969,118 @@ namespace vl::presentation::unittest using namespace glr::json; using namespace vl::presentation::remoteprotocol; + JsonFormatting GetJsonFormatting() + { + JsonFormatting formatting; + formatting.spaceAfterColon = true; + formatting.spaceAfterComma = true; + formatting.crlf = true; + formatting.compact = true; + return formatting; + } + +/*********************************************************************** +UnitTestSnapshotDomNode +***********************************************************************/ + + class UnitTestSnapshotDomNode : public Object, public virtual IUnitTestSnapshotDomNode + { + protected: + UnitTest_RenderingTrace& trace; + UnitTest_RenderingFrame& frame; + Ptr renderingDom; + WString name; + WString dom; + WString element; + List> children; + + public: + UnitTestSnapshotDomNode(UnitTest_RenderingTrace& _trace, UnitTest_RenderingFrame& _frame, Ptr _renderingDom) + : trace(_trace) + , frame(_frame) + , renderingDom(_renderingDom) + { + if (renderingDom->children) + { + for (auto child : *renderingDom->children.Obj()) + { + children.Add(Ptr(new UnitTestSnapshotDomNode(trace, frame, child))); + } + } + } + + WString GetName() override + { + WString idString, typeString, hittestString, boundsString; + { + idString = L"[" + itow(renderingDom->id) + L"] "; + } + if (renderingDom->content.element && trace.createdElements) + { + vint index = trace.createdElements->Keys().IndexOf(renderingDom->content.element.Value()); + if (index != -1) + { + auto renderingType = trace.createdElements->Values()[index]; + auto typeName = ConvertCustomTypeToJson(renderingType).Cast()->content.value; + typeString = L" {" + typeName + L"}"; + } + } + if(renderingDom->content.hitTestResult) + { + auto hittest = renderingDom->content.hitTestResult.Value(); + auto hittestName = ConvertCustomTypeToJson(hittest).Cast()->content.value; + typeString = L" <" + hittestName + L">"; + } + { + auto bounds = renderingDom->content.bounds; + boundsString = L" (" + itow(bounds.x1) + L"," + itow(bounds.y1) + L") - (" + itow(bounds.Width()) + L"x" + itow(bounds.Height()) + L")"; + } + return idString + typeString + hittestString + boundsString; + } + + vint GetDomID() override + { + return renderingDom->id; + } + + WString GetDomAsJsonText() override + { + if (dom == L"") + { + RenderingDom copy = *renderingDom.Obj(); + copy.children = nullptr; + dom = JsonToString(ConvertCustomTypeToJson(copy), GetJsonFormatting()); + } + return dom; + } + + WString GetElementAsJsonText() override + { + if (element == L"") + { + element = L"null"; + if (renderingDom->content.element && frame.elements) + { + vint index = frame.elements->Keys().IndexOf(renderingDom->content.element.Value()); + if (index != -1) + { + auto elementVariant = frame.elements->Values()[index]; + elementVariant.Apply([&](auto desc) + { + element = JsonToString(ConvertCustomTypeToJson(desc), GetJsonFormatting()); + }); + } + } + } + return element; + } + + LazyList> GetChildren() override + { + return From(children).Cast(); + } + }; + /*********************************************************************** UnitTestSnapshotFrame ***********************************************************************/ @@ -1337,22 +2089,20 @@ UnitTestSnapshotFrame { friend const remoteprotocol::UnitTest_RenderingFrame& GetRenderingFrame(Ptr frame); protected: - vint index; - UnitTest_RenderingFrame frame; - WString elements; - WString commands; - WString dom; - JsonFormatting formatting; + vint index; + UnitTest_RenderingTrace& trace; + UnitTest_RenderingFrame frame; + Ptr domRoot; + WString elements; + WString commands; + WString dom; public: - UnitTestSnapshotFrame(vint _index, UnitTest_RenderingFrame _frame) + UnitTestSnapshotFrame(vint _index, UnitTest_RenderingTrace& _trace, UnitTest_RenderingFrame _frame) : index(_index) + , trace(_trace) , frame(_frame) { - formatting.spaceAfterColon = true; - formatting.spaceAfterComma = true; - formatting.crlf = true; - formatting.compact = true; } WString GetName() override @@ -1371,7 +2121,7 @@ UnitTestSnapshotFrame { if (elements == L"") { - elements = JsonToString(ConvertCustomTypeToJson(frame.elements), formatting); + elements = JsonToString(ConvertCustomTypeToJson(frame.elements), GetJsonFormatting()); } return elements; } @@ -1380,10 +2130,19 @@ UnitTestSnapshotFrame { if (dom == L"") { - dom = JsonToString(ConvertCustomTypeToJson(frame.root), formatting); + dom = JsonToString(ConvertCustomTypeToJson(frame.root), GetJsonFormatting()); } return dom; } + + Ptr GetDom() override + { + if (!domRoot) + { + domRoot = Ptr(new UnitTestSnapshotDomNode(trace, frame, frame.root)); + } + return domRoot; + } }; const remoteprotocol::UnitTest_RenderingFrame& GetRenderingFrame(Ptr frame) @@ -1421,7 +2180,7 @@ UnitTestSnapshotFileNode { for (auto [frame, index] : indexed(*renderingTrace->frames.Obj())) { - frames.Add(Ptr(new UnitTestSnapshotFrame(index, frame))); + frames.Add(Ptr(new UnitTestSnapshotFrame(index, *renderingTrace.Obj(), frame))); } } } diff --git a/Import/GacUI.UnitTest.UI.h b/Import/GacUI.UnitTest.UI.h index 8689d4fc..0dc90acd 100644 --- a/Import/GacUI.UnitTest.UI.h +++ b/Import/GacUI.UnitTest.UI.h @@ -38,21 +38,29 @@ https://github.com/vczh-libraries namespace vl_workflow_global { + struct __vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + struct __vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + struct __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + struct __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + struct __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + struct __vwsnf4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - struct __vwsnf6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - struct __vwsno4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + struct __vwsno6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; class __vwsnc1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings; + class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings; } namespace __vwsn_enums @@ -70,6 +78,7 @@ namespace gaclib_controls { using UnitTestSnapshotFileNodeType = ::__vwsn_enums::_gaclib_controls_UnitTestSnapshotFileNodeType; + class IUnitTestSnapshotDomNode; class IUnitTestSnapshotFileNode; class IUnitTestSnapshotFrame; class IUnitTestSnapshotViewerStringsStrings; @@ -78,6 +87,19 @@ namespace gaclib_controls class UnitTestSnapshotViewerWindowConstructor; class UnitTestSnapshotViewerWindow; + class IUnitTestSnapshotDomNode : public virtual ::vl::reflection::IDescriptable, public ::vl::reflection::Description + { +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + public: + virtual ::vl::WString GetName() = 0; + virtual ::vl::vint GetDomID() = 0; + virtual ::vl::WString GetDomAsJsonText() = 0; + virtual ::vl::WString GetElementAsJsonText() = 0; + virtual ::vl::collections::LazyList<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode>> GetChildren() = 0; + }; + class IUnitTestSnapshotFileNode : public virtual ::vl::reflection::IDescriptable, public ::vl::reflection::Description { #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA @@ -100,6 +122,7 @@ namespace gaclib_controls virtual ::vl::WString GetName() = 0; virtual ::vl::WString GetElementsAsJsonText() = 0; virtual ::vl::WString GetDomAsJsonText() = 0; + virtual ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode> GetDom() = 0; }; class IUnitTestSnapshotViewerStringsStrings : public virtual ::vl::reflection::IDescriptable, public ::vl::reflection::Description @@ -122,7 +145,7 @@ namespace gaclib_controls class UnitTestSnapshotViewerStrings : public ::vl::Object, public ::vl::reflection::Description { - friend class ::vl_workflow_global::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings; + friend class ::vl_workflow_global::__vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -140,15 +163,23 @@ namespace gaclib_controls friend class ::vl_workflow_global::__vwsnc3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsnf4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - friend struct ::vl_workflow_global::__vwsnf6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - friend struct ::vl_workflow_global::__vwsno4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsno6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -169,16 +200,35 @@ namespace gaclib_controls ::vl::presentation::controls::GuiTab* __vwsn_precompile_11; ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_12; ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_13; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_14; - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_15; - ::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_16; + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_14; + ::vl::presentation::compositions::GuiColumnSplitterComposition* __vwsn_precompile_15; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_16; ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_17; - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_18; - ::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_19; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_20; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_18; + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_19; + ::vl::presentation::compositions::GuiRowSplitterComposition* __vwsn_precompile_20; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_21; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_22; + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_23; + ::vl::presentation::controls::GuiTab* __vwsn_precompile_24; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_25; + ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_26; + ::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_27; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_28; + ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_29; + ::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_30; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_31; + ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_32; + ::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_33; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_34; ::vl::presentation::controls::GuiBindableTreeView* treeViewFileNodes; ::vl::presentation::controls::GuiBindableTextList* textListFrames; ::vl::presentation::controls::GuiScrollContainer* scRendering; + ::vl::presentation::controls::GuiBindableTreeView* treeViewDom; + ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_35; + ::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_36; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_37; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_38; void __vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_); public: UnitTestSnapshotViewerWindowConstructor(); @@ -192,15 +242,23 @@ namespace gaclib_controls friend class ::vl_workflow_global::__vwsnc3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsnf4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - friend struct ::vl_workflow_global::__vwsnf6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - friend struct ::vl_workflow_global::__vwsno4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; + friend struct ::vl_workflow_global::__vwsno6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -241,6 +299,51 @@ namespace vl_workflow_global Closures ***********************************************************************/ + struct __vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ + { + ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; + + __vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ + { + ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; + + __vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ + { + ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; + + __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ + { + ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; + + __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ + { + ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; + + __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + struct __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ { ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; @@ -268,22 +371,22 @@ Closures ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; + struct __vwsnf4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ + { + ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; + + __vwsnf4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::vl::reflection::description::IValueEnumerable> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; + }; + struct __vwsnf5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ { ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; __vwsnf5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ - { - ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; - - __vwsnf6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; }; struct __vwsnf7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ @@ -313,11 +416,11 @@ Closures void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsno4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ + struct __vwsno6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ { ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; - __vwsno4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + __vwsno6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsno_1) const; }; @@ -365,7 +468,7 @@ Closures __vwsnc3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); - ::vl::presentation::controls::GuiBindableTextList* __vwsn_bind_cache_0 = nullptr; + ::vl::presentation::controls::GuiBindableTreeView* __vwsn_bind_cache_0 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; @@ -379,17 +482,16 @@ Closures class __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: - ::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_; ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; - __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); - ::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_bind_cache_0 = nullptr; + ::vl::presentation::controls::GuiBindableTreeView* __vwsn_bind_cache_0 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); + void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -402,6 +504,61 @@ Closures __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + ::vl::presentation::controls::GuiBindableTextList* __vwsn_bind_cache_0 = nullptr; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); + bool Open() override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; + + __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + + ::vl::presentation::controls::GuiBindableTextList* __vwsn_bind_cache_0 = nullptr; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); + bool Open() override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_; + ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; + + __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + + ::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_bind_cache_0 = nullptr; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(); + bool Open() override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; + + __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + ::vl::presentation::controls::GuiApplication* __vwsn_bind_cache_0 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; bool __vwsn_bind_opened_ = false; @@ -413,10 +570,10 @@ Closures bool Close() override; }; - class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings : public ::vl::Object, public virtual ::gaclib_controls::IUnitTestSnapshotViewerStringsStrings + class __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings : public ::vl::Object, public virtual ::gaclib_controls::IUnitTestSnapshotViewerStringsStrings { public: - __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings(); + __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings(); ::vl::WString WindowTitle() override; }; @@ -491,10 +648,20 @@ namespace gaclib_controls class UnitTestSnapshotViewerAppWindow : public UnitTestSnapshotViewerWindow { protected: + vl::glr::json::Parser jsonParser; vl::presentation::compositions::GuiBoundsComposition* rootComposition = nullptr; - - void textListFrames_SelectionChanged(vl::presentation::compositions::GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments); - + vl::presentation::compositions::GuiBoundsComposition* selectedComposition = nullptr; + vl::presentation::compositions::GuiBoundsComposition* highlightComposition = nullptr; + + void Highlight(vl::presentation::compositions::GuiBoundsComposition*& target, vl::presentation::remoteprotocol::RenderingDom& renderingDom, vl::presentation::Color color); + void textListFrames_SelectionChanged(vl::presentation::compositions::GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments); + void treeViewDom_SelectionChanged(vl::presentation::compositions::GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments); + void rootComposition_MouseEnter(vl::presentation::compositions::GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments); + void rootComopsition_MouseLeave(vl::presentation::compositions::GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments); + void rootComposition_MouseMove(vl::presentation::compositions::GuiGraphicsComposition* sender, vl::presentation::compositions::GuiMouseEventArgs& arguments); + void rootComposition_LeftButtonDown(vl::presentation::compositions::GuiGraphicsComposition* sender, vl::presentation::compositions::GuiMouseEventArgs& arguments); + void OnKeyUp(vl::presentation::compositions::GuiGraphicsComposition* sender, vl::presentation::compositions::GuiKeyEventArgs& arguments); + public: UnitTestSnapshotViewerAppWindow(vl::Ptr viewModel); }; diff --git a/Import/GacUI.UnitTest.UIReflection.cpp b/Import/GacUI.UnitTest.UIReflection.cpp index 013c5a85..1f0a43fc 100644 --- a/Import/GacUI.UnitTest.UIReflection.cpp +++ b/Import/GacUI.UnitTest.UIReflection.cpp @@ -38,6 +38,7 @@ namespace vl namespace description { #ifndef VCZH_DEBUG_NO_REFLECTION + IMPL_CPP_TYPE_INFO(gaclib_controls::IUnitTestSnapshotDomNode) IMPL_CPP_TYPE_INFO(gaclib_controls::IUnitTestSnapshotFileNode) IMPL_CPP_TYPE_INFO(gaclib_controls::IUnitTestSnapshotFrame) IMPL_CPP_TYPE_INFO(gaclib_controls::IUnitTestSnapshotViewerStringsStrings) @@ -49,6 +50,20 @@ namespace vl #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA #define _ , + BEGIN_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotDomNode) + CLASS_MEMBER_BASE(::vl::reflection::IDescriptable) + CLASS_MEMBER_METHOD(GetChildren, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetDomAsJsonText, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetDomID, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetElementAsJsonText, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetName, NO_PARAMETER) + CLASS_MEMBER_PROPERTY_READONLY(Children, GetChildren) + CLASS_MEMBER_PROPERTY_READONLY(DomAsJsonText, GetDomAsJsonText) + CLASS_MEMBER_PROPERTY_READONLY(DomID, GetDomID) + CLASS_MEMBER_PROPERTY_READONLY(ElementAsJsonText, GetElementAsJsonText) + CLASS_MEMBER_PROPERTY_READONLY(Name, GetName) + END_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotDomNode) + BEGIN_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFileNode) CLASS_MEMBER_BASE(::vl::reflection::IDescriptable) CLASS_MEMBER_METHOD(GetChildren, NO_PARAMETER) @@ -64,9 +79,11 @@ namespace vl BEGIN_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame) CLASS_MEMBER_BASE(::vl::reflection::IDescriptable) + CLASS_MEMBER_METHOD(GetDom, NO_PARAMETER) CLASS_MEMBER_METHOD(GetDomAsJsonText, NO_PARAMETER) CLASS_MEMBER_METHOD(GetElementsAsJsonText, NO_PARAMETER) CLASS_MEMBER_METHOD(GetName, NO_PARAMETER) + CLASS_MEMBER_PROPERTY_READONLY(Dom, GetDom) CLASS_MEMBER_PROPERTY_READONLY(DomAsJsonText, GetDomAsJsonText) CLASS_MEMBER_PROPERTY_READONLY(ElementsAsJsonText, GetElementsAsJsonText) CLASS_MEMBER_PROPERTY_READONLY(Name, GetName) @@ -131,7 +148,25 @@ namespace vl 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_28) + CLASS_MEMBER_FIELD(__vwsn_precompile_29) CLASS_MEMBER_FIELD(__vwsn_precompile_3) + CLASS_MEMBER_FIELD(__vwsn_precompile_30) + CLASS_MEMBER_FIELD(__vwsn_precompile_31) + CLASS_MEMBER_FIELD(__vwsn_precompile_32) + CLASS_MEMBER_FIELD(__vwsn_precompile_33) + CLASS_MEMBER_FIELD(__vwsn_precompile_34) + CLASS_MEMBER_FIELD(__vwsn_precompile_35) + CLASS_MEMBER_FIELD(__vwsn_precompile_36) + CLASS_MEMBER_FIELD(__vwsn_precompile_37) + CLASS_MEMBER_FIELD(__vwsn_precompile_38) CLASS_MEMBER_FIELD(__vwsn_precompile_4) CLASS_MEMBER_FIELD(__vwsn_precompile_5) CLASS_MEMBER_FIELD(__vwsn_precompile_6) @@ -142,6 +177,7 @@ namespace vl CLASS_MEMBER_FIELD(scRendering) CLASS_MEMBER_FIELD(self) CLASS_MEMBER_FIELD(textListFrames) + CLASS_MEMBER_FIELD(treeViewDom) CLASS_MEMBER_FIELD(treeViewFileNodes) END_CLASS_MEMBER(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) @@ -151,6 +187,7 @@ namespace vl public: void Load(ITypeManager* manager) { + ADD_TYPE_INFO(::gaclib_controls::IUnitTestSnapshotDomNode) ADD_TYPE_INFO(::gaclib_controls::IUnitTestSnapshotFileNode) ADD_TYPE_INFO(::gaclib_controls::IUnitTestSnapshotFrame) ADD_TYPE_INFO(::gaclib_controls::IUnitTestSnapshotViewerStringsStrings) diff --git a/Import/GacUI.UnitTest.UIReflection.h b/Import/GacUI.UnitTest.UIReflection.h index 65d57e6a..2d0fbb33 100644 --- a/Import/GacUI.UnitTest.UIReflection.h +++ b/Import/GacUI.UnitTest.UIReflection.h @@ -51,6 +51,7 @@ namespace vl namespace description { #ifndef VCZH_DEBUG_NO_REFLECTION + DECL_TYPE_INFO(::gaclib_controls::IUnitTestSnapshotDomNode) DECL_TYPE_INFO(::gaclib_controls::IUnitTestSnapshotFileNode) DECL_TYPE_INFO(::gaclib_controls::IUnitTestSnapshotFrame) DECL_TYPE_INFO(::gaclib_controls::IUnitTestSnapshotViewerStringsStrings) @@ -62,6 +63,29 @@ namespace vl #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::gaclib_controls::IUnitTestSnapshotDomNode) + ::vl::collections::LazyList<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode>> GetChildren() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetChildren); + } + ::vl::WString GetDomAsJsonText() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetDomAsJsonText); + } + ::vl::vint GetDomID() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetDomID); + } + ::vl::WString GetElementAsJsonText() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetElementAsJsonText); + } + ::vl::WString GetName() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetName); + } + END_INTERFACE_PROXY(::gaclib_controls::IUnitTestSnapshotDomNode) + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::gaclib_controls::IUnitTestSnapshotFileNode) ::vl::collections::LazyList<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFileNode>> GetChildren() override { @@ -86,6 +110,10 @@ namespace vl END_INTERFACE_PROXY(::gaclib_controls::IUnitTestSnapshotFileNode) BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::gaclib_controls::IUnitTestSnapshotFrame) + ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode> GetDom() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetDom); + } ::vl::WString GetDomAsJsonText() override { INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetDomAsJsonText); diff --git a/Import/GacUI.UnitTest.h b/Import/GacUI.UnitTest.h index 2adb28f6..2e14bcb0 100644 --- a/Import/GacUI.UnitTest.h +++ b/Import/GacUI.UnitTest.h @@ -627,6 +627,7 @@ IGuiRemoteProtocolMessages (Window) void RequestWindowNotifySetIconVisible(const bool& arguments) override { styleConfig.iconVisible = arguments; this->GetEvents()->OnWindowBoundsUpdated(sizingConfig); } void RequestWindowNotifySetTitleBar(const bool& arguments) override { styleConfig.titleBar = arguments; this->GetEvents()->OnWindowBoundsUpdated(sizingConfig); } void RequestWindowNotifyActivate() override { styleConfig.activated = true; } + void RequestWindowNotifyMinSize(const NativeSize& arguments) override {} void RequestWindowNotifyShow(const WindowShowing& arguments) override { diff --git a/Import/GacUI.Windows.cpp b/Import/GacUI.Windows.cpp index 17518af5..e4e29beb 100644 --- a/Import/GacUI.Windows.cpp +++ b/Import/GacUI.Windows.cpp @@ -1312,6 +1312,11 @@ WindowsForm } } + void SuggestMinClientSize(NativeSize size)override + { + // Ignored + } + WString GetTitle()override { return title; @@ -1973,6 +1978,8 @@ WindowsController PostQuitMessage(0); } } + + asyncService.ExecuteAsyncTasks(); return skipDefaultProcedure; } diff --git a/Import/GacUI.cpp b/Import/GacUI.cpp index bbffc0eb..73e6dc54 100644 --- a/Import/GacUI.cpp +++ b/Import/GacUI.cpp @@ -4829,42 +4829,7 @@ GuiGraphicsHost NativeRect oldBounds = hostRecord.nativeWindow->GetBounds(); minSize = windowComposition->GetCachedMinSize(); NativeSize minWindowSize = hostRecord.nativeWindow->Convert(minSize) + (oldBounds.GetSize() - hostRecord.nativeWindow->GetClientSize()); - if (bounds.Width() < minWindowSize.x) - { - if (fixSizeOnly) - { - if (bounds.Width() < minWindowSize.x) - { - bounds.x2 = bounds.x1 + minWindowSize.x; - } - } - else if (oldBounds.x1 != bounds.x1) - { - bounds.x1 = oldBounds.x2 - minWindowSize.x; - } - else if (oldBounds.x2 != bounds.x2) - { - bounds.x2 = oldBounds.x1 + minWindowSize.x; - } - } - if (bounds.Height() < minWindowSize.y) - { - if (fixSizeOnly) - { - if (bounds.Height() < minWindowSize.y) - { - bounds.y2 = bounds.y1 + minWindowSize.y; - } - } - else if (oldBounds.y1 != bounds.y1) - { - bounds.y1 = oldBounds.y2 - minWindowSize.y; - } - else if (oldBounds.y2 != bounds.y2) - { - bounds.y2 = oldBounds.y1 + minWindowSize.y; - } - } + NativeWindowListener_Moving(hostRecord.nativeWindow, minWindowSize, bounds, fixSizeOnly, draggingBorder); } void GuiGraphicsHost::Moved() @@ -5199,6 +5164,7 @@ GuiGraphicsHost auto height = bounds.Height() > preferred.y ? bounds.Height() : preferred.y; controlHost->UpdateClientSizeAfterRendering(preferred, Size(width, height)); windowComposition->Layout_UpdateBounds({ width,height }); + hostRecord.nativeWindow->SuggestMinClientSize(hostRecord.nativeWindow->Convert(windowComposition->GetCachedMinSize())); supressPaint = false; } } @@ -35679,6 +35645,47 @@ Helper Functions return nullptr; } } + + void NativeWindowListener_Moving(INativeWindow* window, NativeSize minWindowSize, NativeRect& bounds, bool fixSizeOnly, bool draggingBorder) + { + NativeRect oldBounds = window->GetBounds(); + if (bounds.Width() < minWindowSize.x) + { + if (fixSizeOnly) + { + if (bounds.Width() < minWindowSize.x) + { + bounds.x2 = bounds.x1 + minWindowSize.x; + } + } + else if (oldBounds.x1 != bounds.x1) + { + bounds.x1 = oldBounds.x2 - minWindowSize.x; + } + else if (oldBounds.x2 != bounds.x2) + { + bounds.x2 = oldBounds.x1 + minWindowSize.x; + } + } + if (bounds.Height() < minWindowSize.y) + { + if (fixSizeOnly) + { + if (bounds.Height() < minWindowSize.y) + { + bounds.y2 = bounds.y1 + minWindowSize.y; + } + } + else if (oldBounds.y1 != bounds.y1) + { + bounds.y1 = oldBounds.y2 - minWindowSize.y; + } + else if (oldBounds.y2 != bounds.y2) + { + bounds.y2 = oldBounds.y1 + minWindowSize.y; + } + } + } } } @@ -36113,23 +36120,21 @@ GuiHostedController::INativeWindowListener if (mainWindow) { auto windowBounds = nativeWindow->GetBounds(); - auto clientBounds = nativeWindow->GetClientBoundsInScreen(); - auto w = clientBounds.Width().value - windowBounds.Width().value; - auto h = clientBounds.Height().value - windowBounds.Height().value; - NativeRect mainBounds; - mainBounds.x2 = bounds.Width().value - w; - mainBounds.y2 = bounds.Height().value - h; + mainBounds.x1 = bounds.x1 - windowBounds.x1; + mainBounds.y1 = bounds.y1 - windowBounds.y1; + mainBounds.x2 = bounds.x2 - windowBounds.x1; + mainBounds.y2 = bounds.y2 - windowBounds.y1; for (auto listener : mainWindow->listeners) { listener->Moving(mainBounds, fixSizeOnly, draggingBorder); } - bounds.x1.value += mainBounds.x1.value; - bounds.y1.value += mainBounds.y1.value; - bounds.x2.value = bounds.x1.value + mainBounds.Width().value + w; - bounds.y2.value = bounds.y1.value + mainBounds.Height().value + h; + bounds.x1 = mainBounds.x1 + windowBounds.x1; + bounds.y1 = mainBounds.y1 + windowBounds.y1; + bounds.x2 = mainBounds.x2 + windowBounds.x1; + bounds.y2 = mainBounds.y2 + windowBounds.y1; } } @@ -37275,12 +37280,14 @@ GuiHostedWindow { proxy = CreateMainHostedWindowProxy(this, controller->nativeWindow); proxy->CheckAndSyncProperties(); + proxy->SuggestMinClientSize(suggestedMinClientSize); } void GuiHostedWindow::BecomeNonMainWindow() { proxy = CreateNonMainHostedWindowProxy(this, controller->nativeWindow); proxy->CheckAndSyncProperties(); + proxy->SuggestMinClientSize(suggestedMinClientSize); } void GuiHostedWindow::BecomeFocusedWindow() @@ -37380,6 +37387,12 @@ GuiHostedWindow return GetBounds(); } + void GuiHostedWindow::SuggestMinClientSize(NativeSize size) + { + suggestedMinClientSize = size; + proxy->SuggestMinClientSize(suggestedMinClientSize); + } + WString GuiHostedWindow::GetTitle() { return windowTitle; @@ -37831,6 +37844,11 @@ GuiMainHostedWindowProxy return { {},bounds.GetSize() }; } + void SuggestMinClientSize(NativeSize size) override + { + nativeWindow->SuggestMinClientSize(size); + } + void UpdateBounds() override { nativeWindow->SetClientSize(data->wmWindow.bounds.GetSize()); @@ -38059,6 +38077,11 @@ GuiNonMainHostedWindowProxy return { bounds.LeftTop(),{{w},{h}} }; } + void SuggestMinClientSize(NativeSize size) override + { + // Ignored + } + void UpdateBounds() override { } @@ -38242,6 +38265,11 @@ GuiPlaceholderHostedWindowProxy return bounds; } + void SuggestMinClientSize(NativeSize size) override + { + // Ignored + } + void UpdateBounds() override { } @@ -41906,6 +41934,10 @@ GuiRemoteWindow (events) if (remote->applicationRunning) { + if (suggestedMinClientSize != NativeSize{ {0},{0} }) + { + remoteMessages.RequestWindowNotifyMinSize(suggestedMinClientSize); + } remoteMessages.RequestWindowNotifySetTitle(styleTitle); remoteMessages.RequestWindowNotifySetEnabled(styleEnabled); remoteMessages.RequestWindowNotifySetTopMost(styleTopMost); @@ -42100,6 +42132,15 @@ GuiRemoteWindow (INativeWindow) return bounds; } + void GuiRemoteWindow::SuggestMinClientSize(NativeSize size) + { + if (suggestedMinClientSize != size) + { + suggestedMinClientSize = size; + remoteMessages.RequestWindowNotifyMinSize(suggestedMinClientSize); + } + } + WString GuiRemoteWindow::GetTitle() { return styleTitle; @@ -44683,6 +44724,27 @@ namespace vl::presentation::remote_renderer { } + void GuiRemoteRendererSingle::Moving(NativeRect& bounds, bool fixSizeOnly, bool draggingBorder) + { + NativeWindowListener_Moving(window, suggestedMinSize, bounds, fixSizeOnly, draggingBorder); + if (draggingBorder) + { + auto config = GetWindowSizingConfig(); + auto dx1 = config.clientBounds.x1 - config.bounds.x1; + auto dy1 = config.clientBounds.y1 - config.bounds.y1; + auto dx2 = config.clientBounds.x2 - config.bounds.x2; + auto dy2 = config.clientBounds.y2 - config.bounds.y2; + + config.bounds = bounds; + config.clientBounds.x1 = config.bounds.x1 + dx1; + config.clientBounds.y1 = config.bounds.y1 + dy1; + config.clientBounds.x2 = config.bounds.x2 + dx2; + config.clientBounds.y2 = config.bounds.y2 + dy2; + + events->OnWindowBoundsUpdated(config); + } + } + void GuiRemoteRendererSingle::Moved() { UpdateConfigsIfNecessary(); @@ -45163,6 +45225,14 @@ namespace vl::presentation::remote_renderer } } } + + void GuiRemoteRendererSingle::RequestWindowNotifyMinSize(const NativeSize& arguments) + { + auto clientSize = window->GetClientSize(); + auto size = window->GetBounds().GetSize(); + suggestedMinSize.x = arguments.x + size.x - clientSize.x; + suggestedMinSize.y = arguments.y + size.y - clientSize.y; + } } /*********************************************************************** diff --git a/Import/GacUI.h b/Import/GacUI.h index 7024a136..7d6282df 100644 --- a/Import/GacUI.h +++ b/Import/GacUI.h @@ -2292,6 +2292,11 @@ INativeWindow /// /// The client bounds in screen space. virtual NativeRect GetClientBoundsInScreen()=0; + /// + /// Suggest a minimum client size for the window. This is extra information for some platform provider. A native platform provide can just ignore it. + /// + /// The minimum client size. + virtual void SuggestMinClientSize(NativeSize size) = 0; /// /// Get the title of the window. A title will be displayed as a name of this window. @@ -3989,6 +3994,16 @@ Helper Functions /// Returns the cursor according to the hit test result. It could return nullptr when the cursor is not defined. extern INativeCursor* GetCursorFromHitTest(INativeWindowListener::HitTestResult hitTestResult, INativeResourceService* resourceService); + /// + /// General implementation of INativeWindowListener::Moving + /// + /// The native window. + /// The minimum window size. + /// Pass this argument directly. + /// Pass this argument directly. + /// Pass this argument directly. + extern void NativeWindowListener_Moving(INativeWindow* window, NativeSize minWindowSize, NativeRect& bounds, bool fixSizeOnly, bool draggingBorder); + /// /// A helper function calling multiple . /// @@ -8496,6 +8511,7 @@ Proxy virtual void CheckAndSyncProperties() = 0; virtual NativeRect FixBounds(const NativeRect& bounds) = 0; + virtual void SuggestMinClientSize(NativeSize size) = 0; virtual void UpdateBounds() = 0; virtual void UpdateTitle() = 0; virtual void UpdateIcon() = 0; @@ -8539,6 +8555,7 @@ GuiHostedWindow friend class GuiHostedController; protected: Ptr proxy; + NativeSize suggestedMinClientSize; void BecomeMainWindow(); void BecomeNonMainWindow(); @@ -8566,6 +8583,7 @@ GuiHostedWindow NativeSize GetClientSize() override; void SetClientSize(NativeSize size) override; NativeRect GetClientBoundsInScreen() override; + void SuggestMinClientSize(NativeSize size) override; WString GetTitle() override; void SetTitle(const WString& title) override; INativeCursor* GetWindowCursor() override; @@ -22682,6 +22700,7 @@ namespace vl::presentation::remoteprotocol HANDLER(WindowNotifySetClientSize, ::vl::presentation::NativeSize, void, REQ, NORES, DROPREP)\ HANDLER(WindowNotifyActivate, void, void, NOREQ, NORES, DROPREP)\ HANDLER(WindowNotifyShow, ::vl::presentation::remoteprotocol::WindowShowing, void, REQ, NORES, DROPREP)\ + HANDLER(WindowNotifyMinSize, ::vl::presentation::NativeSize, void, REQ, NORES, DROPREP)\ HANDLER(IOUpdateGlobalShortcutKey, ::vl::Ptr<::vl::collections::List<::vl::presentation::remoteprotocol::GlobalShortcutKey>>, void, REQ, NORES, NODROP)\ HANDLER(IORequireCapture, void, void, NOREQ, NORES, NODROP)\ HANDLER(IOReleaseCapture, void, void, NOREQ, NORES, NODROP)\ @@ -24770,6 +24789,7 @@ namespace vl::presentation::remote_renderer bool updatingBounds = false; remoteprotocol::WindowSizingConfig windowSizingConfig; + NativeSize suggestedMinSize; remoteprotocol::ScreenConfig GetScreenConfig(INativeScreen* screen); remoteprotocol::WindowSizingConfig GetWindowSizingConfig(); @@ -24782,6 +24802,7 @@ namespace vl::presentation::remote_renderer void AfterClosing() override; void Closed() override; + void Moving(NativeRect& bounds, bool fixSizeOnly, bool draggingBorder) override; void Moved() override; void DpiChanged(bool preparing) override; void RenderingAsActivated() override; @@ -29715,6 +29736,7 @@ GuiRemoteWindow bool controllerDisconnected = false; remoteprotocol::WindowSizingConfig remoteWindowSizingConfig; + NativeSize suggestedMinClientSize; bool sizingConfigInvalidated = false; double scalingX = 1; double scalingY = 1; @@ -29775,6 +29797,7 @@ GuiRemoteWindow NativeSize GetClientSize() override; void SetClientSize(NativeSize size) override; NativeRect GetClientBoundsInScreen() override; + void SuggestMinClientSize(NativeSize size) override; WString GetTitle() override; void SetTitle(const WString& title) override; INativeCursor* GetWindowCursor() override; diff --git a/Import/GacUIReflection.cpp b/Import/GacUIReflection.cpp index ba5db40b..2b577744 100644 --- a/Import/GacUIReflection.cpp +++ b/Import/GacUIReflection.cpp @@ -467,6 +467,7 @@ Type Declaration CLASS_MEMBER_PROPERTY_FAST(TitleBar) CLASS_MEMBER_PROPERTY_FAST(TopMost) + CLASS_MEMBER_METHOD(SuggestMinClientSize, { L"size" }) CLASS_MEMBER_METHOD(EnableCustomFrameMode, NO_PARAMETER) CLASS_MEMBER_METHOD(DisableCustomFrameMode, NO_PARAMETER) CLASS_MEMBER_METHOD(IsCustomFrameModeEnabled, NO_PARAMETER) diff --git a/Import/Metadata/RemoteProtocol.json b/Import/Metadata/RemoteProtocol.json index 93434a00..5c6a2fb8 100644 --- a/Import/Metadata/RemoteProtocol.json +++ b/Import/Metadata/RemoteProtocol.json @@ -849,6 +849,22 @@ } }, "response": null + }, { + "$ast": "MessageDecl", + "attributes": [{ + "$ast": "Attribute", + "cppType": "", + "name": "@DropRepeat" + }], + "name": "WindowNotifyMinSize", + "request": { + "$ast": "MessageRequest", + "type": { + "$ast": "ReferenceType", + "name": "NativeSize" + } + }, + "response": null }, { "$ast": "EventDecl", "attributes": [{ diff --git a/Import/Metadata/RemoteProtocol/Protocol_MainWindow.txt b/Import/Metadata/RemoteProtocol/Protocol_MainWindow.txt index fa9a2dd5..cb918cf0 100644 --- a/Import/Metadata/RemoteProtocol/Protocol_MainWindow.txt +++ b/Import/Metadata/RemoteProtocol/Protocol_MainWindow.txt @@ -81,6 +81,7 @@ struct WindowShowing [@DropRepeat] message WindowNotifyActivate {} [@DropRepeat] message WindowNotifyShow { request: WindowShowing; } +[@DropRepeat] message WindowNotifyMinSize { request: NativeSize; } [@DropRepeat] event WindowBoundsUpdated { request: WindowSizingConfig; } [@DropRepeat] event WindowActivatedUpdated { request: bool; } \ No newline at end of file diff --git a/Tools/Reflection32.bin b/Tools/Reflection32.bin index a02ab986..d4e73e5b 100644 Binary files a/Tools/Reflection32.bin and b/Tools/Reflection32.bin differ diff --git a/Tools/Reflection64.bin b/Tools/Reflection64.bin index ceebbab6..6712148a 100644 Binary files a/Tools/Reflection64.bin and b/Tools/Reflection64.bin differ diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 index e9148a5f..7ff696b6 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 2a846a7b..282dcfb1 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 and b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 differ