From d69c283767d2eb3d0179e72658d72c15ee1dfd27 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Sat, 23 Jan 2016 19:38:38 +0100 Subject: [PATCH] Display Focused and PointerOver control. --- src/Perspex.Diagnostics/DevTools.paml | 1 + .../ViewModels/DevToolsViewModel.cs | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Perspex.Diagnostics/DevTools.paml b/src/Perspex.Diagnostics/DevTools.paml index 76f58222e1..44204281fa 100644 --- a/src/Perspex.Diagnostics/DevTools.paml +++ b/src/Perspex.Diagnostics/DevTools.paml @@ -10,6 +10,7 @@ Focused: + Pointer Over: diff --git a/src/Perspex.Diagnostics/ViewModels/DevToolsViewModel.cs b/src/Perspex.Diagnostics/ViewModels/DevToolsViewModel.cs index 67fcc505f4..ef9dc5a371 100644 --- a/src/Perspex.Diagnostics/ViewModels/DevToolsViewModel.cs +++ b/src/Perspex.Diagnostics/ViewModels/DevToolsViewModel.cs @@ -21,9 +21,9 @@ namespace Perspex.Diagnostics.ViewModels private TreePageViewModel _visualTree; - private readonly ObservableAsPropertyHelper _focusedControl; + private readonly ObservableAsPropertyHelper _focusedControl; - private readonly ObservableAsPropertyHelper _pointerOverElement; + private readonly ObservableAsPropertyHelper _pointerOverElement; public DevToolsViewModel(IControl root) { @@ -46,12 +46,12 @@ namespace Perspex.Diagnostics.ViewModels _focusedControl = KeyboardDevice.Instance .WhenAnyValue(x => x.FocusedElement) + .Select(x => x?.GetType().Name) .ToProperty(this, x => x.FocusedControl); - //_pointerOverElement = this.WhenAnyValue(x => x.Root, x => x as TopLevel) - // .Select(x => x?.GetObservable(TopLevel.PointerOverElementProperty) ?? Observable.Empty()) - // .Switch() - // .ToProperty(this, x => x.PointerOverElement); + _pointerOverElement = root.GetObservable(TopLevel.PointerOverElementProperty) + .Select(x => x?.GetType().Name) + .ToProperty(this, x => x.PointerOverElement); } public ReactiveObject Content @@ -66,8 +66,8 @@ namespace Perspex.Diagnostics.ViewModels set { this.RaiseAndSetIfChanged(ref _selectedTab, value); } } - public IInputElement FocusedControl => _focusedControl.Value; + public string FocusedControl => _focusedControl.Value; - //public IInputElement PointerOverElement => _pointerOverElement.Value; + public string PointerOverElement => _pointerOverElement.Value; } }