aversalRequest(FocusNavigationDirection.First);
            this.CtrlEventMessage.MoveFocus(traversalRequest);
        }

        /// <summary>
        /// Update main window when tab selection changes
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // This handler can be called by selectionchanged events occuring in child controls of the tabcontrol
            // We check to make sure the event source is actually the intended tab control before handling the event.
            if (e.Source == tabControlInspect && e.AddedItems.Count > 0)
            {
                var tab = (e.AddedItems[0] as TabItem);

                if (e.RemovedItems.Count > 0 && tab.Tag is InspectTabType type)
                {
                    UpdateMainWinView?.Invoke(type);
                }
            }
        }

        private void EnableEventsPanel()
        {
            this.expEvents.Visibility = Visibility.Visible;
            this.gsEvents.Visibility = Visibility.Visible;
            this.rowEvents.MinHeight = 80;
            this.rowEvents.Height = new GridLength(3, GridUnitType.Star);
        }

        private void DisableEventsPanel()
        {
            this.expEvents.Visibility = Visibility.Collapsed;
            this.gsEvents.Visibility = Visibility.Collapsed;
            this.rowEvents.MinHeight = 0;
            this.rowEvents.Height = new GridLength(0);
        }
    } // class
}//namespace


// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.o