aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Utilities/Tango.LogViewer.UI/MainWindow.xaml
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Utilities/Tango.LogViewer.UI/MainWindow.xaml')
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LogViewer.UI/MainWindow.xaml326
1 files changed, 0 insertions, 326 deletions
diff --git a/Software/Visual_Studio/Utilities/Tango.LogViewer.UI/MainWindow.xaml b/Software/Visual_Studio/Utilities/Tango.LogViewer.UI/MainWindow.xaml
deleted file mode 100644
index a4fc6a628..000000000
--- a/Software/Visual_Studio/Utilities/Tango.LogViewer.UI/MainWindow.xaml
+++ /dev/null
@@ -1,326 +0,0 @@
-<mahapps:MetroWindow x:Class="Tango.LogViewer.UI.MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:System="clr-namespace:System;assembly=mscorlib"
- xmlns:local="clr-namespace:Tango.LogViewer.UI"
- xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
- xmlns:fa="http://schemas.fontawesome.io/icons/"
- xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
- mc:Ignorable="d"
- Title="Tango Log Viewer" WindowState="Maximized" ShowTitleBar="True" ShowCloseButton="True" DataContext="{StaticResource MainViewVM}" AllowDrop="True" Drop="FileWindow_Drop" Foreground="Gainsboro">
- <Window.Resources>
- <converters:EnumToDescriptionConverter x:Key="EnumToDescriptionConverter"></converters:EnumToDescriptionConverter>
- <converters:BooleanToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
- <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter"/>
- <converters:BooleanInverseConverter x:Key="BooleanInverseConverter" />
-
- <SolidColorBrush x:Key="GrayBrush5" Color="#464646"/>
- <SolidColorBrush x:Key="BorderGrayBrush" Color="#464646"/>
- <SolidColorBrush x:Key="SelectedItemBrush" Color="#007ACC"/>
-
- <Style x:Key="LogDataGridCellStyle" TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
- <Setter Property="BorderThickness" Value="0"/>
- <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
- <Setter Property="VerticalContentAlignment" Value="Center"/>
- <Setter Property="VerticalAlignment" Value="Center"/>
- <Setter Property="TextBlock.VerticalAlignment" Value="Center" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type DataGridCell}">
- <Grid Background="{TemplateBinding Background}">
- <ContentPresenter VerticalAlignment="Bottom" />
- </Grid>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Style.Triggers>
- <Trigger Property="IsSelected" Value="True">
- <Setter Property="Background" Value="Transparent"></Setter>
- <Setter Property="Foreground" Value="{StaticResource SelectedItemBrush}" />
- </Trigger>
- <MultiTrigger>
- <MultiTrigger.Conditions>
- <Condition Property="IsFocused" Value="False" />
- <Condition Property="DataGridCell.IsSelected" Value="True" />
- </MultiTrigger.Conditions>
- <MultiTrigger.Setters>
- <Setter Property="Foreground" Value="{StaticResource SelectedItemBrush}" />
- </MultiTrigger.Setters>
- </MultiTrigger>
- </Style.Triggers>
- </Style>
-
- <Style x:Key="LogDataGridRowStyle" TargetType="DataGridRow" BasedOn="{StaticResource {x:Type DataGridRow}}">
- <Setter Property="VerticalContentAlignment" Value="Center"/>
- <Style.Triggers>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter Property="Background" Value="Transparent"></Setter>
- <Setter Property="Foreground" Value="{StaticResource SelectedItemBrush}" />
- <Setter Property="Cursor" Value="Hand"></Setter>
- </Trigger>
- <Trigger Property="IsSelected" Value="True">
- <Setter Property="Background" Value="Transparent"></Setter>
- <Setter Property="Foreground" Value="{StaticResource SelectedItemBrush}" />
- </Trigger>
- <Trigger Property="IsFocused" Value="True">
- <Setter Property="Background" Value="Transparent"></Setter>
- </Trigger>
- <DataTrigger Binding="{Binding CallerMethodName}" Value="OnStartup">
- <Setter Property="Background" Value="#3F3F49"></Setter>
- <Setter Property="Foreground" Value="Gainsboro" />
- <Setter Property="FontWeight" Value="SemiBold"></Setter>
- <Setter Property="Cursor" Value="Arrow"></Setter>
- </DataTrigger>
- <DataTrigger Binding="{Binding LogObject}" Value="External Bridge">
- <Setter Property="Foreground" Value="#28A805" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
-
- <Style x:Key="EmLogDataGridRowStyle" TargetType="DataGridRow" BasedOn="{StaticResource {x:Type DataGridRow}}">
- <Setter Property="VerticalContentAlignment" Value="Center"/>
- <Style.Triggers>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter Property="Background" Value="Transparent"></Setter>
- <Setter Property="Foreground" Value="{StaticResource SelectedItemBrush}" />
- <Setter Property="Cursor" Value="Hand"></Setter>
- </Trigger>
- <Trigger Property="DataGridCell.IsSelected" Value="True">
- <Setter Property="Background" Value="Transparent"></Setter>
- <Setter Property="Foreground" Value="{StaticResource SelectedItemBrush}" />
- </Trigger>
- <Trigger Property="IsFocused" Value="True">
- <Setter Property="Background" Value="Transparent"></Setter>
- </Trigger>
-
- <DataTrigger Binding="{Binding LogObject}" Value="External Bridge">
- <Setter Property="Foreground" Value="#28A805" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
-
- <DataTemplate x:Key="LogIconStyle">
- <fa:ImageAwesome Height="16" Width="14" Margin="0 0 0 0" VerticalAlignment="Top">
- <fa:ImageAwesome.Style>
- <Style TargetType="fa:ImageAwesome">
- <Setter Property="Icon" Value="ExclamationTriangle"></Setter>
- <Style.Triggers>
- <DataTrigger Binding="{Binding Category}" Value="Info">
- <Setter Property="Icon" Value="InfoCircle"></Setter>
- <Setter Property="Foreground" Value="Gainsboro"></Setter>
- </DataTrigger>
- <DataTrigger Binding="{Binding Category}" Value="Warning">
- <Setter Property="Icon" Value="ExclamationTriangle"></Setter>
- <Setter Property="Foreground" Value="DarkOrange"></Setter>
- </DataTrigger>
- <DataTrigger Binding="{Binding Category}" Value="Error">
- <Setter Property="Icon" Value="ExclamationTriangle"></Setter>
- <Setter Property="Foreground" Value="Red"></Setter>
- </DataTrigger>
- <DataTrigger Binding="{Binding Category}" Value="Critical">
- <Setter Property="Icon" Value="Bell"></Setter>
- <Setter Property="Foreground" Value="Red"></Setter>
- </DataTrigger>
- <DataTrigger Binding="{Binding Category}" Value="Debug">
- <Setter Property="Icon" Value="Bug"></Setter>
- <Setter Property="Foreground" Value="Gray"></Setter>
- </DataTrigger>
- <DataTrigger Binding="{Binding CallerMethodName}" Value="OnStartup">
- <Setter Property="Icon" Value="ClockOutline"></Setter>
- <Setter Property="Foreground" Value="{StaticResource SelectedItemBrush}"></Setter>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </fa:ImageAwesome.Style>
- </fa:ImageAwesome>
- </DataTemplate>
-
- <Style x:Key="DataGridTextColumnElementStyle" TargetType="{x:Type TextBlock}">
- <Setter Property="Margin" Value="5" />
- <Setter Property="Padding" Value="5" />
- </Style>
-
- </Window.Resources>
- <Grid IsEnabled="{Binding Loading,Converter={StaticResource BooleanInverseConverter}}">
- <Grid.RowDefinitions>
- <RowDefinition Height="28" />
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="1*"/>
- <RowDefinition Height="28"/>
- <RowDefinition Height="5"/>
- </Grid.RowDefinitions>
-
- <Menu Grid.Row="0" HorizontalAlignment="Stretch" VerticalAlignment="Center" Margin="10,0,0,0" BorderBrush="Transparent" Background="Transparent">
- <MenuItem Header="File" Background="Transparent">
- <MenuItem Header="Open" Command="{Binding OpeFileLogCommand}"/>
- <MenuItem Header="Exit" Click="Exit_MenuItem_Click" />
- </MenuItem>
-
- </Menu>
-
- <Grid Grid.Row="1" Margin="0 20 0 20">
- <DockPanel>
- <StackPanel Orientation="Vertical" HorizontalAlignment="Left" Margin="10 0 0 0">
- <TextBlock FontSize="10">Start Time:</TextBlock>
- <Border BorderThickness="1" BorderBrush="{StaticResource BorderGrayBrush}" VerticalAlignment="Center" CornerRadius="5" >
- <mahapps:TimePicker x:Name="startTimePicker" SelectedTime="{Binding StartSelectedTime}" Width="160" VerticalAlignment="Center" FontSize="16" IsClockVisible="False" Culture="{Binding Culture}" BorderBrush="{StaticResource BorderGrayBrush}" BorderThickness="0" Margin="1" Foreground="Gainsboro" />
- </Border>
- </StackPanel>
- <StackPanel Orientation="Vertical" HorizontalAlignment="Left" Margin="20 0 0 0">
- <TextBlock FontSize="10">End Time:</TextBlock>
- <Border BorderThickness="1" BorderBrush="{StaticResource BorderGrayBrush}" VerticalAlignment="Center" CornerRadius="5" >
- <mahapps:TimePicker x:Name="enddatePicker" SelectedTime="{Binding EndSelectedTime}" Width="160" VerticalAlignment="Center" FontSize="16" IsClockVisible="False" Culture="{Binding Culture}" PickerVisibility="HourMinute" BorderBrush="{StaticResource BorderGrayBrush}" BorderThickness="0" Margin="1" Foreground="Gainsboro"/>
- </Border>
- </StackPanel>
- <Border BorderThickness="1" BorderBrush="{StaticResource BorderGrayBrush}" VerticalAlignment="Center" Padding="10 7" CornerRadius="5" Margin="30 10 0 0">
- <StackPanel>
- <ItemsControl VerticalAlignment="Center" ItemsSource="{Binding SelectedLogCategories}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <StackPanel Orientation="Horizontal" />
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal" Margin="10 0 0 0">
- <CheckBox IsChecked="{Binding IsSelected}" VerticalAlignment="Center" BorderBrush="{StaticResource BorderGrayBrush}"></CheckBox>
- <TextBlock Text="{Binding Data}" Margin="5 0 0 0" VerticalAlignment="Center"></TextBlock>
- </StackPanel>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- </StackPanel>
- </Border>
- <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="20 10 30 0">
- <fa:ImageAwesome Icon="Search" Width="24" Height="24" Foreground="#7A7A7A"/>
- <TextBox VerticalAlignment="Center" Margin="10 0 0 0" Width="300" Text="{Binding Filter,UpdateSourceTrigger=PropertyChanged, Delay=1000}" />
- </StackPanel>
-
- </DockPanel>
- </Grid>
- <Grid Grid.Row="2" >
- <Grid Margin="10">
- <Grid.RowDefinitions>
- <RowDefinition Height="28"/>
- <RowDefinition Height="1*"/>
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="2.5*"/>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="1*"/>
- </Grid.ColumnDefinitions>
- <TextBlock FontSize="14" Grid.Row="0" FontFamily="Segoe UI">Log</TextBlock>
- <StackPanel Orientation="Horizontal" Margin="0" Grid.Row="0" Grid.Column="2">
- <TextBlock FontSize="14" Margin="10 0 0 0" FontFamily="Segoe UI">Message</TextBlock>
- <CheckBox x:Name="WrapMessgeTextCheckBox" VerticalAlignment="Center" BorderBrush="{StaticResource BorderGrayBrush}" Margin="30 -5 0 0"></CheckBox>
- <TextBlock Text="Wrap message text" Margin="5 -5 0 0" VerticalAlignment="Center"></TextBlock>
- </StackPanel>
-
- <Border Visibility="{Binding IsEmbeddedLog, Converter={StaticResource BooleanToVisibilityInverseConverter}}" Grid.Column="0" Grid.Row="1" BorderThickness="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" BorderBrush="{StaticResource BorderGrayBrush}" Margin="0 0 10 0">
- <DataGrid x:Name="ActionGrid" HorizontalScrollBarVisibility="Disabled" Background="Transparent" RenderOptions.EdgeMode="Aliased" RenderOptions.BitmapScalingMode="LowQuality" MaxWidth="{Binding RelativeSource={RelativeSource AncestorType=Grid},Path=ActualWidth}" AutoGenerateColumns="False" SelectionMode="Single" ItemsSource="{Binding LogsViewSource}" SelectedItem="{Binding SelectedLog}" RowHeight="40" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="True" IsReadOnly="True"
- CellStyle="{StaticResource LogDataGridCellStyle}" RowStyle="{StaticResource LogDataGridRowStyle}" Foreground="Gainsboro">
- <DataGrid.Resources>
- <Style BasedOn="{StaticResource MetroDataGridColumnHeader}" TargetType="{x:Type DataGridColumnHeader}">
- <Setter Property="Foreground" Value="Gainsboro" />
- </Style>
- </DataGrid.Resources>
- <DataGrid.Columns>
- <DataGridTemplateColumn Header="" CellTemplate="{StaticResource LogIconStyle}"/>
- <DataGridTextColumn Header="DATE TIME" Binding="{Binding TimeStamp,StringFormat=' HH:mm:ss.ff '}" Foreground="Gainsboro"/>
- <DataGridTextColumn Header="FILE" Binding="{Binding RelativeCallerFile}" ElementStyle="{StaticResource DataGridTextColumnElementStyle}"/>
- <DataGridTextColumn Header="METHOD" Binding="{Binding CallerMethodName}" ElementStyle="{StaticResource DataGridTextColumnElementStyle}"/>
- <DataGridTextColumn Header="LINE" Binding="{Binding CallerLineNumber}" />
- <DataGridTemplateColumn Header="MESSAGE" Width="1*" >
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <Grid VerticalAlignment="Center" Margin="0 5 0 5">
- <Border Height="Auto" BorderThickness="0" >
- <TextBlock Text="{Binding Message}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" ></TextBlock>
- </Border>
- </Grid>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- </DataGrid.Columns>
- </DataGrid>
- </Border>
- <StackPanel Orientation="Vertical" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding Loading,Converter={StaticResource BoolToVisibilityConverter}}">
- <mahapps:ProgressRing Foreground="LightGray" Width="80" Height="80"></mahapps:ProgressRing>
- <TextBlock Text="Loading..." FontStyle="Italic" Margin="0 40 0 0" FontSize="18" VerticalAlignment="Center"></TextBlock>
- </StackPanel>
- <Border Visibility="{Binding IsEmbeddedLog, Converter={StaticResource BoolToVisibilityConverter}}" Grid.Column="0" Grid.Row="1" BorderThickness="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" BorderBrush="{StaticResource BorderGrayBrush}" Margin="0 0 10 0">
- <DataGrid x:Name="embededGrid" HorizontalScrollBarVisibility="Disabled" Background="Transparent" RenderOptions.EdgeMode="Aliased" RenderOptions.BitmapScalingMode="LowQuality" MaxWidth="{Binding RelativeSource={RelativeSource AncestorType=Grid},Path=ActualWidth}" AutoGenerateColumns="False" SelectionMode="Single" ItemsSource="{Binding LogsViewSource}" SelectedItem="{Binding SelectedLog}" RowHeight="40" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="True" IsReadOnly="True"
- CellStyle="{StaticResource LogDataGridCellStyle}" RowStyle="{StaticResource EmLogDataGridRowStyle}" Foreground="Gainsboro">
- <DataGrid.Resources>
- <Style BasedOn="{StaticResource MetroDataGridColumnHeader}" TargetType="{x:Type DataGridColumnHeader}">
- <Setter Property="Foreground" Value="Gainsboro" />
- </Style>
- </DataGrid.Resources>
- <DataGrid.Columns>
- <DataGridTemplateColumn Header="ICON" CellTemplate="{StaticResource LogIconStyle}"/>
- <DataGridTextColumn Header="DATE TIME" Binding="{Binding TimeStamp,StringFormat=' HH:mm:ss.ff '}" Foreground="Gainsboro"/>
- <DataGridTextColumn Header="FILE" Binding="{Binding DebugLogResponse.FileName}" ElementStyle="{StaticResource DataGridTextColumnElementStyle}"/>
- <DataGridTextColumn Header="LINE" Binding="{Binding DebugLogResponse.LineNumber}" ElementStyle="{StaticResource DataGridTextColumnElementStyle}"/>
- <DataGridTextColumn Header="MODULE" Binding="{Binding DebugLogResponse.ModuleId}" ElementStyle="{StaticResource DataGridTextColumnElementStyle}"/>
- <DataGridTextColumn Header="FILTER" Binding="{Binding DebugLogResponse.Filter}" />
- <DataGridTemplateColumn Header="MESSAGE" Width="1*" >
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <Grid VerticalAlignment="Center" Margin="0 5 0 5">
- <Border Height="Auto" BorderThickness="0" >
- <TextBlock Text="{Binding MessagePlusRepeated}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" ></TextBlock>
- </Border>
- </Grid>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- </DataGrid.Columns>
- </DataGrid>
- </Border>
- <Border Margin="10 0 0 0" Grid.Column="2" Grid.Row="1" BorderThickness="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" BorderBrush="{StaticResource BorderGrayBrush}">
- <TextBox BorderThickness="0" Text="{Binding Message}" IsReadOnly="True" AcceptsReturn="False" VerticalScrollBarVisibility="Auto" Foreground="Gainsboro">
- <TextBox.Style>
- <Style TargetType="TextBox" BasedOn="{StaticResource MetroTextBox}">
- <Setter Property="TextWrapping" Value="NoWrap"></Setter>
- <Setter Property="HorizontalScrollBarVisibility" Value="Auto"></Setter>
- <Style.Triggers>
- <DataTrigger Binding="{Binding ElementName=WrapMessgeTextCheckBox, Path=IsChecked}" Value="True">
- <Setter Property="TextWrapping" Value="Wrap"></Setter>
- <Setter Property="HorizontalScrollBarVisibility" Value="Hidden"></Setter>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </TextBox.Style>
- </TextBox>
- </Border>
- <GridSplitter Grid.Column="1" Grid.Row="1" ResizeDirection="Columns" ResizeBehavior="PreviousAndNext" HorizontalAlignment="Center" VerticalAlignment="Stretch" Width="4" Background="{StaticResource BorderGrayBrush}"/>
- </Grid>
- </Grid>
- <StatusBar Grid.Row="3" Grid.ColumnSpan="2" Background="Transparent">
- <StatusBar.ItemsPanel>
- <ItemsPanelTemplate>
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="10" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- </Grid>
- </ItemsPanelTemplate>
- </StatusBar.ItemsPanel>
- <StatusBarItem Grid.Column="1">
- <TextBlock Text="{Binding FileName}"></TextBlock>
- </StatusBarItem>
- <Separator Grid.Column="2" Visibility="{Binding IsSet, Converter={StaticResource BoolToVisibilityConverter}}"/>
- <StatusBarItem Grid.Column="3" Visibility="{Binding IsSet, Converter={StaticResource BoolToVisibilityConverter}}">
- <TextBlock>
- <Run Text="Set: "></Run>
- <Run Text="{Binding CountOfSet}"></Run>
- </TextBlock>
- </StatusBarItem>
- </StatusBar>
- </Grid>
-</mahapps:MetroWindow>