internal void ChangeSelection(DebugUIHandlerWidget widget, bool fromNext) { if (widget == null) { return; } if (m_SelectedWidget != null) { m_SelectedWidget.OnDeselection(); } var prev = m_SelectedWidget; m_SelectedWidget = widget; SetScrollTarget(widget); if (!m_SelectedWidget.OnSelection(fromNext, prev)) { if (fromNext) { SelectNextItem(); } else { SelectPreviousItem(); } } else { if (m_SelectedWidget == null || m_SelectedWidget.GetWidget() == null) { m_CurrentQueryPath = string.Empty; } else { m_CurrentQueryPath = m_SelectedWidget.GetWidget().queryPath; } } }