Exemplo n.º 1
0
        /// <inheritdoc/>
        public override void OnBecameInvisible()
        {
            mouseoveredPart = SearchBoxPart.None;

            if (inspector.State.filter.HasFilter)
            {
                ClearFilterField(false);
            }
        }
Exemplo n.º 2
0
        /// <inheritdoc/>
        protected override void OnLayout(Rect itemPosition)
        {
                        #if DEV_MODE && DEBUG_MOUSEOVERED_PART
            var wasMouseovered = mouseoveredPart;
                        #endif

            var mousePos = Event.current.mousePosition;
            if (!itemPosition.Contains(mousePos))
            {
                mouseoveredPart = SearchBoxPart.None;
            }
            else
            {
                // NOTE: It is important to check clearButtonRect before filterFieldClickRect
                // since the clear button is drawn on top of the filter field since Unity 2019.3
                if (clearButtonRect.Contains(mousePos))
                {
                    mouseoveredPart = SearchBoxPart.ClearButton;
                }
                else if (dropdownButtonRect.Contains(mousePos))
                {
                    mouseoveredPart = SearchBoxPart.Dropdown;
                }
                else if (filterFieldClickRect.Contains(mousePos))
                {
                    mouseoveredPart = SearchBoxPart.TextField;
                }
                else
                {
                    mouseoveredPart = SearchBoxPart.None;
                }
            }

                        #if DEV_MODE && DEBUG_MOUSEOVERED_PART
            if (wasMouseovered != mouseoveredPart)
            {
                Debug.Log(StringUtils.ToColorizedString("mouseoveredPart = ", mouseoveredPart, " (was: ", wasMouseovered, ") with itemPosition=", itemPosition, ", mousePos=", mousePos, ", filterFieldClickRect=", filterFieldClickRect));
            }
                        #endif
        }