aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Utilities/Tango.Stubs.UI/Examples/BasicRequestPolling.cs
blob: feba9cbe309b9118024c9b09b24a40bbf4c937ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Text;
using System.Linq;
using System.Drawing;
using System.Diagnostics;
using System.Windows.Forms;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Tango.PMR.Stubs;
using Tango.Stubs.UI;

public void OnExecute(StubManager stubManager)
{
    int sum = 0;
    int a = 0;

    while (sum < 100)
    {
        a = a + 1;
        var response = stubManager.Run<CalculateResponse>("CalculateRequest", 0, a);
        sum = response.Sum;
        stubManager.WriteLine(sum);
    }

    stubManager.WriteLine("Polling completed!");

}
edUI" xmlns:localConverters="clr-namespace:Tango.Touch.Converters" xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI" xmlns:local="clr-namespace:Tango.Touch.Controls"> <ResourceDictionary.MergedDictionaries> <!--<ResourceDictionary Source="../Resources/Colors.xaml" />--> <components:SharedResourceDictionary Source="../Resources/Colors.xaml" /> </ResourceDictionary.MergedDictionaries> <converters:StringNullOrEmptyToBooleanConverter x:Key="StringNullOrEmptyToBooleanConverter" /> <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" /> <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter" /> <converters:MathOperatorConverter x:Key="MathOperatorConverter" /> <localConverters:NumericTextBoxIntegerConverter x:Key="NumericTextBoxIntegerConverter" /> <localConverters:NumericTextBoxDoubleConverter x:Key="NumericTextBoxDoubleConverter" /> <Style TargetType="{x:Type local:TouchNumericTextBox}"> <Setter Property="Foreground" Value="{StaticResource TangoDarkForegroundBrush}"></Setter> <Setter Property="Focusable" Value="False"></Setter> <Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter> <Setter Property="KeyboardMode" Value="Integer"></Setter> <Setter Property="FocusSelectionMode" Value="SelectAll"></Setter> <Setter Property="local:LightTouchScrollViewer.PreventScroll" Value="True"></Setter> <Setter Property="keyboard:KeyboardView.Mode" Value="{Binding RelativeSource={RelativeSource Self},Path=KeyboardMode}"></Setter> <Setter Property="keyboard:KeyboardView.Action" Value="{Binding RelativeSource={RelativeSource Self},Path=KeyboardAction}"></Setter> <Setter Property="keyboard:KeyboardView.Container" Value="{Binding RelativeSource={RelativeSource Self},Path=KeyboardContainer}"></Setter> <Setter Property="Validation.ErrorTemplate" Value="{x:Null}"></Setter> <Setter Property="VerticalContentAlignment" Value="Bottom"></Setter> <Setter Property="MinHeight" Value="40"></Setter> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type local:TouchNumericTextBox}"> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" keyboard:KeyboardView.Container="{TemplateBinding KeyboardContainer}"> <DockPanel> <Canvas DockPanel.Dock="Bottom" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:TouchNumericTextBox},Path=(Validation.HasError),Converter={StaticResource BooleanToVisibilityConverter}}"> <TextBlock FontSize="12" Foreground="{StaticResource TangoValidationErrorBrush}" Margin="0 5 0 0" Text="{Binding RelativeSource={RelativeSource AncestorType=local:TouchNumericTextBox},Path=(Validation.Errors).CurrentItem.ErrorContent}"></TextBlock> </Canvas> <DockPanel> <Grid DockPanel.Dock="Bottom" Height="2"> <Rectangle Height="1" Fill="{StaticResource TangoTextWatermarkBrush}" /> <Rectangle Height="2" RenderTransformOrigin="0.5,0.5" > <Rectangle.Style> <Style TargetType="Rectangle"> <Setter Property="Fill" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter> <Setter Property="RenderTransform"> <Setter.Value> <ScaleTransform ScaleY="1" ScaleX="0" /> </Setter.Value> </Setter> <Style.Triggers> <DataTrigger Binding="{Binding ElementName=PART_TextBox,Path=IsFocused}" Value="True"> <DataTrigger.EnterActions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" To="1" Duration="00:00:0.4" /> </Storyboard> </BeginStoryboard> </DataTrigger.EnterActions> <DataTrigger.ExitActions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" To="0" Duration="00:00:0.4" /> </Storyboard> </BeginStoryboard> </DataTrigger.ExitActions> </DataTrigger> <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=local:TouchNumericTextBox},Path=(Validation.HasError)}" Value="True"> <Setter Property="Fill" Value="{StaticResource TangoValidationErrorBrush}"></Setter> <Setter Property="RenderTransform"> <Setter.Value> <ScaleTransform ScaleY="1" ScaleX="1" /> </Setter.Value> </Setter> </DataTrigger> </Style.Triggers> </Style> </Rectangle.Style> </Rectangle> </Grid> <Grid> <components:Ripple RippleBrush="{StaticResource TangoRippleDarkBrush}" RippleFactor="15"> <Grid> <TextBox FontSize="{TemplateBinding FontSize}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Foreground="{TemplateBinding Foreground}" Padding="0 0 0 4" CaretBrush="{StaticResource TangoPrimaryAccentBrush}" FocusVisualStyle="{x:Null}" x:Name="PART_TextBox" BorderThickness="0" Background="Transparent"> <TextBox.Style> <Style TargetType="TextBox"> <Setter Property="Opacity" Value="0"></Setter> <Style.Triggers> <Trigger Property="IsFocused" Value="True"> <Setter Property="Opacity" Value="1"></Setter> </Trigger> </Style.Triggers> </Style> </TextBox.Style> </TextBox> <TextBlock x:Name="PART_TextDisplay" FontSize="{TemplateBinding FontSize}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" IsHitTestVisible="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Foreground="{TemplateBinding Foreground}" Padding="0 0 0 4" FocusVisualStyle="{x:Null}" Visibility="{Binding ElementName=PART_TextBox,Path=IsFocused,Converter={StaticResource BooleanToVisibilityInverseConverter}}"></TextBlock> </Grid> </components:Ripple> <Canvas VerticalAlignment="Top" IsHitTestVisible="False" Margin="0 10 0 0" Visibility="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=DisplayWatermarkHint,Converter={StaticResource BooleanToVisibilityConverter}}"> <TextBlock FontWeight="Bold" FontSize="11" Foreground="{StaticResource TangoPrimaryAccentBrush}" Canvas.Top="{Binding RelativeSource={RelativeSource Self},Path=ActualHeight,Converter={StaticResource MathOperatorConverter},ConverterParameter='*-1'}" Text="{Binding RelativeSource={RelativeSource AncestorType=local:TouchNumericTextBox},Path=Watermark}"> <TextBlock.Style> <Style TargetType="TextBlock"> <Setter Property="Opacity" Value="0"></Setter> <Style.Triggers> <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=Canvas},Path=Visibility}" Value="Visible"> <DataTrigger.EnterActions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="Opacity" Duration="00:00:0.2" To="1" /> </Storyboard> </BeginStoryboard> </DataTrigger.EnterActions> <DataTrigger.ExitActions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="Opacity" Duration="00:00:0.2" To="0" /> </Storyboard> </BeginStoryboard> </DataTrigger.ExitActions> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock> </Canvas> </Grid> </DockPanel> </DockPanel> </Border> <ControlTemplate.Triggers> <Trigger Property="IsEnabled" Value="False"> <Setter Property="Foreground" Value="{StaticResource TangoGrayTextBrush}"></Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="HasDecimalPoint" Value="True"> <Setter Property="KeyboardMode" Value="Float"></Setter> </Trigger> </Style.Triggers> </Style> </ResourceDictionary>