685 lines
40 KiB
Plaintext
685 lines
40 KiB
Plaintext
|
<Window
|
||
|
x:Class="YALV.MainWindow"
|
||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
|
xmlns:Properties="clr-namespace:YALV.Properties"
|
||
|
xmlns:converters="clr-namespace:YALV.Common.Converters"
|
||
|
xmlns:local="clr-namespace:YALV.Common"
|
||
|
xmlns:yalv="clr-namespace:YALV"
|
||
|
Title="{Binding Path=WindowTitle, Mode=OneWay}"
|
||
|
Width="1250"
|
||
|
Height="650"
|
||
|
AllowDrop="True"
|
||
|
Style="{StaticResource DefaultWindowStyle}"
|
||
|
WindowStartupLocation="CenterScreen"
|
||
|
WindowState="Maximized">
|
||
|
|
||
|
<Window.Resources>
|
||
|
<converters:BoolToOppositeVisibilityConverter x:Key="BoolToOppositeVisibilityConverter" />
|
||
|
<converters:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" />
|
||
|
<converters:MultiValueEqualsToBoolConverter x:Key="MultiValueEqualsToBoolConverter" />
|
||
|
<converters:LevelToSolidColorConverter x:Key="LevelToSolidColorConverter" />
|
||
|
<converters:StringEmptyToVisibilityConverter x:Key="StringEmptyToVisibilityConverter" />
|
||
|
<converters:TimeDeltaDoubleToLocalizedStringConverter x:Key="TimeDeltaDoubleToLocalizedStringConverter" />
|
||
|
|
||
|
<ContextMenu x:Key="FilesListBoxContextMenu">
|
||
|
<MenuItem
|
||
|
Command="{Binding Path=CommandSelectAllFiles}"
|
||
|
CommandParameter="ALL"
|
||
|
Header="{x:Static Properties:Resources.MainWindow_FilesListBoxContextMenu_SelectAll_Header}"
|
||
|
Visibility="{Binding Path=IsFileSelectionEnabled, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" />
|
||
|
<MenuItem
|
||
|
Command="{Binding Path=CommandSelectAllFiles}"
|
||
|
CommandParameter="NONE"
|
||
|
Header="{x:Static Properties:Resources.MainWindow_FilesListBoxContextMenu_SelectNone_Header}"
|
||
|
Visibility="{Binding Path=IsFileSelectionEnabled, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" />
|
||
|
<Separator Visibility="{Binding Path=IsFileSelectionEnabled, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" />
|
||
|
<MenuItem Command="{Binding Path=CommandDelete}" Header="{x:Static Properties:Resources.MainWindow_FilesListBoxContextMenu_DeleteFile_Header}" />
|
||
|
<MenuItem Command="{Binding Path=CommandRefreshFiles}" Header="{x:Static Properties:Resources.MainWindow_FilesListBoxContextMenu_RefreshFileList_Header}" />
|
||
|
<MenuItem Command="{Binding Path=CommandOpenSelectedFolder}" Header="{x:Static Properties:Resources.MainWindow_FilesListBoxContextMenu_OpenSelectedFolder_Header}" />
|
||
|
</ContextMenu>
|
||
|
</Window.Resources>
|
||
|
|
||
|
<Window.InputBindings>
|
||
|
<KeyBinding
|
||
|
Key="F5"
|
||
|
Command="{Binding Path=CommandRefreshFiles}"
|
||
|
Modifiers="Control" />
|
||
|
<KeyBinding Key="F5" Command="{Binding Path=CommandRefresh}" />
|
||
|
<KeyBinding
|
||
|
Key="D"
|
||
|
Command="{Binding Path=CommandClear}"
|
||
|
Modifiers="Control" />
|
||
|
<KeyBinding Key="DELETE" Command="{Binding Path=CommandDelete}" />
|
||
|
</Window.InputBindings>
|
||
|
|
||
|
<Grid
|
||
|
Name="contentGrid"
|
||
|
local:BusyIndicatorBehavior.BusyState="{Binding IsLoading}"
|
||
|
local:BusyIndicatorBehavior.TargetVisual="{Binding ElementName=contentGrid}">
|
||
|
<DockPanel LastChildFill="True">
|
||
|
|
||
|
<!-- TOP -->
|
||
|
<StackPanel DockPanel.Dock="Top" Orientation="Vertical">
|
||
|
|
||
|
<!-- MENU -->
|
||
|
<local:MainMenu x:Name="mainMenu" />
|
||
|
|
||
|
<Grid>
|
||
|
<Grid.ColumnDefinitions>
|
||
|
<ColumnDefinition Width="Auto" />
|
||
|
<ColumnDefinition Width="*" />
|
||
|
<ColumnDefinition Width="Auto" />
|
||
|
</Grid.ColumnDefinitions>
|
||
|
|
||
|
<!-- TOOLBAR -->
|
||
|
<local:MainToolbar
|
||
|
Grid.Column="0"
|
||
|
Margin="5,0,0,0"
|
||
|
HorizontalAlignment="Left"
|
||
|
Style="{StaticResource DefaultToolbarStyle}" />
|
||
|
|
||
|
<StackPanel
|
||
|
Grid.Column="2"
|
||
|
Margin="0,0,10,0"
|
||
|
Orientation="Horizontal">
|
||
|
|
||
|
<!-- SELECTION -->
|
||
|
<GroupBox
|
||
|
Margin="0,3,0,5"
|
||
|
Padding="4,6,4,1"
|
||
|
VerticalAlignment="Top"
|
||
|
FontSize="9"
|
||
|
Header="{x:Static Properties:Resources.MainWindow_SelectionGroupBox_Header}">
|
||
|
<StackPanel VerticalAlignment="Center" Orientation="Horizontal">
|
||
|
|
||
|
<StackPanel.Resources>
|
||
|
<Style x:Key="tbCountStyle" TargetType="TextBlock">
|
||
|
<Setter Property="Margin" Value="0,3,0,0" />
|
||
|
<Setter Property="FontSize" Value="11" />
|
||
|
<Setter Property="TextAlignment" Value="Center" />
|
||
|
<Setter Property="ToolTip" Value="{x:Static Properties:Resources.MainWindow_SelectionTooltip}" />
|
||
|
</Style>
|
||
|
</StackPanel.Resources>
|
||
|
|
||
|
<!-- ALL -->
|
||
|
<StackPanel Orientation="Vertical">
|
||
|
<ContentControl HorizontalAlignment="Center" Content="{StaticResource RadioButtonAll}" />
|
||
|
<TextBlock Style="{StaticResource tbCountStyle}">
|
||
|
<TextBlock.Text>
|
||
|
<MultiBinding StringFormat="{}[ {0} / {1} ]">
|
||
|
<Binding Mode="OneWay" Path="ItemsFilterCount" />
|
||
|
<Binding Mode="OneWay" Path="Items.Count" />
|
||
|
</MultiBinding>
|
||
|
</TextBlock.Text>
|
||
|
</TextBlock>
|
||
|
</StackPanel>
|
||
|
<!-- DEBUG -->
|
||
|
<StackPanel Margin="15,0,0,0" Orientation="Vertical">
|
||
|
<ContentControl HorizontalAlignment="Center" Content="{StaticResource RadioButtonDebug}" />
|
||
|
<TextBlock Style="{StaticResource tbCountStyle}">
|
||
|
<TextBlock.Text>
|
||
|
<MultiBinding StringFormat="{}[ {0} / {1} ]">
|
||
|
<Binding Mode="OneWay" Path="ItemsDebugFilterCount" />
|
||
|
<Binding Mode="OneWay" Path="ItemsDebugCount" />
|
||
|
</MultiBinding>
|
||
|
</TextBlock.Text>
|
||
|
</TextBlock>
|
||
|
</StackPanel>
|
||
|
<!-- INFO -->
|
||
|
<StackPanel Margin="15,0,0,0" Orientation="Vertical">
|
||
|
<ContentControl HorizontalAlignment="Center" Content="{StaticResource RadioButtonInfo}" />
|
||
|
<TextBlock Style="{StaticResource tbCountStyle}">
|
||
|
<TextBlock.Text>
|
||
|
<MultiBinding StringFormat="{}[ {0} / {1} ]">
|
||
|
<Binding Mode="OneWay" Path="ItemsInfoFilterCount" />
|
||
|
<Binding Mode="OneWay" Path="ItemsInfoCount" />
|
||
|
</MultiBinding>
|
||
|
</TextBlock.Text>
|
||
|
</TextBlock>
|
||
|
</StackPanel>
|
||
|
<!-- WARN -->
|
||
|
<StackPanel Margin="15,0,0,0" Orientation="Vertical">
|
||
|
<ContentControl HorizontalAlignment="Center" Content="{StaticResource RadioButtonWarn}" />
|
||
|
<TextBlock Style="{StaticResource tbCountStyle}">
|
||
|
<TextBlock.Text>
|
||
|
<MultiBinding StringFormat="{}[ {0} / {1} ]">
|
||
|
<Binding Mode="OneWay" Path="ItemsWarnFilterCount" />
|
||
|
<Binding Mode="OneWay" Path="ItemsWarnCount" />
|
||
|
</MultiBinding>
|
||
|
</TextBlock.Text>
|
||
|
</TextBlock>
|
||
|
</StackPanel>
|
||
|
<!-- ERROR -->
|
||
|
<StackPanel Margin="15,0,0,0" Orientation="Vertical">
|
||
|
<ContentControl HorizontalAlignment="Center" Content="{StaticResource RadioButtonError}" />
|
||
|
<TextBlock Style="{StaticResource tbCountStyle}">
|
||
|
<TextBlock.Text>
|
||
|
<MultiBinding StringFormat="{}[ {0} / {1} ]">
|
||
|
<Binding Mode="OneWay" Path="ItemsErrorFilterCount" />
|
||
|
<Binding Mode="OneWay" Path="ItemsErrorCount" />
|
||
|
</MultiBinding>
|
||
|
</TextBlock.Text>
|
||
|
</TextBlock>
|
||
|
</StackPanel>
|
||
|
<!-- FATAL -->
|
||
|
<StackPanel Margin="15,0,0,0" Orientation="Vertical">
|
||
|
<ContentControl HorizontalAlignment="Center" Content="{StaticResource RadioButtonFatal}" />
|
||
|
<TextBlock Style="{StaticResource tbCountStyle}">
|
||
|
<TextBlock.Text>
|
||
|
<MultiBinding StringFormat="{}[ {0} / {1} ]">
|
||
|
<Binding Mode="OneWay" Path="ItemsFatalFilterCount" />
|
||
|
<Binding Mode="OneWay" Path="ItemsFatalCount" />
|
||
|
</MultiBinding>
|
||
|
</TextBlock.Text>
|
||
|
</TextBlock>
|
||
|
</StackPanel>
|
||
|
</StackPanel>
|
||
|
</GroupBox>
|
||
|
|
||
|
<!-- SHOW/HIDE -->
|
||
|
<GroupBox
|
||
|
Margin="10,3,0,0"
|
||
|
Padding="0,6,5,5"
|
||
|
VerticalAlignment="Top"
|
||
|
FontSize="9"
|
||
|
Header="{x:Static Properties:Resources.MainWindow_ShowHideGroupBox_Header}">
|
||
|
<StackPanel Orientation="Horizontal">
|
||
|
|
||
|
<StackPanel.Resources>
|
||
|
<Style BasedOn="{StaticResource DefaultBorderStyle}" TargetType="{x:Type Border}">
|
||
|
<Setter Property="Padding" Value="2" />
|
||
|
<Setter Property="Margin" Value="10,0,0,0" />
|
||
|
</Style>
|
||
|
</StackPanel.Resources>
|
||
|
|
||
|
<Border Background="{StaticResource DebugLevelColor}">
|
||
|
<CheckBox
|
||
|
Name="chkShowDebug"
|
||
|
IsChecked="{Binding Path=ShowLevelDebug}"
|
||
|
ToolTip="DEBUG" />
|
||
|
</Border>
|
||
|
|
||
|
<Border Background="{StaticResource InfoLevelColor}">
|
||
|
<CheckBox
|
||
|
Name="chkShowInfo"
|
||
|
IsChecked="{Binding Path=ShowLevelInfo}"
|
||
|
ToolTip="INFO" />
|
||
|
</Border>
|
||
|
|
||
|
<Border Background="{StaticResource WarnLevelColor}">
|
||
|
<CheckBox
|
||
|
Name="chkShowWarn"
|
||
|
IsChecked="{Binding Path=ShowLevelWarn}"
|
||
|
ToolTip="WARN" />
|
||
|
</Border>
|
||
|
|
||
|
<Border Background="{StaticResource ErrorLevelColor}">
|
||
|
<CheckBox
|
||
|
Name="chkShowError"
|
||
|
IsChecked="{Binding Path=ShowLevelError}"
|
||
|
ToolTip="ERROR" />
|
||
|
</Border>
|
||
|
|
||
|
<Border Background="{StaticResource FatalLevelColor}">
|
||
|
<CheckBox
|
||
|
Name="chkShowFatal"
|
||
|
IsChecked="{Binding Path=ShowLevelFatal}"
|
||
|
ToolTip="FATAL" />
|
||
|
</Border>
|
||
|
</StackPanel>
|
||
|
</GroupBox>
|
||
|
</StackPanel>
|
||
|
</Grid>
|
||
|
|
||
|
</StackPanel>
|
||
|
|
||
|
<!-- BOTTOM -->
|
||
|
<DockPanel DockPanel.Dock="Bottom">
|
||
|
|
||
|
<StackPanel
|
||
|
HorizontalAlignment="Left"
|
||
|
DockPanel.Dock="Left"
|
||
|
Orientation="Horizontal">
|
||
|
<CheckBox
|
||
|
Name="chkAutoRefresh"
|
||
|
Margin="3,0,0,0"
|
||
|
VerticalAlignment="Center"
|
||
|
Content="{x:Static Properties:Resources.MainWindow_AutoRefresh_Checkbox_Text}"
|
||
|
FontWeight="DemiBold"
|
||
|
IsChecked="{Binding Path=IsAutoRefreshEnabled}" />
|
||
|
<StackPanel
|
||
|
Margin="3,0,0,0"
|
||
|
VerticalAlignment="Center"
|
||
|
Orientation="Horizontal"
|
||
|
Visibility="{Binding Path=IsChecked, ElementName=chkAutoRefresh, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}">
|
||
|
<RepeatButton
|
||
|
Height="17"
|
||
|
VerticalAlignment="Center"
|
||
|
Background="{x:Null}"
|
||
|
Command="{Binding Path=CommandDecreaseInterval}"
|
||
|
Focusable="False"
|
||
|
ToolTip="{x:Static Properties:Resources.MainWindow_AutoRefresh_DecreaseInterval_Tooltip}">
|
||
|
<TextBlock Margin="0,-2,0,0" Text="<" />
|
||
|
</RepeatButton>
|
||
|
<Border
|
||
|
MinWidth="36"
|
||
|
Padding="1"
|
||
|
BorderBrush="Gray"
|
||
|
BorderThickness="1,1"
|
||
|
CornerRadius="2">
|
||
|
<TextBlock
|
||
|
FontSize="11"
|
||
|
Text="{Binding Path=AutoRefreshIntervalLocalized, Mode=OneWay}"
|
||
|
TextAlignment="Right"
|
||
|
ToolTip="{x:Static Properties:Resources.MainWindow_AutoRefresh_RefreshInterval_Tooltip}" />
|
||
|
</Border>
|
||
|
<RepeatButton
|
||
|
Height="17"
|
||
|
VerticalAlignment="Center"
|
||
|
Background="{x:Null}"
|
||
|
Command="{Binding Path=CommandIncreaseInterval}"
|
||
|
Focusable="False"
|
||
|
ToolTip="{x:Static Properties:Resources.MainWindow_AutoRefresh_IncreaseInterval_Tooltip}">
|
||
|
<TextBlock Margin="0,-2,0,0" Text=">" />
|
||
|
</RepeatButton>
|
||
|
</StackPanel>
|
||
|
</StackPanel>
|
||
|
|
||
|
<StackPanel
|
||
|
HorizontalAlignment="Right"
|
||
|
DockPanel.Dock="Right"
|
||
|
Orientation="Horizontal">
|
||
|
|
||
|
<StackPanel.Resources>
|
||
|
<Style x:Key="LabelBaseStyle" TargetType="{x:Type TextBlock}">
|
||
|
<Setter Property="FontSize" Value="{StaticResource DefaultFontSize}" />
|
||
|
<Setter Property="FontWeight" Value="DemiBold" />
|
||
|
<Setter Property="HorizontalAlignment" Value="Left" />
|
||
|
</Style>
|
||
|
<Style x:Key="TextBlockBaseStyle" TargetType="{x:Type TextBlock}">
|
||
|
<Setter Property="FontSize" Value="{StaticResource DefaultFontSize}" />
|
||
|
<Setter Property="Margin" Value="3,0,0,0" />
|
||
|
<Setter Property="MinWidth" Value="80" />
|
||
|
</Style>
|
||
|
<Style x:Key="PanelBaseStyle" TargetType="{x:Type StackPanel}">
|
||
|
<Setter Property="Margin" Value="20,3,5,3" />
|
||
|
<Setter Property="Orientation" Value="Horizontal" />
|
||
|
</Style>
|
||
|
</StackPanel.Resources>
|
||
|
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_Class_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}" Text="{Binding Path=SelectedLogItem.Class, Mode=OneWay}" />
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_Method_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}" Text="{Binding Path=SelectedLogItem.Method, Mode=OneWay}" />
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_File_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}" Text="{Binding Path=SelectedLogItem.File, Mode=OneWay}" />
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_Line_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}" Text="{Binding Path=SelectedLogItem.Line, Mode=OneWay}" />
|
||
|
</StackPanel>
|
||
|
</StackPanel>
|
||
|
</DockPanel>
|
||
|
|
||
|
<!-- LEFT -->
|
||
|
<Grid Width="250" DockPanel.Dock="Left">
|
||
|
<Grid.RowDefinitions>
|
||
|
<RowDefinition Height="*" />
|
||
|
<RowDefinition Height="Auto" />
|
||
|
<RowDefinition Height="*" />
|
||
|
</Grid.RowDefinitions>
|
||
|
|
||
|
<DockPanel Grid.Row="0" LastChildFill="True">
|
||
|
<DockPanel DockPanel.Dock="Top" LastChildFill="True">
|
||
|
<ToggleButton
|
||
|
Width="22"
|
||
|
Margin="1,0,0,0"
|
||
|
VerticalAlignment="Stretch"
|
||
|
DockPanel.Dock="Right"
|
||
|
IsChecked="{Binding Path=IsFileSelectionEnabled}"
|
||
|
ToolTip="{x:Static Properties:Resources.MainWindow_MergeFile_Tooltip}">
|
||
|
<Image Source="/Resources/Icons/selection.png" />
|
||
|
</ToggleButton>
|
||
|
<ComboBox
|
||
|
Height="22"
|
||
|
IsEditable="False"
|
||
|
ItemsSource="{Binding Path=FolderList, Mode=OneWay}"
|
||
|
SelectedItem="{Binding Path=SelectedFolder}">
|
||
|
<ComboBox.ItemTemplate>
|
||
|
<DataTemplate>
|
||
|
<StackPanel Margin="0,0,0,2" Orientation="Vertical">
|
||
|
<TextBlock FontWeight="DemiBold" Text="{Binding Path=Name, Mode=OneWay}" />
|
||
|
<TextBlock
|
||
|
FontSize="11"
|
||
|
Foreground="#FF595959"
|
||
|
Text="{Binding Path=Path, Mode=OneWay, StringFormat='{}[{0}]'}" />
|
||
|
</StackPanel>
|
||
|
</DataTemplate>
|
||
|
</ComboBox.ItemTemplate>
|
||
|
</ComboBox>
|
||
|
</DockPanel>
|
||
|
|
||
|
<Grid>
|
||
|
<ListBox
|
||
|
BorderBrush="{StaticResource GrayGradientBackground}"
|
||
|
BorderThickness="1,1,1,0"
|
||
|
ContextMenu="{StaticResource FilesListBoxContextMenu}"
|
||
|
IsSynchronizedWithCurrentItem="True"
|
||
|
ItemsSource="{Binding Path=FileList, Mode=OneWay}"
|
||
|
SelectedItem="{Binding Path=SelectedFile}"
|
||
|
SelectionMode="Single"
|
||
|
Visibility="{Binding Path=IsFileSelectionEnabled, Mode=OneWay, Converter={StaticResource BoolToOppositeVisibilityConverter}}">
|
||
|
<ListBox.ItemContainerStyle>
|
||
|
<Style TargetType="ListBoxItem">
|
||
|
<Style.Resources>
|
||
|
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Teal" />
|
||
|
<!--
|
||
|
<SolidColorBrush
|
||
|
x:Key="{x:Static SystemColors.ControlBrushKey}"
|
||
|
Color="Transparent" />
|
||
|
-->
|
||
|
</Style.Resources>
|
||
|
</Style>
|
||
|
</ListBox.ItemContainerStyle>
|
||
|
<ListBox.ItemTemplate>
|
||
|
<DataTemplate>
|
||
|
<TextBlock Text="{Binding Path=FileName, Mode=OneWay, FallbackValue=''}" ToolTip="{Binding Path=Path, Mode=OneWay}" />
|
||
|
</DataTemplate>
|
||
|
</ListBox.ItemTemplate>
|
||
|
</ListBox>
|
||
|
|
||
|
<ListBox
|
||
|
BorderBrush="{StaticResource GrayGradientBackground}"
|
||
|
BorderThickness="1,1,1,0"
|
||
|
ContextMenu="{StaticResource FilesListBoxContextMenu}"
|
||
|
IsSynchronizedWithCurrentItem="True"
|
||
|
ItemsSource="{Binding Path=FileList, Mode=OneWay}"
|
||
|
SelectionMode="Single"
|
||
|
Visibility="{Binding Path=IsFileSelectionEnabled, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}">
|
||
|
<ListBox.ItemContainerStyle>
|
||
|
<Style TargetType="ListBoxItem">
|
||
|
<Style.Resources>
|
||
|
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent" />
|
||
|
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" />
|
||
|
</Style.Resources>
|
||
|
</Style>
|
||
|
</ListBox.ItemContainerStyle>
|
||
|
<ListBox.ItemTemplate>
|
||
|
<DataTemplate>
|
||
|
<StackPanel Orientation="Horizontal" ToolTip="{Binding Path=Path, Mode=OneWay}">
|
||
|
<!--
|
||
|
<Polygon
|
||
|
Margin="0,0,2,0"
|
||
|
Name="fIndicator"
|
||
|
Points="0,0 6,5 0,10 0,0"
|
||
|
VerticalAlignment="Center" />
|
||
|
-->
|
||
|
<CheckBox
|
||
|
Name="fCheck"
|
||
|
VerticalAlignment="Center"
|
||
|
Content="{Binding Path=FileName, Mode=OneWay, FallbackValue=''}"
|
||
|
IsChecked="{Binding Path=Checked, FallbackValue=False}" />
|
||
|
<Border
|
||
|
Name="fIndicator"
|
||
|
Width="7"
|
||
|
Height="7"
|
||
|
Margin="5,1,0,0"
|
||
|
VerticalAlignment="Center"
|
||
|
Background="Transparent"
|
||
|
CornerRadius="3" />
|
||
|
</StackPanel>
|
||
|
<DataTemplate.Triggers>
|
||
|
<DataTrigger Value="True">
|
||
|
<DataTrigger.Binding>
|
||
|
<MultiBinding Converter="{StaticResource MultiValueEqualsToBoolConverter}">
|
||
|
<Binding Mode="OneWay" Path="Path" />
|
||
|
<Binding
|
||
|
ElementName="dgItems"
|
||
|
Mode="OneWay"
|
||
|
Path="SelectedItem.Path" />
|
||
|
</MultiBinding>
|
||
|
</DataTrigger.Binding>
|
||
|
<Setter TargetName="fIndicator" Property="Background" Value="Teal" />
|
||
|
<Setter TargetName="fCheck" Property="Foreground" Value="Teal" />
|
||
|
<Setter TargetName="fCheck" Property="FontWeight" Value="Bold" />
|
||
|
</DataTrigger>
|
||
|
</DataTemplate.Triggers>
|
||
|
</DataTemplate>
|
||
|
</ListBox.ItemTemplate>
|
||
|
</ListBox>
|
||
|
</Grid>
|
||
|
|
||
|
</DockPanel>
|
||
|
|
||
|
<GridSplitter
|
||
|
Grid.Row="1"
|
||
|
HorizontalAlignment="Stretch"
|
||
|
ResizeDirection="Rows"
|
||
|
Style="{StaticResource DefaultGridSplitterStyle}" />
|
||
|
|
||
|
<Border
|
||
|
Grid.Row="2"
|
||
|
BorderBrush="Silver"
|
||
|
BorderThickness="0,0,1,1">
|
||
|
|
||
|
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
|
||
|
|
||
|
<StackPanel>
|
||
|
<StackPanel.Resources>
|
||
|
<Style x:Key="LabelBaseStyle" TargetType="{x:Type TextBlock}">
|
||
|
<Setter Property="FontSize" Value="{StaticResource DefaultFontSize}" />
|
||
|
<Setter Property="FontWeight" Value="DemiBold" />
|
||
|
<Setter Property="HorizontalAlignment" Value="Left" />
|
||
|
</Style>
|
||
|
<Style x:Key="TextBlockBaseStyle" TargetType="{x:Type TextBlock}">
|
||
|
<Setter Property="FontSize" Value="{StaticResource DefaultFontSize}" />
|
||
|
<Setter Property="Margin" Value="0,1" />
|
||
|
</Style>
|
||
|
<Style x:Key="PanelBaseStyle" TargetType="{x:Type StackPanel}">
|
||
|
<Setter Property="Margin" Value="2,3" />
|
||
|
<Setter Property="Orientation" Value="Vertical" />
|
||
|
</Style>
|
||
|
</StackPanel.Resources>
|
||
|
|
||
|
<TextBlock Text="" />
|
||
|
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_ItemId_Text}" />
|
||
|
<TextBox
|
||
|
Name="txtItemId"
|
||
|
MinWidth="42"
|
||
|
Margin="0,1"
|
||
|
HorizontalAlignment="Left"
|
||
|
FontSize="{StaticResource DefaultFontSize}"
|
||
|
FontStyle="Italic"
|
||
|
Text="{Binding Path=GoToLogItemId, UpdateSourceTrigger=PropertyChanged}" />
|
||
|
<!--
|
||
|
<TextBlock
|
||
|
Style="{StaticResource TextBlockBaseStyle}"
|
||
|
Text="{Binding Path=SelectedLogItem.Id, Mode=OneWay}">
|
||
|
</TextBlock>
|
||
|
-->
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_Logger_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}" Text="{Binding Path=SelectedLogItem.Logger, Mode=OneWay}" />
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_Level_Text}" />
|
||
|
<StackPanel Orientation="Horizontal">
|
||
|
<TextBlock
|
||
|
MinWidth="38"
|
||
|
Style="{StaticResource TextBlockBaseStyle}"
|
||
|
Text="{Binding Path=SelectedLogItem.Level, Mode=OneWay}" />
|
||
|
<Border
|
||
|
Width="11"
|
||
|
Height="11"
|
||
|
Margin="2,0,0,0"
|
||
|
VerticalAlignment="Center"
|
||
|
Background="{Binding Path=SelectedLogItem.LevelIndex, Mode=OneWay, Converter={StaticResource LevelToSolidColorConverter}}"
|
||
|
BorderBrush="{StaticResource BorderColor}"
|
||
|
BorderThickness="1"
|
||
|
CornerRadius="6"
|
||
|
Visibility="{Binding Path=SelectedLogItem.Level, Mode=OneWay, Converter={StaticResource StringEmptyToVisibilityConverter}, FallbackValue=Collapsed}" />
|
||
|
</StackPanel>
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_TimeStamp_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}">
|
||
|
<TextBlock.Text>
|
||
|
<Binding
|
||
|
ConverterCulture="{x:Static yalv:MainWindow.ResolvedCulture}"
|
||
|
Mode="OneWay"
|
||
|
Path="SelectedLogItem.TimeStamp"
|
||
|
StringFormat="{x:Static Properties:Resources.MainWindow_FullDateTimeFormatWithMilliseconds}" />
|
||
|
|
||
|
</TextBlock.Text>
|
||
|
</TextBlock>
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_TimeDiff_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}" Text="{Binding Path=SelectedLogItem.Delta, Mode=OneWay, Converter={StaticResource TimeDeltaDoubleToLocalizedStringConverter}}" />
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_MachineName_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}" Text="{Binding Path=SelectedLogItem.MachineName, Mode=OneWay}" />
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_HostName_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}" Text="{Binding Path=SelectedLogItem.HostName, Mode=OneWay}" />
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_UserName_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}" Text="{Binding Path=SelectedLogItem.UserName, Mode=OneWay}" />
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_Application_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}" Text="{Binding Path=SelectedLogItem.App, Mode=OneWay}" />
|
||
|
</StackPanel>
|
||
|
<StackPanel Style="{StaticResource PanelBaseStyle}">
|
||
|
<TextBlock Style="{StaticResource LabelBaseStyle}" Text="{x:Static Properties:Resources.MainWindow_DetailsBox_Thread_Text}" />
|
||
|
<TextBlock Style="{StaticResource TextBlockBaseStyle}" Text="{Binding Path=SelectedLogItem.Thread, Mode=OneWay}" />
|
||
|
</StackPanel>
|
||
|
</StackPanel>
|
||
|
|
||
|
</ScrollViewer>
|
||
|
</Border>
|
||
|
|
||
|
</Grid>
|
||
|
|
||
|
<!-- RIGHT -->
|
||
|
<Grid DockPanel.Dock="Right">
|
||
|
<Grid.RowDefinitions>
|
||
|
<RowDefinition Height="*" />
|
||
|
<RowDefinition Height="Auto" />
|
||
|
<RowDefinition Height="*" />
|
||
|
</Grid.RowDefinitions>
|
||
|
|
||
|
<DockPanel Grid.Row="0" LastChildFill="True">
|
||
|
|
||
|
<Border DockPanel.Dock="Top">
|
||
|
<ScrollViewer
|
||
|
local:ScrollSynchronizer.ScrollGroup="dgSync"
|
||
|
HorizontalScrollBarVisibility="Hidden"
|
||
|
VerticalScrollBarVisibility="Disabled">
|
||
|
<StackPanel
|
||
|
Name="txtSearchPanel"
|
||
|
Margin="0,0,25,0"
|
||
|
Background="Transparent"
|
||
|
Orientation="Horizontal" />
|
||
|
</ScrollViewer>
|
||
|
</Border>
|
||
|
|
||
|
<DataGrid
|
||
|
Name="dgItems"
|
||
|
Margin="0,1,0,0"
|
||
|
CanUserReorderColumns="True"
|
||
|
CellStyle="{StaticResource DefaultDataGridCellStyle}"
|
||
|
ColumnHeaderStyle="{StaticResource DefaultDataGridHeaderStyle}"
|
||
|
IsSynchronizedWithCurrentItem="True"
|
||
|
RowStyle="{StaticResource LogItemDataGridRowStyle}"
|
||
|
SelectedItem="{Binding Path=SelectedLogItem}"
|
||
|
Style="{StaticResource DefaultDataGridStyle}">
|
||
|
|
||
|
<DataGrid.ContextMenu>
|
||
|
<ContextMenu>
|
||
|
<MenuItem Command="ApplicationCommands.Copy" Header="{x:Static Properties:Resources.MainWindow_GridContextMenu_CopyToClipboard}" />
|
||
|
</ContextMenu>
|
||
|
</DataGrid.ContextMenu>
|
||
|
|
||
|
<DataGrid.Resources>
|
||
|
<Style TargetType="ScrollViewer">
|
||
|
<Setter Property="local:ScrollSynchronizer.ScrollGroup" Value="dgSync" />
|
||
|
</Style>
|
||
|
<!--<SolidColorBrush
|
||
|
x:Key="{x:Static SystemColors.HighlightBrushKey}"
|
||
|
Color="#19000000" />-->
|
||
|
</DataGrid.Resources>
|
||
|
</DataGrid>
|
||
|
</DockPanel>
|
||
|
|
||
|
<GridSplitter
|
||
|
Grid.Row="1"
|
||
|
HorizontalAlignment="Stretch"
|
||
|
ResizeDirection="Rows"
|
||
|
Style="{StaticResource DefaultGridSplitterStyle}" />
|
||
|
|
||
|
<Grid Grid.Row="2">
|
||
|
<Grid.ColumnDefinitions>
|
||
|
<ColumnDefinition Width="*" />
|
||
|
<ColumnDefinition Width="Auto" />
|
||
|
<ColumnDefinition Width="2.5*" />
|
||
|
</Grid.ColumnDefinitions>
|
||
|
|
||
|
<DockPanel Grid.Column="0" LastChildFill="True">
|
||
|
<TextBlock
|
||
|
Margin="1,0,0,0"
|
||
|
DockPanel.Dock="Top"
|
||
|
FontWeight="DemiBold"
|
||
|
Text="{x:Static Properties:Resources.MainWindow_DetailsBox_Message_Text}" />
|
||
|
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
|
||
|
<TextBox
|
||
|
BorderBrush="Silver"
|
||
|
BorderThickness="0,1"
|
||
|
IsReadOnly="True"
|
||
|
Text="{Binding Path=SelectedLogItem.Message, Mode=OneWay}"
|
||
|
TextWrapping="Wrap" />
|
||
|
</ScrollViewer>
|
||
|
</DockPanel>
|
||
|
|
||
|
<GridSplitter
|
||
|
Grid.Column="1"
|
||
|
Margin="0,15,0,0"
|
||
|
VerticalAlignment="Stretch"
|
||
|
ResizeBehavior="PreviousAndNext"
|
||
|
ResizeDirection="Columns"
|
||
|
Style="{StaticResource DefaultGridSplitterStyle}" />
|
||
|
|
||
|
<DockPanel Grid.Column="2" LastChildFill="True">
|
||
|
<TextBlock
|
||
|
Margin="1,0,0,0"
|
||
|
DockPanel.Dock="Top"
|
||
|
FontWeight="DemiBold"
|
||
|
Text="{x:Static Properties:Resources.MainWindow_DetailsBox_Throwable_Text}" />
|
||
|
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
|
||
|
<TextBox
|
||
|
BorderBrush="Silver"
|
||
|
BorderThickness="0,1"
|
||
|
IsReadOnly="True"
|
||
|
Text="{Binding Path=SelectedLogItem.Throwable, Mode=OneWay}"
|
||
|
TextWrapping="Wrap" />
|
||
|
</ScrollViewer>
|
||
|
</DockPanel>
|
||
|
</Grid>
|
||
|
</Grid>
|
||
|
|
||
|
</DockPanel>
|
||
|
</Grid>
|
||
|
|
||
|
</Window>
|