<UserControl x:Class="Tango.PPC.Technician.Views.LoggingView"
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.Technician.Views"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:vm="clr-namespace:Tango.PPC.Technician.ViewModels"
xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
xmlns:converters="clr-namespace:Tango.PPC.Technician.Converters"
xmlns:global="clr-namespace:Tango.PPC.Technician"
mc:Ignorable="d"
d:DesignHeight="1280" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:LoggingViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.LoggingViewVM}">
<UserControl.Resources>
<converters:LogItemMessageToOneLineConverter x:Key="LogItemMessageToOneLineConverter" />
</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">Logging</TextBlock>
</Border>
<Grid Grid.Row="1">
<DockPanel>
<DockPanel DockPanel.Dock="Top">
<StackPanel Orientation="Horizontal">
<touch:TouchNavigationLinks x:Name="nav" Margin="20" FontSize="{StaticResource TangoNavigationLinksFontSize}">
<sys:String>Application</sys:String>
<sys:String>Embedded</sys:String>
</touch:TouchNavigationLinks>
<StackPanel Orientation="Horizontal" Margin="20 3 0 0">
<touch:TouchToggleIconButton Icon="Pause" Width="32" Height="32" Padding="7" CheckedIcon="Play" IsChecked="{Binding IsPaused}"></touch:TouchToggleIconButton>
<touch:TouchIconButton Margin="10 0 0 0" Icon="TrashAltRegular" Foreground="{StaticResource TangoDarkForegroundBrush}" Width="32" Height="32" Padding="7" Command="{Binding ClearCommand}"></touch:TouchIconButton>
<StackPanel Orientation="Horizontal" Margin="20 0 0 0">
<touch:TouchIcon Icon="Magnify" Foreground="{StaticResource TangoGrayBrush}" Width="16" Height="16" />
<touch:TouchTextBox Width="200" VerticalAlignment="Center" Margin="5 -10 0 0" Text="{Binding Filter,Delay=1000}"></touch:TouchTextBox>
</StackPanel>
<touch:TouchCheckBox IsChecked="{Binding ProcessDebugLogs}" Margin="20 0 0 0" Content="Debug Logs">
<touch:TouchCheckBox.Style>
<Style TargetType="touch:TouchCheckBox" BasedOn="{StaticResource {x:Type touch:TouchCheckBox}}">
<Setter Property="Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=nav,Path=SelectedIndex}" Value="0">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</touch:TouchCheckBox.Style>
</touch:TouchCheckBox>
</StackPanel>
</StackPanel>
<touch:TouchDatePicker Visibility="Collapsed" SelectedDate="12/15/2018" Height="40" />
</DockPanel>
<Grid Margin="20">
<TabControl Padding="0" BorderThickness="0" Margin="0 10 0 0" Background="Transparent" SelectedIndex="{Binding ElementName=nav,Path=SelectedIndex,Mode=OneWay}">
<TabItem Header="Application" Visibility="Collapsed">
<touch:TouchSimpleDataGrid x:Name="gridApplication" Style="{StaticResource TechGrid}" ItemsSource="{Binding ApplicationLogsViewSource}" SelectedItem="{Binding SelectedLog}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="" Width="50">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<touch:TouchIcon Width="16">
<touch:TouchIcon.Style>
<Style TargetType="touch:TouchIcon">
<Setter Property="Icon" Value="InformationOutline"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding Category}" Value="Warning">
<Setter Property="Icon" Value="ExclamationTriangleSolid"></Setter>
<Setter Property="Foreground" Value="{StaticResource TangoWarningBrush}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Category}" Value="Error">
<Setter Property="Icon" Value="Alert"></Setter>
<Setter Property="Foreground" Value="{StaticResource TangoErrorBrush}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Category}" Value="Critical">
<Setter Property="Icon" Value="Alert"></Setter>
<Setter Property="Foreground" Value="{StaticResource TangoErrorBrush}"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</touch:TouchIcon.Style>
</touch:TouchIcon>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Time" Width="120" Binding="{Binding TimeStamp,Converter={StaticResource DateTimeUTCToStringConverter},Mode=OneWay,ConverterParameter='hh\\:mm\\:ss.ff'}" />
<DataGridTemplateColumn Header="Message" Width="1*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Message,Converter={StaticResource LogItemMessageToOneLineConverter},ConverterParameter='70',Mode=OneWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</touch:TouchSimpleDataGrid>
</TabItem>
<TabItem Header="Embedded" Visibility="Collapsed">
<touch:TouchSimpleDataGrid x:Name="gridEmbedded" Style="{StaticResource TechGrid}" ItemsSource="{Binding EmbeddedLogsViewSource}" SelectedItem="{Binding SelectedLog}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="" Width="50">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<touch:TouchIcon Width="16">
<touch:TouchIcon.Style>
<Style TargetType="touch:TouchIcon">
<Setter Property="Icon" Value="InformationOutline"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding Category}" Value="Warning">
<Setter Property="Icon" Value="ExclamationTriangleSolid"></Setter>
<Setter Property="Foreground" Value="{StaticResource TangoWarningBrush}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Category}" Value="Error">
<Setter Property="Icon" Value="Alert"></Setter>
<Setter Property="Foreground" Value="{StaticResource TangoErrorBrush}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Category}" Value="Critical">
<Setter Property="Icon" Value="Alert"></Setter>
<Setter Property="Foreground" Value="{StaticResource TangoErrorBrush}"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</touch:TouchIcon.Style>
</touch:TouchIcon>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Time" Width="120" Binding="{Binding TimeStamp,Converter={StaticResource DateTimeUTCToStringConverter},Mode=OneWay,ConverterParameter='hh\\:mm\\:ss.ff'}" />
<DataGridTemplateColumn Header="Message" Width="1*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Message,Converter={StaticResource LogItemMessageToOneLineConverter},ConverterParameter='70',Mode=OneWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</touch:TouchSimpleDataGrid>
</TabItem>
</TabControl>
</Grid>
</DockPanel>
</Grid>
</Grid>
</UserControl>