mirror of
https://github.com/8damon/Blackbird-Platform
synced 2026-06-21 13:41:12 +00:00
343 lines
19 KiB
XML
343 lines
19 KiB
XML
<Window x:Class="BlackbirdInterface.ChildProcessGraphWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
Title="Child Process Graph"
|
|
Height="860"
|
|
Width="1240"
|
|
MinHeight="620"
|
|
MinWidth="980"
|
|
WindowStartupLocation="CenterOwner"
|
|
WindowStyle="None"
|
|
ResizeMode="CanResize"
|
|
Background="{DynamicResource WinBgBrush}"
|
|
UseLayoutRounding="True"
|
|
SnapsToDevicePixels="True"
|
|
TextOptions.TextFormattingMode="Display"
|
|
TextOptions.TextRenderingMode="ClearType">
|
|
|
|
<Window.Resources>
|
|
<Style x:Key="PanelHeaderBorderStyle" TargetType="Border">
|
|
<Setter Property="Background" Value="{DynamicResource WinHeaderBrush}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource WinSubtleBorderBrush}"/>
|
|
<Setter Property="BorderThickness" Value="0,0,0,1"/>
|
|
<Setter Property="Padding" Value="10,8"/>
|
|
</Style>
|
|
</Window.Resources>
|
|
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<Border Grid.Row="0"
|
|
Style="{StaticResource SecondaryWindowTitleBarBorderStyle}"
|
|
MouseLeftButtonDown="Root_MouseLeftButtonDown">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Grid.Column="0">
|
|
<TextBlock Text="Child Process Graph"
|
|
Style="{StaticResource SecondaryWindowTitleTextStyle}"/>
|
|
<TextBlock x:Name="SummaryBlock"
|
|
Style="{StaticResource SecondaryWindowSubtitleTextStyle}"
|
|
Text="No monitored descendants or pivots yet"/>
|
|
</StackPanel>
|
|
|
|
<StackPanel Grid.Column="1"
|
|
Orientation="Horizontal"
|
|
VerticalAlignment="Top">
|
|
<Button Style="{DynamicResource SecondaryWindowTitleGlyphButtonStyle}"
|
|
Content=""
|
|
Click="WindowMinimize_Click"/>
|
|
<Button Style="{DynamicResource SecondaryWindowTitleGlyphButtonStyle}"
|
|
Content=""
|
|
Click="WindowMaximize_Click"/>
|
|
<Button Style="{DynamicResource SecondaryWindowTitleGlyphButtonStyle}"
|
|
Tag="Close"
|
|
Content=""
|
|
Click="Close_Click"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<Border Grid.Row="1"
|
|
Margin="8,8,8,0"
|
|
Style="{DynamicResource SecondaryWindowSurfaceBorderStyle}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="88"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="88"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="88"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<TextBlock Grid.Row="0" Grid.Column="0"
|
|
Margin="0,0,8,0"
|
|
FontSize="11"
|
|
Foreground="{DynamicResource WinMutedTextBrush}"
|
|
Text="Target"/>
|
|
<TextBlock x:Name="TargetBlock"
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
FontWeight="SemiBold"
|
|
Text="PID 0"/>
|
|
<TextBlock Grid.Row="0" Grid.Column="2"
|
|
Margin="0,0,8,0"
|
|
FontSize="11"
|
|
Foreground="{DynamicResource WinMutedTextBrush}"
|
|
Text="Launches"/>
|
|
<TextBlock x:Name="LaunchCountBlock"
|
|
Grid.Row="0"
|
|
Grid.Column="3"
|
|
Text="0"/>
|
|
<TextBlock Grid.Row="0" Grid.Column="4"
|
|
Margin="0,0,8,0"
|
|
FontSize="11"
|
|
Foreground="{DynamicResource WinMutedTextBrush}"
|
|
Text="Pivots"/>
|
|
<TextBlock x:Name="PivotCountBlock"
|
|
Grid.Row="0"
|
|
Grid.Column="5"
|
|
Text="0"/>
|
|
|
|
<TextBlock Grid.Row="1" Grid.Column="0"
|
|
Margin="0,4,8,0"
|
|
FontSize="11"
|
|
Foreground="{DynamicResource WinMutedTextBrush}"
|
|
Text="Scope"/>
|
|
<TextBlock x:Name="ScopeBlock"
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Grid.ColumnSpan="5"
|
|
Margin="0,4,0,0"
|
|
Text="Live descendant and pivot graph"/>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<Border Grid.Row="2"
|
|
Margin="8,8,8,8"
|
|
Style="{StaticResource SecondaryWindowSurfaceBorderStyle}"
|
|
Padding="0">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="2.2*"/>
|
|
<ColumnDefinition Width="1"/>
|
|
<ColumnDefinition Width="1.15*"/>
|
|
<ColumnDefinition Width="1"/>
|
|
<ColumnDefinition Width="1.15*"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<!-- Descendants And Thread Pivots -->
|
|
<Border Grid.Column="0"
|
|
Background="{DynamicResource ExplorerPreviewBackgroundBrush}">
|
|
<DockPanel LastChildFill="True">
|
|
<Border DockPanel.Dock="Top" Style="{StaticResource PanelHeaderBorderStyle}">
|
|
<TextBlock FontSize="12" FontWeight="SemiBold" Text="Descendants And Thread Pivots"/>
|
|
</Border>
|
|
<Grid Margin="8">
|
|
<TreeView x:Name="RelationsTree"
|
|
BorderThickness="0"
|
|
Background="Transparent"
|
|
ScrollViewer.CanContentScroll="True"
|
|
VirtualizingPanel.IsVirtualizing="True"
|
|
VirtualizingPanel.VirtualizationMode="Recycling"
|
|
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
|
|
<TreeView.ItemContainerStyle>
|
|
<Style TargetType="TreeViewItem">
|
|
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
|
|
</Style>
|
|
</TreeView.ItemContainerStyle>
|
|
<TreeView.ItemTemplate>
|
|
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
|
|
<StackPanel Margin="0,2,0,2">
|
|
<DockPanel LastChildFill="True">
|
|
<Ellipse Width="8"
|
|
Height="8"
|
|
Margin="0,4,8,0"
|
|
VerticalAlignment="Top"
|
|
Fill="{Binding DotBrush}"/>
|
|
<StackPanel>
|
|
<TextBlock Text="{Binding Title}"
|
|
FontWeight="SemiBold"
|
|
Foreground="{Binding TitleBrush}"
|
|
TextWrapping="Wrap"/>
|
|
<TextBlock Text="{Binding Meta}"
|
|
Margin="0,1,0,0"
|
|
Foreground="{DynamicResource WinMutedTextBrush}"
|
|
TextWrapping="Wrap"/>
|
|
</StackPanel>
|
|
</DockPanel>
|
|
</StackPanel>
|
|
</HierarchicalDataTemplate>
|
|
</TreeView.ItemTemplate>
|
|
</TreeView>
|
|
|
|
<Border x:Name="NoDataOverlay"
|
|
Background="{DynamicResource NoDataOverlayBrush}"
|
|
IsHitTestVisible="False"
|
|
Visibility="Collapsed">
|
|
<TextBlock Text="NO GRAPH DATA"
|
|
FontSize="34"
|
|
FontWeight="Bold"
|
|
Foreground="{DynamicResource WinTextBrush}"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Opacity="0.72"/>
|
|
</Border>
|
|
</Grid>
|
|
</DockPanel>
|
|
</Border>
|
|
|
|
<Border Grid.Column="1"
|
|
Background="{DynamicResource WinSubtleBorderBrush}"/>
|
|
|
|
<!-- Handles Opened To Target -->
|
|
<Border Grid.Column="2"
|
|
Background="{DynamicResource ExplorerPreviewBackgroundBrush}">
|
|
<DockPanel LastChildFill="True">
|
|
<Border DockPanel.Dock="Top" Style="{StaticResource PanelHeaderBorderStyle}">
|
|
<TextBlock FontSize="12" FontWeight="SemiBold" Text="Handles Opened To Target"/>
|
|
</Border>
|
|
<Grid Margin="8">
|
|
<ListView x:Name="InboundHandlesList"
|
|
BorderThickness="0"
|
|
Background="Transparent"
|
|
ScrollViewer.CanContentScroll="True"
|
|
VirtualizingPanel.IsVirtualizing="True"
|
|
VirtualizingPanel.VirtualizationMode="Recycling">
|
|
<ListView.ItemContainerStyle>
|
|
<Style TargetType="ListViewItem">
|
|
<Setter Property="Padding" Value="0"/>
|
|
<Setter Property="Margin" Value="0,0,0,6"/>
|
|
</Style>
|
|
</ListView.ItemContainerStyle>
|
|
<ListView.ItemTemplate>
|
|
<DataTemplate>
|
|
<Border Padding="8,6" BorderThickness="1">
|
|
<Border.Style>
|
|
<Style TargetType="Border">
|
|
<Setter Property="Background" Value="{DynamicResource WinHeaderBrush}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource WinSubtleBorderBrush}"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsBlackbirdInternal}" Value="True">
|
|
<Setter Property="Background" Value="#08101A"/>
|
|
<Setter Property="BorderBrush" Value="#1A2A38"/>
|
|
<Setter Property="Opacity" Value="0.55"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
<StackPanel>
|
|
<TextBlock Margin="0,0,0,3"
|
|
FontSize="9"
|
|
FontWeight="Bold"
|
|
Foreground="#3F7099"
|
|
Text="BLACKBIRD INTERNAL — EXPECTED">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsBlackbirdInternal}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
<TextBlock Text="{Binding Title}"
|
|
FontWeight="SemiBold"
|
|
Foreground="{Binding TitleBrush}"
|
|
TextWrapping="Wrap"/>
|
|
<TextBlock Text="{Binding Meta}"
|
|
Margin="0,2,0,0"
|
|
Foreground="{DynamicResource WinMutedTextBrush}"
|
|
TextWrapping="Wrap"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</DataTemplate>
|
|
</ListView.ItemTemplate>
|
|
</ListView>
|
|
|
|
<TextBlock x:Name="InboundHandlesEmptyBlock"
|
|
Text="NO INBOUND HANDLES"
|
|
FontSize="16"
|
|
FontWeight="SemiBold"
|
|
Foreground="{DynamicResource WinMutedTextBrush}"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Visibility="Collapsed"/>
|
|
</Grid>
|
|
</DockPanel>
|
|
</Border>
|
|
|
|
<Border Grid.Column="3"
|
|
Background="{DynamicResource WinSubtleBorderBrush}"/>
|
|
|
|
<!-- Handles Opened By Target -->
|
|
<Border Grid.Column="4"
|
|
Background="{DynamicResource ExplorerPreviewBackgroundBrush}">
|
|
<DockPanel LastChildFill="True">
|
|
<Border DockPanel.Dock="Top" Style="{StaticResource PanelHeaderBorderStyle}">
|
|
<TextBlock FontSize="12" FontWeight="SemiBold" Text="Handles Opened By Target"/>
|
|
</Border>
|
|
<Grid Margin="8">
|
|
<ListView x:Name="OutboundHandlesList"
|
|
BorderThickness="0"
|
|
Background="Transparent"
|
|
ScrollViewer.CanContentScroll="True"
|
|
VirtualizingPanel.IsVirtualizing="True"
|
|
VirtualizingPanel.VirtualizationMode="Recycling">
|
|
<ListView.ItemContainerStyle>
|
|
<Style TargetType="ListViewItem">
|
|
<Setter Property="Padding" Value="0"/>
|
|
<Setter Property="Margin" Value="0,0,0,6"/>
|
|
</Style>
|
|
</ListView.ItemContainerStyle>
|
|
<ListView.ItemTemplate>
|
|
<DataTemplate>
|
|
<Border Padding="8,6"
|
|
Background="{DynamicResource WinHeaderBrush}"
|
|
BorderBrush="{DynamicResource WinSubtleBorderBrush}"
|
|
BorderThickness="1">
|
|
<StackPanel>
|
|
<TextBlock Text="{Binding Title}"
|
|
FontWeight="SemiBold"
|
|
Foreground="{Binding TitleBrush}"
|
|
TextWrapping="Wrap"/>
|
|
<TextBlock Text="{Binding Meta}"
|
|
Margin="0,2,0,0"
|
|
Foreground="{DynamicResource WinMutedTextBrush}"
|
|
TextWrapping="Wrap"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</DataTemplate>
|
|
</ListView.ItemTemplate>
|
|
</ListView>
|
|
|
|
<TextBlock x:Name="OutboundHandlesEmptyBlock"
|
|
Text="NO OUTBOUND HANDLES"
|
|
FontSize="16"
|
|
FontWeight="SemiBold"
|
|
Foreground="{DynamicResource WinMutedTextBrush}"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Visibility="Collapsed"/>
|
|
</Grid>
|
|
</DockPanel>
|
|
</Border>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</Window>
|