Browse Source

Fix up nullable issues in Avalonia.Diagnostics.

pull/7477/head
Steven Kirk 5 years ago
parent
commit
7f774a130f
  1. 2
      src/Avalonia.Diagnostics/Diagnostics/Controls/Application.cs
  2. 7
      src/Avalonia.Diagnostics/Diagnostics/ViewLocator.cs
  3. 8
      src/Avalonia.Diagnostics/Diagnostics/Views/ConsoleView.xaml.cs
  4. 2
      src/Avalonia.Diagnostics/Diagnostics/Views/EventsPageView.xaml.cs
  5. 20
      src/Avalonia.Diagnostics/Diagnostics/Views/LayoutExplorerView.axaml.cs
  6. 6
      src/Avalonia.Diagnostics/Diagnostics/Views/MainView.xaml.cs
  7. 4
      src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml.cs

2
src/Avalonia.Diagnostics/Diagnostics/Controls/Application.cs

@ -30,7 +30,7 @@ namespace Avalonia.Diagnostics.Controls
}
RendererRoot = application.ApplicationLifetime switch
{
Lifetimes.IClassicDesktopStyleApplicationLifetime classic => classic.MainWindow.Renderer,
Lifetimes.IClassicDesktopStyleApplicationLifetime classic => classic.MainWindow?.Renderer,
Lifetimes.ISingleViewApplicationLifetime single => (single.MainView as VisualTree.IVisual)?.VisualRoot?.Renderer,
_ => null
};

7
src/Avalonia.Diagnostics/Diagnostics/ViewLocator.cs

@ -7,8 +7,11 @@ namespace Avalonia.Diagnostics
{
internal class ViewLocator : IDataTemplate
{
public IControl Build(object data)
public IControl? Build(object? data)
{
if (data is null)
return null;
var name = data.GetType().FullName!.Replace("ViewModel", "View");
var type = Type.GetType(name);
@ -22,7 +25,7 @@ namespace Avalonia.Diagnostics
}
}
public bool Match(object data)
public bool Match(object? data)
{
return data is ViewModelBase;
}

8
src/Avalonia.Diagnostics/Diagnostics/Views/ConsoleView.xaml.cs

@ -17,9 +17,9 @@ namespace Avalonia.Diagnostics.Views
public ConsoleView()
{
this.InitializeComponent();
_historyList = this.FindControl<ListBox>("historyList");
_historyList = this.GetControl<ListBox>("historyList");
((ILogical)_historyList).LogicalChildren.CollectionChanged += HistoryChanged;
_input = this.FindControl<TextBox>("input");
_input = this.GetControl<TextBox>("input");
_input.KeyDown += InputKeyDown;
}
@ -54,12 +54,12 @@ namespace Avalonia.Diagnostics.Views
break;
case Key.Up:
vm.HistoryUp();
_input.CaretIndex = _input.Text.Length;
_input.CaretIndex = _input.Text?.Length ?? 0;
e.Handled = true;
break;
case Key.Down:
vm.HistoryDown();
_input.CaretIndex = _input.Text.Length;
_input.CaretIndex = _input.Text?.Length ?? 0;
e.Handled = true;
break;
}

2
src/Avalonia.Diagnostics/Diagnostics/Views/EventsPageView.xaml.cs

@ -19,7 +19,7 @@ namespace Avalonia.Diagnostics.Views
public EventsPageView()
{
InitializeComponent();
_events = this.FindControl<ListBox>("EventsList");
_events = this.GetControl<ListBox>("EventsList");
}
public void NavigateTo(object sender, TappedEventArgs e)

20
src/Avalonia.Diagnostics/Diagnostics/Views/LayoutExplorerView.axaml.cs

@ -24,20 +24,20 @@ namespace Avalonia.Diagnostics.Views
{
InitializeComponent();
_borderArea = this.FindControl<ThicknessEditor>("BorderArea");
_paddingArea = this.FindControl<ThicknessEditor>("PaddingArea");
_borderArea = this.GetControl<ThicknessEditor>("BorderArea");
_paddingArea = this.GetControl<ThicknessEditor>("PaddingArea");
_horizontalSizeBegin = this.FindControl<Rectangle>("HorizontalSizeBegin");
_horizontalSizeEnd = this.FindControl<Rectangle>("HorizontalSizeEnd");
_verticalSizeBegin = this.FindControl<Rectangle>("VerticalSizeBegin");
_verticalSizeEnd = this.FindControl<Rectangle>("VerticalSizeEnd");
_horizontalSizeBegin = this.GetControl<Rectangle>("HorizontalSizeBegin");
_horizontalSizeEnd = this.GetControl<Rectangle>("HorizontalSizeEnd");
_verticalSizeBegin = this.GetControl<Rectangle>("VerticalSizeBegin");
_verticalSizeEnd = this.GetControl<Rectangle>("VerticalSizeEnd");
_horizontalSize = this.FindControl<Border>("HorizontalSize");
_verticalSize = this.FindControl<Border>("VerticalSize");
_horizontalSize = this.GetControl<Border>("HorizontalSize");
_verticalSize = this.GetControl<Border>("VerticalSize");
_contentArea = this.FindControl<Border>("ContentArea");
_contentArea = this.GetControl<Border>("ContentArea");
_layoutRoot = this.FindControl<Grid>("LayoutRoot");
_layoutRoot = this.GetControl<Grid>("LayoutRoot");
void SubscribeToBounds(Visual visual)
{

6
src/Avalonia.Diagnostics/Diagnostics/Views/MainView.xaml.cs

@ -19,9 +19,9 @@ namespace Avalonia.Diagnostics.Views
{
InitializeComponent();
AddHandler(KeyDownEvent, PreviewKeyDown, RoutingStrategies.Tunnel);
_console = this.FindControl<ConsoleView>("console");
_consoleSplitter = this.FindControl<GridSplitter>("consoleSplitter");
_rootGrid = this.FindControl<Grid>("rootGrid");
_console = this.GetControl<ConsoleView>("console");
_consoleSplitter = this.GetControl<GridSplitter>("consoleSplitter");
_rootGrid = this.GetControl<Grid>("rootGrid");
_consoleRow = Grid.GetRow(_console);
}

4
src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml.cs

@ -20,8 +20,8 @@ namespace Avalonia.Diagnostics.Views
public TreePageView()
{
InitializeComponent();
_tree = this.FindControl<TreeView>("tree");
_tree.ItemContainerGenerator.Index.Materialized += TreeViewItemMaterialized;
_tree = this.GetControl<TreeView>("tree");
_tree.ItemContainerGenerator.Index!.Materialized += TreeViewItemMaterialized;
_adorner = new Panel
{

Loading…
Cancel
Save