Update release

This commit is contained in:
Zihan Chen
2017-10-29 03:21:19 -07:00
parent 746605da5e
commit 1ab5adc4e5
18 changed files with 3027 additions and 2922 deletions
+47 -59
View File
@@ -11368,11 +11368,13 @@ GuiScrollView
ct->GetVerticalScroll()->PositionChanged.Detach(vScrollHandler); ct->GetVerticalScroll()->PositionChanged.Detach(vScrollHandler);
ct->GetEventReceiver()->horizontalWheel.Detach(hWheelHandler); ct->GetEventReceiver()->horizontalWheel.Detach(hWheelHandler);
ct->GetEventReceiver()->verticalWheel.Detach(vWheelHandler); ct->GetEventReceiver()->verticalWheel.Detach(vWheelHandler);
ct->BoundsChanged.Detach(containerBoundsChangedHandler);
hScrollHandler = nullptr; hScrollHandler = nullptr;
vScrollHandler = nullptr; vScrollHandler = nullptr;
hWheelHandler = nullptr; hWheelHandler = nullptr;
vWheelHandler = nullptr; vWheelHandler = nullptr;
containerBoundsChangedHandler = nullptr;
supressScrolling = false; supressScrolling = false;
} }
@@ -11383,6 +11385,7 @@ GuiScrollView
vScrollHandler = ct->GetVerticalScroll()->PositionChanged.AttachMethod(this, &GuiScrollView::OnVerticalScroll); vScrollHandler = ct->GetVerticalScroll()->PositionChanged.AttachMethod(this, &GuiScrollView::OnVerticalScroll);
hWheelHandler = ct->GetEventReceiver()->horizontalWheel.AttachMethod(this, &GuiScrollView::OnHorizontalWheel); hWheelHandler = ct->GetEventReceiver()->horizontalWheel.AttachMethod(this, &GuiScrollView::OnHorizontalWheel);
vWheelHandler = ct->GetEventReceiver()->verticalWheel.AttachMethod(this, &GuiScrollView::OnVerticalWheel); vWheelHandler = ct->GetEventReceiver()->verticalWheel.AttachMethod(this, &GuiScrollView::OnVerticalWheel);
containerBoundsChangedHandler = ct->BoundsChanged.AttachMethod(this, &GuiScrollView::OnContainerBoundsChanged);
CalculateView(); CalculateView();
} }
@@ -11437,12 +11440,15 @@ GuiScrollView
UpdateView(viewBounds); UpdateView(viewBounds);
} }
void GuiScrollView::AdjustView(Size fullSize) bool GuiScrollView::AdjustView(Size fullSize)
{ {
auto ct = GetControlTemplateObject(); auto ct = GetControlTemplateObject();
auto hScroll = ct->GetHorizontalScroll(); auto hScroll = ct->GetHorizontalScroll();
auto vScroll = ct->GetVerticalScroll(); auto vScroll = ct->GetVerticalScroll();
auto hVisible = hScroll->GetVisible();
auto vVisible = vScroll->GetVisible();
Size viewSize = ct->GetContainerComposition()->GetBounds().GetSize(); Size viewSize = ct->GetContainerComposition()->GetBounds().GetSize();
if (fullSize.x <= viewSize.x) if (fullSize.x <= viewSize.x)
{ {
@@ -11471,6 +11477,8 @@ GuiScrollView
vScroll->SetTotalSize(fullSize.y); vScroll->SetTotalSize(fullSize.y);
vScroll->SetPageSize(viewSize.y); vScroll->SetPageSize(viewSize.y);
} }
return hVisible != hScroll->GetVisible() || vVisible != vScroll->GetVisible();
} }
GuiScrollView::GuiScrollView(theme::ThemeName themeName) GuiScrollView::GuiScrollView(theme::ThemeName themeName)
@@ -11502,18 +11510,18 @@ GuiScrollView
void GuiScrollView::CalculateView() void GuiScrollView::CalculateView()
{ {
auto ct = GetControlTemplateObject(); auto ct = GetControlTemplateObject();
if(!supressScrolling) if (!supressScrolling)
{ {
Size fullSize = QueryFullSize(); Size fullSize = QueryFullSize();
while(true) while (true)
{ {
AdjustView(fullSize); bool flagA = AdjustView(fullSize);
AdjustView(fullSize); bool flagB = AdjustView(fullSize);
supressScrolling = true; supressScrolling = true;
CallUpdateView(); CallUpdateView();
supressScrolling = false; supressScrolling = false;
Size newSize=QueryFullSize(); Size newSize = QueryFullSize();
if (fullSize == newSize) if (fullSize == newSize)
{ {
vint smallMove = GetSmallMove(); vint smallMove = GetSmallMove();
@@ -11522,11 +11530,15 @@ GuiScrollView
Size bigMove = GetBigMove(); Size bigMove = GetBigMove();
ct->GetHorizontalScroll()->SetBigMove(bigMove.x); ct->GetHorizontalScroll()->SetBigMove(bigMove.x);
ct->GetVerticalScroll()->SetBigMove(bigMove.y); ct->GetVerticalScroll()->SetBigMove(bigMove.y);
break;
if (!flagA && !flagB)
{
break;
}
} }
else else
{ {
fullSize=newSize; fullSize = newSize;
} }
} }
} }
@@ -16849,7 +16861,7 @@ GuiCommonDatePickerLook
} }
/*********************************************************************** /***********************************************************************
GuiCommonDatePickerLook GuiCommonScrollViewLook
***********************************************************************/ ***********************************************************************/
void GuiCommonScrollViewLook::UpdateTable() void GuiCommonScrollViewLook::UpdateTable()
@@ -16893,7 +16905,7 @@ GuiCommonDatePickerLook
horizontalScroll = new GuiScroll(theme::ThemeName::HScroll); horizontalScroll = new GuiScroll(theme::ThemeName::HScroll);
horizontalScroll->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); horizontalScroll->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0));
horizontalScroll->SetEnabled(false); horizontalScroll->SetEnabled(false);
verticalScroll = new GuiScroll(theme::ThemeName::HScroll); verticalScroll = new GuiScroll(theme::ThemeName::VScroll);
verticalScroll->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); verticalScroll->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0));
verticalScroll->SetEnabled(false); verticalScroll->SetEnabled(false);
@@ -17051,7 +17063,7 @@ GuiCommonScrollBehavior
}); });
} }
void GuiCommonScrollBehavior::AttachHorizontalPartialView(compositions::GuiPartialViewComposition* partialView) void GuiCommonScrollBehavior::AttachHorizontalScrollHandle(compositions::GuiPartialViewComposition* partialView)
{ {
partialView->GetParent()->GetEventReceiver()->leftButtonDown.AttachLambda([=](GuiGraphicsComposition*, GuiMouseEventArgs& arguments) partialView->GetParent()->GetEventReceiver()->leftButtonDown.AttachLambda([=](GuiGraphicsComposition*, GuiMouseEventArgs& arguments)
{ {
@@ -17068,22 +17080,10 @@ GuiCommonScrollBehavior
} }
}); });
partialView->GetEventReceiver()->mouseMove.AttachLambda([=](GuiGraphicsComposition*, GuiMouseEventArgs& arguments) AttachHorizontalTrackerHandle(partialView);
{
if (dragging)
{
auto bounds = partialView->GetParent()->GetBounds();
vint totalPixels = bounds.x2 - bounds.x1;
vint currentOffset = partialView->GetBounds().x1;
vint newOffset = currentOffset + (arguments.x - location.x);
SetScroll(totalPixels, newOffset);
}
});
AttachHandle(partialView);
} }
void GuiCommonScrollBehavior::AttachVerticalPartialView(compositions::GuiPartialViewComposition* partialView) void GuiCommonScrollBehavior::AttachVerticalScrollHandle(compositions::GuiPartialViewComposition* partialView)
{ {
partialView->GetParent()->GetEventReceiver()->leftButtonDown.AttachLambda([=](GuiGraphicsComposition*, GuiMouseEventArgs& arguments) partialView->GetParent()->GetEventReceiver()->leftButtonDown.AttachLambda([=](GuiGraphicsComposition*, GuiMouseEventArgs& arguments)
{ {
@@ -17100,6 +17100,28 @@ GuiCommonScrollBehavior
} }
}); });
AttachVerticalTrackerHandle(partialView);
}
void GuiCommonScrollBehavior::AttachHorizontalTrackerHandle(compositions::GuiPartialViewComposition* partialView)
{
partialView->GetEventReceiver()->mouseMove.AttachLambda([=](GuiGraphicsComposition*, GuiMouseEventArgs& arguments)
{
if (dragging)
{
auto bounds = partialView->GetParent()->GetBounds();
vint totalPixels = bounds.x2 - bounds.x1;
vint currentOffset = partialView->GetBounds().x1;
vint newOffset = currentOffset + (arguments.x - location.x);
SetScroll(totalPixels, newOffset);
}
});
AttachHandle(partialView);
}
void GuiCommonScrollBehavior::AttachVerticalTrackerHandle(compositions::GuiPartialViewComposition* partialView)
{
partialView->GetEventReceiver()->mouseMove.AttachLambda([=](GuiGraphicsComposition*, GuiMouseEventArgs& arguments) partialView->GetEventReceiver()->mouseMove.AttachLambda([=](GuiGraphicsComposition*, GuiMouseEventArgs& arguments)
{ {
if (dragging) if (dragging)
@@ -17115,40 +17137,6 @@ GuiCommonScrollBehavior
AttachHandle(partialView); AttachHandle(partialView);
} }
void GuiCommonScrollBehavior::AttachHorizontalTrackerHandle(compositions::GuiBoundsComposition* handle)
{
handle->GetEventReceiver()->mouseMove.AttachLambda([=](GuiGraphicsComposition*, GuiMouseEventArgs& arguments)
{
if (dragging)
{
auto bounds = handle->GetParent()->GetBounds();
vint totalPixels = bounds.x2 - bounds.x1;
vint currentOffset = handle->GetBounds().x1;
vint newOffset = currentOffset + (arguments.x - location.x);
SetScroll(totalPixels, newOffset);
}
});
AttachHandle(handle);
}
void GuiCommonScrollBehavior::AttachVerticalTrackerHandle(compositions::GuiBoundsComposition* handle)
{
handle->GetEventReceiver()->mouseMove.AttachLambda([=](GuiGraphicsComposition*, GuiMouseEventArgs& arguments)
{
if (dragging)
{
auto bounds = handle->GetParent()->GetBounds();
vint totalPixels = bounds.y2 - bounds.y1;
vint currentOffset = handle->GetBounds().y1;
vint newOffset = currentOffset + (arguments.y - location.y);
SetScroll(totalPixels, newOffset);
}
});
AttachHandle(handle);
}
vint GuiCommonScrollBehavior::GetHorizontalTrackerHandlerPosition(compositions::GuiBoundsComposition* handle, vint totalSize, vint pageSize, vint position) vint GuiCommonScrollBehavior::GetHorizontalTrackerHandlerPosition(compositions::GuiBoundsComposition* handle, vint totalSize, vint pageSize, vint position)
{ {
vint width = handle->GetParent()->GetBounds().Width() - handle->GetBounds().Width(); vint width = handle->GetParent()->GetBounds().Width() - handle->GetBounds().Width();
+6 -5
View File
@@ -8783,10 +8783,10 @@ GuiCommonScrollBehavior
void AttachScrollTemplate(GuiScrollTemplate* value); void AttachScrollTemplate(GuiScrollTemplate* value);
void AttachDecreaseButton(controls::GuiButton* button); void AttachDecreaseButton(controls::GuiButton* button);
void AttachIncreaseButton(controls::GuiButton* button); void AttachIncreaseButton(controls::GuiButton* button);
void AttachHorizontalPartialView(compositions::GuiPartialViewComposition* partialView); void AttachHorizontalScrollHandle(compositions::GuiPartialViewComposition* partialView);
void AttachVerticalPartialView(compositions::GuiPartialViewComposition* partialView); void AttachVerticalScrollHandle(compositions::GuiPartialViewComposition* partialView);
void AttachHorizontalTrackerHandle(compositions::GuiBoundsComposition* handle); void AttachHorizontalTrackerHandle(compositions::GuiPartialViewComposition* partialView);
void AttachVerticalTrackerHandle(compositions::GuiBoundsComposition* handle); void AttachVerticalTrackerHandle(compositions::GuiPartialViewComposition* partialView);
vint GetHorizontalTrackerHandlerPosition(compositions::GuiBoundsComposition* handle, vint totalSize, vint pageSize, vint position); vint GetHorizontalTrackerHandlerPosition(compositions::GuiBoundsComposition* handle, vint totalSize, vint pageSize, vint position);
vint GetVerticalTrackerHandlerPosition(compositions::GuiBoundsComposition* handle, vint totalSize, vint pageSize, vint position); vint GetVerticalTrackerHandlerPosition(compositions::GuiBoundsComposition* handle, vint totalSize, vint pageSize, vint position);
@@ -10378,6 +10378,7 @@ Scroll View
Ptr<IEventHandler> vScrollHandler; Ptr<IEventHandler> vScrollHandler;
Ptr<IEventHandler> hWheelHandler; Ptr<IEventHandler> hWheelHandler;
Ptr<IEventHandler> vWheelHandler; Ptr<IEventHandler> vWheelHandler;
Ptr<IEventHandler> containerBoundsChangedHandler;
bool horizontalAlwaysVisible = true; bool horizontalAlwaysVisible = true;
bool verticalAlwaysVisible = true; bool verticalAlwaysVisible = true;
@@ -10387,7 +10388,7 @@ Scroll View
void OnHorizontalWheel(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); void OnHorizontalWheel(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments);
void OnVerticalWheel(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); void OnVerticalWheel(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments);
void CallUpdateView(); void CallUpdateView();
void AdjustView(Size fullSize); bool AdjustView(Size fullSize);
/// <summary>Calculate the full size of the content.</summary> /// <summary>Calculate the full size of the content.</summary>
/// <returns>The full size of the content.</returns> /// <returns>The full size of the content.</returns>
+4 -4
View File
@@ -3226,10 +3226,10 @@ Type Declaration
CLASS_MEMBER_METHOD(AttachScrollTemplate, { L"value" }) CLASS_MEMBER_METHOD(AttachScrollTemplate, { L"value" })
CLASS_MEMBER_METHOD(AttachDecreaseButton, { L"button" }) CLASS_MEMBER_METHOD(AttachDecreaseButton, { L"button" })
CLASS_MEMBER_METHOD(AttachIncreaseButton, { L"button" }) CLASS_MEMBER_METHOD(AttachIncreaseButton, { L"button" })
CLASS_MEMBER_METHOD(AttachHorizontalPartialView, { L"partialView" }) CLASS_MEMBER_METHOD(AttachHorizontalScrollHandle, { L"partialView" })
CLASS_MEMBER_METHOD(AttachVerticalPartialView, { L"partialView" }) CLASS_MEMBER_METHOD(AttachVerticalScrollHandle, { L"partialView" })
CLASS_MEMBER_METHOD(AttachHorizontalTrackerHandle, { L"handle" }) CLASS_MEMBER_METHOD(AttachHorizontalTrackerHandle, { L"partialView" })
CLASS_MEMBER_METHOD(AttachVerticalTrackerHandle, { L"handle" }) CLASS_MEMBER_METHOD(AttachVerticalTrackerHandle, { L"partialView" })
CLASS_MEMBER_METHOD(GetHorizontalTrackerHandlerPosition, { L"handle" _ L"totalSize" _ L"pageSize" _ L"position" }) CLASS_MEMBER_METHOD(GetHorizontalTrackerHandlerPosition, { L"handle" _ L"totalSize" _ L"pageSize" _ L"position" })
CLASS_MEMBER_METHOD(GetVerticalTrackerHandlerPosition, { L"handle" _ L"totalSize" _ L"pageSize" _ L"position" }) CLASS_MEMBER_METHOD(GetVerticalTrackerHandlerPosition, { L"handle" _ L"totalSize" _ L"pageSize" _ L"position" })
END_CLASS_MEMBER(GuiCommonScrollBehavior) END_CLASS_MEMBER(GuiCommonScrollBehavior)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+15 -1
View File
@@ -4466,6 +4466,7 @@ vl::Func<R(TArgs...)>
{ {
protected: protected:
Ptr<internal_invokers::Invoker<R, TArgs...>> invoker; Ptr<internal_invokers::Invoker<R, TArgs...>> invoker;
public: public:
typedef R FunctionType(TArgs...); typedef R FunctionType(TArgs...);
typedef R ResultType; typedef R ResultType;
@@ -4498,6 +4499,19 @@ vl::Func<R(TArgs...)>
{ {
invoker=new internal_invokers::MemberInvoker<C, R, TArgs...>(sender, function); invoker=new internal_invokers::MemberInvoker<C, R, TArgs...>(sender, function);
} }
/// <summary>Create a reference using a function object.</summary>
/// <typeparam name="R2">Return type of the function object.</typeparam>
/// <typeparam name="TArgs2">Argument types of the function object.</typeparam>
/// <param name="function">The function object.</param>
template<typename R2, typename ...TArgs2>
Func(const Func<R2(TArgs2...)>& function)
{
if (function)
{
invoker = new internal_invokers::ObjectInvoker<Func<R2(TArgs2...)>, R, TArgs...>(function);
}
}
/// <summary>Create a reference using a function object.</summary> /// <summary>Create a reference using a function object.</summary>
/// <typeparam name="C">Type of the function object.</typeparam> /// <typeparam name="C">Type of the function object.</typeparam>
@@ -4505,7 +4519,7 @@ vl::Func<R(TArgs...)>
template<typename C> template<typename C>
Func(const C& function) Func(const C& function)
{ {
invoker=new internal_invokers::ObjectInvoker<C, R, TArgs...>(function); invoker = new internal_invokers::ObjectInvoker<C, R, TArgs...>(function);
} }
/// <summary>Invoke the function.</summary> /// <summary>Invoke the function.</summary>
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -116,73 +116,77 @@
</Cell> </Cell>
<Cell Site="row:0 column:1"> <Cell Site="row:0 column:1">
<Stack Direction="Vertical" Padding="5" AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren"> <GroupBox Text="Operations">
<StackItem> <att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:-1"/>
<Button Alt="A" Text="Add 10 items"> <att.ContainerComposition-set InternalMargin="left:5 top:0 right:5 bottom:5"/>
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/> <Stack Direction="Vertical" Padding="5" AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
<ev.Clicked-eval> <StackItem>
<![CDATA[ <Button Alt="A" Text="Add 10 items">
{ <att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
for (i in range [0, 9]) <ev.Clicked-eval>
<![CDATA[
{ {
var textItem = new demo::MyTextItem^(); for (i in range [0, 9])
textItem.Name = self.NumberToText(self.counter + i); {
self.itemsToBind.Add(textItem); var textItem = new demo::MyTextItem^();
} textItem.Name = self.NumberToText(self.counter + i);
self.itemsToBind.Add(textItem);
}
self.counter = self.counter + 10; self.counter = self.counter + 10;
}
]]>
</ev.Clicked-eval>
</Button>
</StackItem>
<StackItem>
<Button Alt="O" Text="Remove odd items">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<ev.Clicked-eval>
<![CDATA[
{
var i = 0;
while (i < self.itemsToBind.Count)
{
self.itemsToBind.RemoveAt(i);
i = i + 1;
} }
} ]]>
]]> </ev.Clicked-eval>
</ev.Clicked-eval> </Button>
</Button> </StackItem>
</StackItem> <StackItem>
<StackItem> <Button Alt="O" Text="Remove odd items">
<Button Alt="E" Text="Remove even items"> <att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/> <ev.Clicked-eval>
<ev.Clicked-eval> <![CDATA[
<![CDATA[
{
var i = 1;
while (i < self.itemsToBind.Count)
{ {
self.itemsToBind.RemoveAt(i); var i = 0;
i = i + 1; while (i < self.itemsToBind.Count)
{
self.itemsToBind.RemoveAt(i);
i = i + 1;
}
} }
} ]]>
]]> </ev.Clicked-eval>
</ev.Clicked-eval> </Button>
</Button> </StackItem>
</StackItem> <StackItem>
<StackItem> <Button Alt="E" Text="Remove even items">
<Button Alt="C" Text="Clear"> <att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/> <ev.Clicked-eval>
<ev.Clicked-eval> <![CDATA[
<![CDATA[ {
{ var i = 1;
self.itemsToBind.Clear(); while (i < self.itemsToBind.Count)
} {
]]> self.itemsToBind.RemoveAt(i);
</ev.Clicked-eval> i = i + 1;
</Button> }
</StackItem> }
</Stack> ]]>
</ev.Clicked-eval>
</Button>
</StackItem>
<StackItem>
<Button Alt="C" Text="Clear">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<ev.Clicked-eval>
<![CDATA[
{
self.itemsToBind.Clear();
}
]]>
</ev.Clicked-eval>
</Button>
</StackItem>
</Stack>
</GroupBox>
</Cell> </Cell>
<Cell Site="row:1 column:0 columnSpan:2"> <Cell Site="row:1 column:0 columnSpan:2">
@@ -835,27 +835,30 @@ namespace demo
::vl::presentation::controls::GuiScrollContainer* __vwsn_precompile_8 = static_cast<::vl::presentation::controls::GuiScrollContainer*>(nullptr); ::vl::presentation::controls::GuiScrollContainer* __vwsn_precompile_8 = static_cast<::vl::presentation::controls::GuiScrollContainer*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_9 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_9 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_10 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_10 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
::vl::presentation::compositions::GuiStackComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiStackComposition*>(nullptr); ::vl::presentation::controls::GuiControl* __vwsn_precompile_11 = static_cast<::vl::presentation::controls::GuiControl*>(nullptr);
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_12 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); ::vl::presentation::compositions::GuiStackComposition* __vwsn_precompile_12 = static_cast<::vl::presentation::compositions::GuiStackComposition*>(nullptr);
::vl::presentation::controls::GuiButton* __vwsn_precompile_13 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_13 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_14 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::controls::GuiButton* __vwsn_precompile_14 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_15 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_15 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::controls::GuiButton* __vwsn_precompile_16 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_17 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::controls::GuiButton* __vwsn_precompile_17 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_18 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_18 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::controls::GuiButton* __vwsn_precompile_19 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_19 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_20 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::controls::GuiButton* __vwsn_precompile_20 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_21 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_21 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::controls::GuiButton* __vwsn_precompile_22 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_22 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_23 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::controls::GuiButton* __vwsn_precompile_23 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_24 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_24 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_25 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_25 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_26 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); ::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_26 = static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr);
::vl::presentation::controls::GuiScroll* __vwsn_precompile_27 = static_cast<::vl::presentation::controls::GuiScroll*>(nullptr); ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_27 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_28 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_28 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_29 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_29 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
::vl::presentation::controls::GuiScroll* __vwsn_precompile_30 = static_cast<::vl::presentation::controls::GuiScroll*>(nullptr); ::vl::presentation::controls::GuiScroll* __vwsn_precompile_30 = static_cast<::vl::presentation::controls::GuiScroll*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_31 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_31 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_32 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
::vl::presentation::controls::GuiScroll* __vwsn_precompile_33 = static_cast<::vl::presentation::controls::GuiScroll*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_34 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
void __vwsn_initialize_instance_(::demo::RepeatTabPage* __vwsn_this_); void __vwsn_initialize_instance_(::demo::RepeatTabPage* __vwsn_this_);
public: public:
RepeatTabPageConstructor(); RepeatTabPageConstructor();
@@ -914,21 +917,24 @@ namespace demo
::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_7 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_7 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_8 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_8 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_9 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_9 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
::vl::presentation::compositions::GuiStackComposition* __vwsn_precompile_10 = static_cast<::vl::presentation::compositions::GuiStackComposition*>(nullptr); ::vl::presentation::controls::GuiControl* __vwsn_precompile_10 = static_cast<::vl::presentation::controls::GuiControl*>(nullptr);
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); ::vl::presentation::compositions::GuiStackComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiStackComposition*>(nullptr);
::vl::presentation::controls::GuiButton* __vwsn_precompile_12 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_12 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_13 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::controls::GuiButton* __vwsn_precompile_13 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_14 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_14 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::controls::GuiButton* __vwsn_precompile_15 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_15 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::controls::GuiButton* __vwsn_precompile_16 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_17 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_17 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::controls::GuiButton* __vwsn_precompile_18 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_18 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_19 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::controls::GuiButton* __vwsn_precompile_19 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_20 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_20 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::controls::GuiButton* __vwsn_precompile_21 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_21 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_22 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::controls::GuiButton* __vwsn_precompile_22 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_23 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_23 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_24 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_24 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_25 = static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr);
::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_26 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_27 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
void __vwsn_initialize_instance_(::demo::TextListTabPage* __vwsn_this_); void __vwsn_initialize_instance_(::demo::TextListTabPage* __vwsn_this_);
public: public:
TextListTabPageConstructor(); TextListTabPageConstructor();
@@ -602,6 +602,9 @@ namespace vl
CLASS_MEMBER_FIELD(__vwsn_precompile_3) CLASS_MEMBER_FIELD(__vwsn_precompile_3)
CLASS_MEMBER_FIELD(__vwsn_precompile_30) CLASS_MEMBER_FIELD(__vwsn_precompile_30)
CLASS_MEMBER_FIELD(__vwsn_precompile_31) 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_4) CLASS_MEMBER_FIELD(__vwsn_precompile_4)
CLASS_MEMBER_FIELD(__vwsn_precompile_5) CLASS_MEMBER_FIELD(__vwsn_precompile_5)
CLASS_MEMBER_FIELD(__vwsn_precompile_6) CLASS_MEMBER_FIELD(__vwsn_precompile_6)
@@ -694,6 +697,9 @@ namespace vl
CLASS_MEMBER_FIELD(__vwsn_precompile_22) CLASS_MEMBER_FIELD(__vwsn_precompile_22)
CLASS_MEMBER_FIELD(__vwsn_precompile_23) CLASS_MEMBER_FIELD(__vwsn_precompile_23)
CLASS_MEMBER_FIELD(__vwsn_precompile_24) CLASS_MEMBER_FIELD(__vwsn_precompile_24)
CLASS_MEMBER_FIELD(__vwsn_precompile_25)
CLASS_MEMBER_FIELD(__vwsn_precompile_26)
CLASS_MEMBER_FIELD(__vwsn_precompile_27)
CLASS_MEMBER_FIELD(__vwsn_precompile_3) CLASS_MEMBER_FIELD(__vwsn_precompile_3)
CLASS_MEMBER_FIELD(__vwsn_precompile_4) CLASS_MEMBER_FIELD(__vwsn_precompile_4)
CLASS_MEMBER_FIELD(__vwsn_precompile_5) CLASS_MEMBER_FIELD(__vwsn_precompile_5)
@@ -63,102 +63,106 @@
</Cell> </Cell>
<Cell Site="row:1 column:1"> <Cell Site="row:1 column:1">
<Stack Direction="Vertical" Padding="5" AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren"> <GroupBox Text="Operations">
<StackItem> <att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:-1"/>
<Button Alt="A" Text="Add 10 items"> <att.ContainerComposition-set InternalMargin="left:5 top:0 right:5 bottom:5"/>
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/> <Stack Direction="Vertical" Padding="5" AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
<ev.Clicked-eval> <StackItem>
<![CDATA[ <Button Alt="A" Text="Add 10 items">
{ <att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
for (i in range [0, 9]) <ev.Clicked-eval>
<![CDATA[
{ {
var textItem = new TextItem^(cast string (self.counter + i)); for (i in range [0, 9])
textList.Items.Add(textItem);
}
for (i in range [0, 9])
{
var textItem = new demo::MyTextItem^();
textItem.Name = cast string (self.counter + i);
self.itemsToBind.Add(textItem);
}
self.counter = self.counter + 10;
}
]]>
</ev.Clicked-eval>
</Button>
</StackItem>
<StackItem>
<Button Alt="O" Text="Remove odd items">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<ev.Clicked-eval>
<![CDATA[
{
{
var i = 0;
while (i < textList.Items.Count)
{ {
textList.Items.RemoveAt(i); var textItem = new TextItem^(cast string (self.counter + i));
i = i + 1; textList.Items.Add(textItem);
}
for (i in range [0, 9])
{
var textItem = new demo::MyTextItem^();
textItem.Name = cast string (self.counter + i);
self.itemsToBind.Add(textItem);
}
self.counter = self.counter + 10;
}
]]>
</ev.Clicked-eval>
</Button>
</StackItem>
<StackItem>
<Button Alt="O" Text="Remove odd items">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<ev.Clicked-eval>
<![CDATA[
{
{
var i = 0;
while (i < textList.Items.Count)
{
textList.Items.RemoveAt(i);
i = i + 1;
}
}
{
var i = 0;
while (i < self.itemsToBind.Count)
{
self.itemsToBind.RemoveAt(i);
i = i + 1;
}
} }
} }
]]>
</ev.Clicked-eval>
</Button>
</StackItem>
<StackItem>
<Button Alt="E" Text="Remove even items">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<ev.Clicked-eval>
<![CDATA[
{
{
var i = 1;
while (i < textList.Items.Count)
{
textList.Items.RemoveAt(i);
i = i + 1;
}
}
{
var i = 0;
while (i < self.itemsToBind.Count)
{ {
self.itemsToBind.RemoveAt(i); var i = 1;
i = i + 1; while (i < self.itemsToBind.Count)
{
self.itemsToBind.RemoveAt(i);
i = i + 1;
}
} }
} }
} ]]>
]]> </ev.Clicked-eval>
</ev.Clicked-eval> </Button>
</Button> </StackItem>
</StackItem> <StackItem>
<StackItem> <Button Alt="C" Text="Clear">
<Button Alt="E" Text="Remove even items"> <att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/> <ev.Clicked-eval>
<ev.Clicked-eval> <![CDATA[
<![CDATA[
{
{ {
var i = 1; textList.Items.Clear();
while (i < textList.Items.Count) self.itemsToBind.Clear();
{
textList.Items.RemoveAt(i);
i = i + 1;
}
} }
]]>
{ </ev.Clicked-eval>
var i = 1; </Button>
while (i < self.itemsToBind.Count) </StackItem>
{ </Stack>
self.itemsToBind.RemoveAt(i); </GroupBox>
i = i + 1;
}
}
}
]]>
</ev.Clicked-eval>
</Button>
</StackItem>
<StackItem>
<Button Alt="C" Text="Clear">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<ev.Clicked-eval>
<![CDATA[
{
textList.Items.Clear();
self.itemsToBind.Clear();
}
]]>
</ev.Clicked-eval>
</Button>
</StackItem>
</Stack>
</Cell> </Cell>
<Cell Site="row:1 column:2"> <Cell Site="row:1 column:2">
@@ -420,7 +420,7 @@
<![CDATA[ <![CDATA[
{ {
Contact.Update(textBoxName.Text, datePickerBirthday.Date, textBoxPhone.Text, textBoxAddress.Text); Contact.Update(textBoxName.Text, datePickerBirthday.Date, textBoxPhone.Text, textBoxAddress.Text);
self.Ready = false; self.Ready = true;
self.Close(); self.Close();
} }
]]> ]]>
@@ -404,6 +404,7 @@ Closures
void __vwsnf32_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const void __vwsnf32_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
{ {
::vl::__vwsn::This(__vwsnthis_0->Contact.Obj())->Update(::vl::__vwsn::This(__vwsnthis_0->textBoxName)->GetText(), ::vl::__vwsn::This(__vwsnthis_0->datePickerBirthday)->GetDate(), ::vl::__vwsn::This(__vwsnthis_0->textBoxPhone)->GetText(), ::vl::__vwsn::This(__vwsnthis_0->textBoxAddress)->GetText()); ::vl::__vwsn::This(__vwsnthis_0->Contact.Obj())->Update(::vl::__vwsn::This(__vwsnthis_0->textBoxName)->GetText(), ::vl::__vwsn::This(__vwsnthis_0->datePickerBirthday)->GetDate(), ::vl::__vwsn::This(__vwsnthis_0->textBoxPhone)->GetText(), ::vl::__vwsn::This(__vwsnthis_0->textBoxAddress)->GetText());
(::vl::__vwsn::This(__vwsnthis_0->self)->Ready = true);
::vl::__vwsn::This(__vwsnthis_0->self)->Close(); ::vl::__vwsn::This(__vwsnthis_0->self)->Close();
} }
@@ -256,7 +256,7 @@ namespace demo
bool GetForEdit(); bool GetForEdit();
void SetForEdit(bool __vwsn_value_); void SetForEdit(bool __vwsn_value_);
::vl::Event<void()> ForEditChanged; ::vl::Event<void()> ForEditChanged;
bool Ready = true; bool Ready = false;
::vl::Ptr<::demo::IContact> __vwsn_parameter_Contact = ::vl::Ptr<::demo::IContact>(); ::vl::Ptr<::demo::IContact> __vwsn_parameter_Contact = ::vl::Ptr<::demo::IContact>();
::vl::Ptr<::demo::IContact> GetContact(); ::vl::Ptr<::demo::IContact> GetContact();
NewContactWindow(::vl::Ptr<::demo::IContact> __vwsn_ctor_parameter_Contact); NewContactWindow(::vl::Ptr<::demo::IContact> __vwsn_ctor_parameter_Contact);
Binary file not shown.