Repository navigation
Expand file tree
/
Copy pathHighlightsWindow.xaml
More file actions
149 lines (146 loc) · 8.99 KB
/
Copy pathHighlightsWindow.xaml
File metadata and controls
149 lines (146 loc) · 8.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<Window x:Class="HttpTraceAnalyser.HighlightsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=System.Runtime"
xmlns:model="clr-namespace:HttpTraceAnalyser.Model"
xmlns:local="clr-namespace:HttpTraceAnalyser"
Title="Highlights" Height="420" Width="900"
WindowStartupLocation="CenterOwner">
<Window.Resources>
<ObjectDataProvider x:Key="OperatorValues" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="model:HighlightOperator" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<DockPanel Margin="8">
<Grid DockPanel.Dock="Top" Margin="0,0,0,8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<Button Content="Load..." Width="80" Margin="0,0,8,0" Click="LoadButton_Click" />
<Button Content="Save As..." Width="80" Click="SaveButton_Click" />
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal">
<Button Content="Reset" Width="80" Margin="0,0,8,0" Click="ResetButton_Click"
ToolTip="Restore the saved default. Hold Shift to restore the app defaults." />
<Button Content="Set Default" Width="90" Click="SetDefaultButton_Click" />
</StackPanel>
</Grid>
<Grid DockPanel.Dock="Bottom" Margin="0,8,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<Button Content="Add" Width="80" Margin="0,0,8,0" Click="AddButton_Click" />
<Button Content="Remove" Width="80" Click="RemoveButton_Click" />
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal">
<Button Content="OK" Width="80" Margin="0,0,8,0" IsDefault="True" Click="OkButton_Click" />
<Button Content="Cancel" Width="80" IsCancel="True" />
</StackPanel>
</Grid>
<TextBlock DockPanel.Dock="Top" Margin="0,0,0,6" TextWrapping="Wrap"
Text="Rules are evaluated top-to-bottom; the first matching enabled rule sets the row colour." />
<DataGrid x:Name="RulesGrid" AutoGenerateColumns="False"
CanUserAddRows="False" CanUserDeleteRows="False"
SelectionMode="Extended" SelectionUnit="FullRow" AllowDrop="True"
PreviewMouseLeftButtonDown="RulesGrid_PreviewMouseLeftButtonDown"
DragOver="RulesGrid_DragOver" DragLeave="RulesGrid_DragLeave"
Drop="RulesGrid_Drop">
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="RulesGridCell_PreviewMouseLeftButtonDown" />
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
<DataGridTemplateColumn Width="32" IsReadOnly="True">
<DataGridTemplateColumn.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="Cursor" Value="SizeAll" />
<Setter Property="ToolTip" Value="Drag to reorder rule" />
<EventSetter Event="PreviewMouseLeftButtonDown"
Handler="RuleDragHandle_PreviewMouseLeftButtonDown" />
<EventSetter Event="PreviewMouseMove"
Handler="RuleDragHandle_PreviewMouseMove" />
</Style>
</DataGridTemplateColumn.CellStyle>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="" FontFamily="Segoe Fluent Icons"
FontSize="12" HorizontalAlignment="Center"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridCheckBoxColumn Header="On"
Binding="{Binding IsEnabled, UpdateSourceTrigger=PropertyChanged}"
Width="40" />
<DataGridComboBoxColumn Header="Column"
ItemsSource="{x:Static model:TraceColumnCatalog.Names}"
SelectedItemBinding="{Binding ColumnName}"
Width="150" />
<DataGridComboBoxColumn Header="Operator"
ItemsSource="{Binding Source={StaticResource OperatorValues}}"
SelectedItemBinding="{Binding Operator}"
Width="110" />
<DataGridTextColumn Header="Value"
Binding="{Binding Value, UpdateSourceTrigger=PropertyChanged}"
Width="180" />
<DataGridTemplateColumn Header="Background" Width="140" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Click="ColorPickerButton_Click" Tag="Background"
Padding="3" HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
ToolTip="Choose background colour">
<Border Height="20"
Background="{Binding BackgroundColor, Converter={x:Static local:HighlightsWindow.ColorBrushConverter}}"
BorderBrush="{DynamicResource ControlStrokeColorDefaultBrush}"
BorderThickness="1" />
</Button>
<Button Grid.Column="1" Content="✕" Margin="3,0,0,0" Padding="6,0"
Click="ClearColorButton_Click" Tag="Background"
ToolTip="Clear background colour" />
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Foreground" Width="140" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Click="ColorPickerButton_Click" Tag="Foreground"
Padding="3" HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
ToolTip="Choose foreground colour">
<Border Height="20"
Background="{Binding ForegroundColor, Converter={x:Static local:HighlightsWindow.ColorBrushConverter}}"
BorderBrush="{DynamicResource ControlStrokeColorDefaultBrush}"
BorderThickness="1" />
</Button>
<Button Grid.Column="1" Content="✕" Margin="3,0,0,0" Padding="6,0"
Click="ClearColorButton_Click" Tag="Foreground"
ToolTip="Use automatic foreground colour" />
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</DockPanel>
</Window>