aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/SideChains/RealTimeGraphX/EventArguments/InputChangedEventArgs.cs
blob: 8a75e67af3283e8e270a621e7d85e207a5d78197 (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
29
30
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RealTimeGraphX.EventArguments
{
    /// <summary>
    /// Represents an input <see cref="IGraphComponent"/> change event arguments.
    /// </summary>
    /// <typeparam name="TIn">The type of the input component.</typeparam>
    /// <seealso cref="System.EventArgs" />
    public class InputChangedEventArgs<TIn> : EventArgs where TIn : IGraphComponent
    {
        /// <summary>
        /// Gets or sets the input graph component.
        /// </summary>
        public TIn Input { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="InputChangedEventArgs{TIn}"/> class.
        /// </summary>
        /// <param name="input">The input.</param>
        public InputChangedEventArgs(TIn input)
        {
            Input = input;
        }
    }
}
xmlns:components="clr-namespace:Tango.Touch.Components" xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI" 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>