63 lines
3.4 KiB
XML
63 lines
3.4 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:vm="clr-namespace:gregExtractor.GUI.ViewModels"
|
|
x:Class="gregExtractor.GUI.Views.CoverageView">
|
|
<Grid RowDefinitions="Auto,Auto,*,Auto">
|
|
<Border Classes="greg-card" Grid.Row="0">
|
|
<Grid ColumnDefinitions="Auto,*,Auto,Auto">
|
|
<TextBlock Text="IL2CPP" VerticalAlignment="Center" Classes="greg-secondary"/>
|
|
<TextBox Grid.Column="1" Text="{Binding Il2CppPath}" Classes="greg-input"/>
|
|
<Button Grid.Column="2" Content="Auto" Classes="greg-secondary" Command="{Binding AutoDetectPathCommand}"/>
|
|
<Button Grid.Column="3" Content="Browse" Classes="greg-primary" Command="{Binding BrowseFolderCommand}" CommandParameter="Il2Cpp"/>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<Border Classes="greg-card" Grid.Row="1">
|
|
<Grid ColumnDefinitions="Auto,*,Auto,*">
|
|
<TextBlock Text="Hooks" VerticalAlignment="Center" Classes="greg-secondary"/>
|
|
<TextBox Grid.Column="1" Text="{Binding GameHooksPath}" Classes="greg-input"/>
|
|
<TextBlock Grid.Column="2" Text="Output" VerticalAlignment="Center" Classes="greg-secondary"/>
|
|
<TextBox Grid.Column="3" Text="{Binding OutputBasePath}" Classes="greg-input"/>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<Grid Grid.Row="2" ColumnDefinitions="280,*">
|
|
<Border Classes="greg-card" Grid.Column="0">
|
|
<StackPanel Spacing="8">
|
|
<Button Content="Coverage analysieren" Classes="greg-primary" Command="{Binding AnalyzeCoverageCommand}" Height="36"/>
|
|
<Button Content="Markdown öffnen" Classes="greg-secondary" Command="{Binding OpenMarkdownReportCommand}"/>
|
|
<Separator/>
|
|
<TextBlock Text="{Binding TotalHooks, StringFormat='Total: {0}'}"/>
|
|
<TextBlock Text="{Binding CoveredCount, StringFormat='Covered: {0}'}"/>
|
|
<TextBlock Text="{Binding PlannedCount, StringFormat='Planned: {0}'}"/>
|
|
<TextBlock Text="{Binding UncoveredCount, StringFormat='Uncovered: {0}'}"/>
|
|
<TextBlock Text="{Binding CoveragePercent, StringFormat='Coverage: {0:F2}%'}"/>
|
|
<Separator/>
|
|
<ListBox ItemsSource="{Binding LogLines}" Height="280"/>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<Border Classes="greg-card" Grid.Column="1">
|
|
<DataGrid ItemsSource="{Binding Entries}" AutoGenerateColumns="False">
|
|
<DataGrid.Columns>
|
|
<DataGridTextColumn Header="Status" Binding="{Binding CoverageStatus}" Width="120"/>
|
|
<DataGridTextColumn Header="Group" Binding="{Binding HookDefinition.Group}" Width="160"/>
|
|
<DataGridTextColumn Header="Class" Binding="{Binding HookDefinition.ClassName}" Width="200"/>
|
|
<DataGridTextColumn Header="Method" Binding="{Binding HookDefinition.MethodName}" Width="*"/>
|
|
<DataGridTextColumn Header="Files" Binding="{Binding FoundInFiles.Count}" Width="80"/>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<ProgressBar Grid.Row="3" Value="{Binding Progress}" Maximum="100" Classes="greg-progress"/>
|
|
|
|
<Border IsVisible="{Binding IsLoading}" Background="#880B1220" CornerRadius="12">
|
|
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Spacing="8">
|
|
<ProgressBar IsIndeterminate="True" Width="220"/>
|
|
<TextBlock Text="Coverage läuft..."/>
|
|
</StackPanel>
|
|
</Border>
|
|
</Grid>
|
|
</UserControl>
|