From acc9f03e34d12ac6f3f1a2196b2aa14d8d135a73 Mon Sep 17 00:00:00 2001 From: workgroupengineering Date: Wed, 3 Jan 2024 08:58:20 +0100 Subject: [PATCH] feat(DevTools): Add LaunchView property to DevToolsOptions (#14008) * feat(DevTools): Add LaunchView property to DevToolsOptions Allow set the initial diagnostic view when launch DevTools * fix: Address review --- .../Diagnostics/DevToolsOptions.cs | 5 +++++ .../Diagnostics/DevToolsViewKind.cs | 20 +++++++++++++++++++ .../Diagnostics/ViewModels/MainViewModel.cs | 1 + 3 files changed, 26 insertions(+) create mode 100644 src/Avalonia.Diagnostics/Diagnostics/DevToolsViewKind.cs diff --git a/src/Avalonia.Diagnostics/Diagnostics/DevToolsOptions.cs b/src/Avalonia.Diagnostics/Diagnostics/DevToolsOptions.cs index 909c2baa9c..b2d1ab98c9 100644 --- a/src/Avalonia.Diagnostics/Diagnostics/DevToolsOptions.cs +++ b/src/Avalonia.Diagnostics/Diagnostics/DevToolsOptions.cs @@ -52,5 +52,10 @@ namespace Avalonia.Diagnostics /// Get or set Focus Highlighter /// public IBrush? FocusHighlighterBrush { get; set; } + + /// + /// Set the kind of diagnostic view that show at launch of DevTools + /// + public DevToolsViewKind LaunchView { get; init; } } } diff --git a/src/Avalonia.Diagnostics/Diagnostics/DevToolsViewKind.cs b/src/Avalonia.Diagnostics/Diagnostics/DevToolsViewKind.cs new file mode 100644 index 0000000000..f7cf23be86 --- /dev/null +++ b/src/Avalonia.Diagnostics/Diagnostics/DevToolsViewKind.cs @@ -0,0 +1,20 @@ +namespace Avalonia.Diagnostics; + +/// +/// Kinds of diagnostic views available in DevTools +/// +public enum DevToolsViewKind +{ + /// + /// The Logical Tree diagnostic view + /// + LogicalTree, + /// + /// The Visual Tree diagnostic view + /// + VisualTree, + /// + /// Events diagnostic view + /// + Events, +} diff --git a/src/Avalonia.Diagnostics/Diagnostics/ViewModels/MainViewModel.cs b/src/Avalonia.Diagnostics/Diagnostics/ViewModels/MainViewModel.cs index 4cb4162af5..5daa480702 100644 --- a/src/Avalonia.Diagnostics/Diagnostics/ViewModels/MainViewModel.cs +++ b/src/Avalonia.Diagnostics/Diagnostics/ViewModels/MainViewModel.cs @@ -338,6 +338,7 @@ namespace Avalonia.Diagnostics.ViewModels StartupScreenIndex = options.StartupScreenIndex; ShowImplementedInterfaces = options.ShowImplementedInterfaces; FocusHighlighter = options.FocusHighlighterBrush; + SelectedTab = (int)options.LaunchView; } public bool ShowImplementedInterfaces