aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/SideChains/RealTimeGraphEx/ReachGraphs
ModeNameSize
-rw-r--r--RealTimeGraphExReachCircle.cs10719logstatsplain
-rw-r--r--RealTimeGraphExReachLineErase.cs7089logstatsplain
-rw-r--r--RealTimeGraphExReachLineScroll.cs8719logstatsplain
-rw-r--r--RealTimeGraphExReachMultiLineErase.cs6645logstatsplain
-rw-r--r--RealTimeGraphExReachMultiLineScroll.cs8026logstatsplain
-rw-r--r--RealTimeGraphExReachVUMeter.cs10367logstatsplain
-rw-r--r--RealTimeGraphExReachWaveScroll.cs1145logstatsplain
<UserControl x:Class="Tango.PPC.Jobs.Views.JobsView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:Tango.PPC.Jobs.Views"
             xmlns:dragAndDrop="clr-namespace:Tango.DragAndDrop;assembly=Tango.DragAndDrop"
			 xmlns:keyboard="clr-namespace:Tango.Touch.Keyboard;assembly=Tango.Touch"
             xmlns:converters="clr-namespace:Tango.PPC.Jobs.Converters"
             xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
             xmlns:touchComponents="clr-namespace:Tango.Touch.Components;assembly=Tango.Touch"
             xmlns:fa="http://schemas.fontawesome.io/icons/"
			 xmlns:entities="clr-namespace:Tango.BL.Entities;assembly=Tango.BL"
             xmlns:sys="clr-namespace:System;assembly=mscorlib"
             xmlns:sharedConverters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
             xmlns:enumerations="clr-namespace:Tango.BL.Enumerations;assembly=Tango.BL"
             xmlns:views="clr-namespace:Tango.PPC.Jobs.Views"
             xmlns:vm="clr-namespace:Tango.PPC.Jobs.ViewModels"
             xmlns:global="clr-namespace:Tango.PPC.Jobs"
             mc:Ignorable="d" 
             d:DesignHeight="1280" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:JobsViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.JobsViewVM}">

    <UserControl.Resources>
        <converters:JobToPieImageConverter x:Key="JobToPieImageConverter" />
        <sharedConverters:DateTimeUTCToShortDateConverter x:Key="DateTimeUTCToShortDateConverter" />
        <sharedConverters:EnumToDescriptionConverter x:Key="EnumToDescriptionConverter" />
        <sharedConverters:EnumToItemsSourceConverter x:Key="EnumToItemsSourceConverter" />
        <converters:JobCollectionToCategoryCountConverter x:Key="JobCollectionToCategoryCountConverter" />

    </UserControl.Resources>

    <Grid Background="{StaticResource TangoMidBackgroundBrush}">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="1*"/>
        </Grid.RowDefinitions>

        <Border Padding="20" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="0 0 0 1" BorderBrush="{StaticResource TangoDividerBrush}">
            <Border.Effect>
                <DropShadowEffect Color="Silver" ShadowDepth="0" BlurRadius="20" Opacity="1" />
            </Border.Effect>
            <TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoHeaderFontSize}" FontWeight="SemiBold">Jobs</TextBlock>
        </Border>

        <Grid Grid.Row="1">
            <Grid.RowDefinitions>
                <RowDefinition Height="100"/>
                <RowDefinition Height="1*"/>
            </Grid.RowDefinitions>

            <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0 -28 30 0">
                <StackPanel Orientation="Horizontal" Height="58" Visibility="{Binding ElementName=dataGridJobs,Path=IsMultiSelecting,Converter={StaticResource BooleanToVisibilityConverter}}">
                    <touch:TouchIconButton Command="{Binding ClearSelectionCommand}" Visibility="{Binding IsMultiSelecting,Converter={StaticResource BooleanToVisibilityConverter}}" Margin="0 0 30 0" Padding="20" Icon="Undo">
                        <touch:TouchIconButton.Style>
                            <Style TargetType="touch:TouchIconButton" BasedOn="{StaticResource TangoRoundTouchIconButton}">
                                <Setter Property="IconAngle" Value="0"></Setter>
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding IsMultiSelecting}" Value="True">
                                        <DataTrigger.EnterActions>
                                            <BeginStoryboard>
                                                <Storyboard>
                                                    <DoubleAnimation Storyboard.TargetProperty="IconAngle" To="360" Duration="00:00:0.2"></DoubleAnimation>
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </DataTrigger.EnterActions>
                                        <DataTrigger.ExitActions>
                                            <BeginStoryboard>
                                                <Storyboard>
                                                    <DoubleAnimation Storyboard.TargetProperty="IconAngle" To="0" Duration="00:00:00"></DoubleAnimation>
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </DataTrigger.ExitActions>
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </touch:TouchIconButton.Style>
                    </touch:TouchIconButton>
                    <touch:TouchIconButton Command="{Binding CloneJobsCommand}" Margin="0 0 30 0" Padding="20" Icon="Copy" Style="{StaticResource TangoRoundTouchIconButton}"></touch:TouchIconButton>
                    <touch:TouchIconButton Command="{Binding DeleteJobsCommand}" Padding="20" Icon="TrashOutline" Style="{StaticResource TangoRoundTouchIconButton}"></touch:TouchIconButton>
                </StackPanel>
                <touch:TouchIconButton Command="{Binding AddJobCommand}" Visibility="{Binding IsMultiSelecting,Converter={StaticResource BooleanToVisibilityInverseConverter}}" Margin="0 -15 0 0" Padding="20" Height="80" Icon="Plus">
                    <touch:TouchIconButton.Style>
                        <Style TargetType="touch:TouchIconButton" BasedOn="{StaticResource TangoRoundTouchIconButton}">
                            <Setter Property="IconAngle" Value="0"></Setter>
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding IsMultiSelecting}" Value="True">
                                    <DataTrigger.EnterActions>
                                        <BeginStoryboard>
                                            <Storyboard>
                                                <DoubleAnimation Storyboard.TargetProperty="IconAngle" To="360" Duration="00:00:00"></DoubleAnimation>
                                            </Storyboard>
                                        </BeginStoryboard>
                                    </DataTrigger.EnterActions>
                                    <DataTrigger.ExitActions>
                                        <BeginStoryboard>
                                            <Storyboard>
                                                <DoubleAnimation Storyboard.TargetProperty="IconAngle" To="0" Duration="00:00:0.2"></DoubleAnimation>
                                            </Storyboard>
                                        </BeginStoryboard>
                                    </DataTrigger.ExitActions>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </touch:TouchIconButton.Style>
                </touch:TouchIconButton>
            </StackPanel>

            <touch:TouchNavigationLinks SelectedValue="{Binding FilterCategory}" SelectedValuePath="Value" ItemsSource="{Binding Source={x:Type enumerations:JobCategories},Converter={StaticResource EnumToItemsSourceConverter},Mode=OneTime}" IsEnabled="{Binding IsMultiSelecting,Converter={StaticResource BooleanInverseConverter}}" VerticalAlignment="Bottom" Margin="20" FontSize="{StaticResource TangoNavigationLinksFontSize}">
                <touch:TouchNavigationLinks.ItemTemplate>
                    <DataTemplate>
                        <TextBlock>
                            <Run Text="{Binding DisplayName,Mode=OneWay}"></Run>
                            <Run>(</Run><Run>
                                <Run.Text>
                                    <MultiBinding Converter="{StaticResource JobCollectionToCategoryCountConverter}">
                                        <Binding RelativeSource="{RelativeSource AncestorType=UserControl}" Path="DataContext.Jobs" />
                                        <Binding Path="Value" Mode="OneWay"></Binding>
                                    </MultiBinding>
                                </Run.Text>
                            </Run><Run>)</Run>
                        </TextBlock>
                    </DataTemplate>
                </touch:TouchNavigationLinks.ItemTemplate>
            </touch:TouchNavigationLinks>

            <Grid Grid.Row="1" x:Name="moveGrid">
                <touch:TouchLoadingPanel IsLoading="{Binding IsLoadingJobs}">
                    <touch:LightTouchDataGrid x:Name="dataGridJobs" SelectedItems="{Binding SelectedJobs}" IsMultiSelecting="{Binding IsMultiSelecting,Mode=TwoWay}" OnDragAndDropCommand="{Binding JobDragedDroppedCommand}" ItemsSource="{Binding JobsCollectionView}" ItemSelectedCommand="{Binding JobSelectedCommand}" Margin="10">
                        <touch:LightTouchDataGrid.Columns>
                            <touch:LightTouchDataGridColumn Width="50">
                                <touch:LightTouchDataGridColumn.Header>
                                    <Image Source="../Images/warning.png" Width="24" />
                                </touch:LightTouchDataGridColumn.Header>
                                <touch:LightTouchDataGridColumn.CellTemplate>
                                    <DataTemplate>
                                        <Image Source="../Images/Job Issues/cyan.png" Width="38" />
                                    </DataTemplate>
                                </touch:LightTouchDataGridColumn.CellTemplate>
                            </touch:LightTouchDataGridColumn>
                            <touch:LightTouchDataGridColumn Width="100" Header="Status" SortMember="JobStatus">
                                <touch:LightTouchDataGridColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock IsHitTestVisible="False" Text="{Binding JobStatus,Converter={StaticResource EnumToDescriptionConverter}}"></TextBlock>
                                    </DataTemplate>
                                </touch:LightTouchDataGridColumn.CellTemplate>
                            </touch:LightTouchDataGridColumn>
                            <touch:LightTouchDataGridColumn Width="1*" Header="Name" SortMember="Name" HorizontalContentAlignment="Left">
                                <touch:LightTouchDataGridColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock IsHitTestVisible="False" Text="{Binding Name}"></TextBlock>
                                    </DataTemplate>
                                </touch:LightTouchDataGridColumn.CellTemplate>
                            </touch:LightTouchDataGridColumn>
                            <touch:LightTouchDataGridColumn Width="117" Header="Length (m)" SortMember="Length">
                                <touch:LightTouchDataGridColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock IsHitTestVisible="False" Text="{Binding Length,StringFormat=0.0}"></TextBlock>
                                    </DataTemplate>
                                </touch:LightTouchDataGridColumn.CellTemplate>
                            </touch:LightTouchDataGridColumn>
                            <touch:LightTouchDataGridColumn Header="Colors" SortMember="Segments.Count" Width="85">
                                <touch:LightTouchDataGridColumn.CellTemplate>
                                    <DataTemplate>
                                        <Image Stretch="Fill" IsHitTestVisible="False" Source="{Binding Converter={StaticResource JobToPieImageConverter},ConverterParameter='25,25'}" Width="25" Height="25" HorizontalAlignment="Left"></Image>
                                    </DataTemplate>
                                </touch:LightTouchDataGridColumn.CellTemplate>
                            </touch:LightTouchDataGridColumn>
                            <touch:LightTouchDataGridColumn Width="100" Header="Updated" SortMember="LastUpdated">
                                <touch:LightTouchDataGridColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock IsHitTestVisible="False" Text="{Binding LastUpdated,Converter={StaticResource DateTimeUTCToShortDateConverter}}"></TextBlock>
                                    </DataTemplate>
                                </touch:LightTouchDataGridColumn.CellTemplate>
                            </touch:LightTouchDataGridColumn>
                            <touch:LightTouchDataGridColumn SortMember="JobIndex" SortDirection="{x:Null}" Width="78" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" DisplayChevron="False" ForcedSortDirection="Ascending">
                                <touch:LightTouchDataGridColumn.HeaderTemplate>
                                    <DataTemplate>
                                        <Border CornerRadius="0 5 5 0">
                                            <Border.Style>
                                                <Style TargetType="Border">
                                                    <Setter Property="Background" Value="{StaticResource TangoMidAccentBrush}"></Setter>
                                                    <Style.Triggers>
                                                        <DataTrigger Binding="{Binding SortDirection}" Value="Ascending">
                                                            <Setter Property="Background" Value="{StaticResource TangoLowAccentBrush}"></Setter>
                                                        </DataTrigger>
                                                    </Style.Triggers>
                                                </Style>
                                            </Border.Style>
                                            <Grid>
                                                <Rectangle HorizontalAlignment="Left" StrokeThickness="2" Stroke="{StaticResource TangoColumnDividerBrush}" />
                                                <Image Source="/Images/arrows.png" Width="28" />
                                            </Grid>
                                        </Border>
                                    </DataTemplate>
                                </touch:LightTouchDataGridColumn.HeaderTemplate>
                                <touch:LightTouchDataGridColumn.CellTemplate>
                                    <DataTemplate>
                                        <dragAndDrop:DragThumb IsEnabled="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.IsMultiSelecting,Converter={StaticResource BooleanInverseConverter}}" Background="Transparent" touchComponents:Ripple.PreventRipple="True" touchComponents:TransformationHelper.PreventTransform="True">
                                            <dragAndDrop:DragThumb.Style>
                                                <Style TargetType="dragAndDrop:DragThumb">
                                                    <Setter Property="Visibility" Value="Collapsed"></Setter>
                                                    <Style.Triggers>
                                                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=touch:LightTouchDataGridCell},Path=Column.SortDirection}" Value="Ascending">
                                                            <Setter Property="Visibility" Value="Visible"></Setter>
                                                        </DataTrigger>
                                                    </Style.Triggers>
                                                </Style>
                                            </dragAndDrop:DragThumb.Style>
                                            <StackPanel Width="30" IsHitTestVisible="False" VerticalAlignment="Center">
                                                <Rectangle StrokeThickness="2" Stroke="{StaticResource TangoDarkForegroundBrush}" />
                                                <Rectangle StrokeThickness="2" Stroke="{StaticResource TangoDarkForegroundBrush}" Margin="0 5 0 0" />
                                            </StackPanel>
                                        </dragAndDrop:DragThumb>
                                    </DataTemplate>
                                </touch:LightTouchDataGridColumn.CellTemplate>
                            </touch:LightTouchDataGridColumn>
                        </touch:LightTouchDataGrid.Columns>
                    </touch:LightTouchDataGrid>
                </touch:TouchLoadingPanel>
            </Grid>
        </Grid>
    </Grid>
</UserControl>