diff options
Diffstat (limited to 'Software/Visual_Studio/Utilities/Tango.LogViewer.UI/MainWindow.xaml')
| -rw-r--r-- | Software/Visual_Studio/Utilities/Tango.LogViewer.UI/MainWindow.xaml | 326 |
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> |
