There is no need to have Area::AcceptKeyNavFocusOnMouseDown use GetInputEventSensitivity().
Area::AcceptKeyNavFocus() uses GetInputEventSensitivity() already.
That way we can also get other Views to not get the focus on mouse down events if there is a need for it. Not just BaseWindows. Let me know if this still works with your branch.
There is a similar problem with InputArea::AcceptKeyNavFocus(). I will re-factor it to work like SetAcceptKeyNavFocusOnMouseDown.
There is no need to have Area::AcceptKey NavFocusOnMouse Down use GetInputEventSe nsitivity( ). NavFocus( ) uses GetInputEventSe nsitivity( ) already.
Area::AcceptKey
I propose the following
class InputArea
{
virtual bool AcceptKeyNavFoc usOnMouseDown( ); FocusOnMouseDow n(bool accept);
void SetAcceptKeyNav
bool accept_ key_nav_ focus_on_ mouse_down_ ;
}
InputArea: :InputArea( ) key_nav_ focus_on_ mouse_down_ = true;
{
accept_
}
bool InputArea: :AcceptKeyNavFo cusOnMouseDown( ) key_nav_ focus_on_ mouse_down_ ;
{
return accept_
}
void InputArea: :SetAcceptKeyNa vFocusOnMouseDo wn(bool accept) key_nav_ focus_on_ mouse_down_ = accept;
{
accept_
}
BaseWindow: :BaseWindow( ...)
{
SetAcceptKeyN avFocusOnMouseD own(false) ;
}
That way we can also get other Views to not get the focus on mouse down events if there is a need for it. Not just BaseWindows. Let me know if this still works with your branch.
There is a similar problem with InputArea: :AcceptKeyNavFo cus(). I will re-factor it to work like SetAcceptKeyNav FocusOnMouseDow n.