void Init(Rect screenActivatorRect, CodeCompletionWindowInput input, ISettings settings)
        {
            _input         = input;
            _activatorRect = screenActivatorRect;
            _userWidth     = settings.GetSetting("PopupUserWidth") as IntSetting ?? new IntSetting("PopupUserWidth", -1, settings);
            _userHeight    = settings.GetSetting("PopupUserHeight") as IntSetting ?? new IntSetting("PopupUserHeight", -1, settings);

            ShowAsDropDown(screenActivatorRect, GetWindowSize());
            Repaint();
        }
 internal static bool ShowAtPosition(Rect screenActivatorRect, CodeCompletionWindowInput input, ISettings settings)
 {
     if (s_Instance == null)
     {
         s_Instance           = CreateInstance <CodeCompletionWindow>();
         s_Instance.hideFlags = HideFlags.HideAndDontSave;
     }
     s_Instance.Init(screenActivatorRect, input, settings);
     return(true);
 }
		internal static bool ShowAtPosition(Rect screenActivatorRect, CodeCompletionWindowInput input, ISettings settings)
		{
			if (s_Instance == null)
			{
				s_Instance = CreateInstance<CodeCompletionWindow>();
				s_Instance.hideFlags = HideFlags.HideAndDontSave;
			}
			s_Instance.Init(screenActivatorRect, input, settings);
			return true;
		}
		void Init(Rect screenActivatorRect, CodeCompletionWindowInput input, ISettings settings)
		{
			_input = input;
			_activatorRect = screenActivatorRect;
			_userWidth = settings.GetSetting("PopupUserWidth") as IntSetting ?? new IntSetting("PopupUserWidth", -1, settings);
			_userHeight = settings.GetSetting("PopupUserHeight") as IntSetting ?? new IntSetting("PopupUserHeight", -1, settings);

			ShowAsDropDown(screenActivatorRect, GetWindowSize());
			Repaint();
		}
        public void OnGUI()
        {
            if (_state != State.ShowWindow)
                return;

            _state = State.Idle;

            if (_word.Length == 0)
            {
                CodeCompletionWindow.CloseList();
                return;
            }

            var input = new CodeCompletionWindowInput();
            var provider = new CodeCompletionListItemProvider(_word);
            input.m_ItemProvider = provider;
            input.m_ItemGUI = new CodeCompletionListItemGUI(18, provider);
            input.m_OnSelectCallback += CodeCompletionCallback;
            input.m_SelectedListIndex = 0; // Use -1 for invisible marker when showing
            input.m_CodeView = _codeView;

            CodeCompletionWindow.ShowAtPosition(_wordScreenRect, input, _textView.Settings);
        }