public ShowListSelectionWindow(bool enable, List<INamedItem> data, bool useLetters, string title, ListItemShouldBeEnabled selectionDelegate)
 {
     m_show = enable;
     m_data = data;
     m_title = title;
     m_useLetters = useLetters;
     m_selectionDelegate = selectionDelegate;
 }
        internal void Enable(List<INamedItem> data, string title, bool useLetters, ListItemShouldBeEnabled shouldBeSelectedDelegate)
        {
            if (!m_shouldNotResetCursorPosition)
            {
                m_cursorPosition = 0;
                m_lowerRange = 0;
                m_higherRange = 0;
            }
            else
            {
                m_shouldNotResetCursorPosition = false;
            }
            
            // This gets set before UpdateFromNewData in case we say we want letters but have too many items
            m_useCharactersNextToItems = useLetters;

            UpdateFromNewData(data);
            m_shouldBeSelectedDelegate = shouldBeSelectedDelegate;
            m_title = title;

            m_enabled = true;
        }