/// <summary>
        /// Opens up the selector instance in a popup with the specified width and height.
        /// The mouse position is used as the position for the window.
        /// </summary>
        public OdinEditorWindow ShowInPopup(float width, float height)
        {
            var prevSelectedWindow  = EditorWindow.focusedWindow;
            OdinEditorWindow window = OdinEditorWindow.InspectObjectInDropDown(this, width, height);

            SetupWindow(window, prevSelectedWindow);
            return(window);
        }
        /// <summary>
        /// Opens up the selector instance in a popup at the specified rect position.
        /// </summary>
        public OdinEditorWindow ShowInPopup(Rect btnRect, Vector2 windowSize)
        {
            var prevSelectedWindow  = EditorWindow.focusedWindow;
            OdinEditorWindow window = OdinEditorWindow.InspectObjectInDropDown(this, btnRect, windowSize);

            SetupWindow(window, prevSelectedWindow);
            return(window);
        }
        /// <summary>
        /// Opens up the selector instance in a popup at the specified position.
        /// </summary>
        public OdinEditorWindow ShowInPopup(Vector2 position, float windowWidth)
        {
            var prevSelectedWindow  = EditorWindow.focusedWindow;
            OdinEditorWindow window = OdinEditorWindow.InspectObjectInDropDown(this, position, windowWidth);

            SetupWindow(window, prevSelectedWindow);
            return(window);
        }
        /// <summary>
        /// Opens up the selector instance in a popup at the specified position.
        /// The width of the popup is determined by DefaultWindowWidth, and the height is automatically calculated.
        /// </summary>
        public OdinEditorWindow ShowInPopup(Vector2 position)
        {
            var prevSelectedWindow = EditorWindow.focusedWindow;
            OdinEditorWindow window;

            var width = this.DefaultWindowWidth();

            if (width == 0)
            {
                window = OdinEditorWindow.InspectObjectInDropDown(this, position);
            }
            else
            {
                window = OdinEditorWindow.InspectObjectInDropDown(this, position, width);
            }

            SetupWindow(window, prevSelectedWindow);
            return(window);
        }