Пример #1
0
        private void PopulateSearches(IEnumerable <ISearchQuery> builtinSearches)
        {
            foreach (var q in builtinSearches)
            {
                m_Searches.Add(q, QueryHelperSearchGroup.QueryType.Template, SearchQuery.GetIcon(q));
            }

            foreach (var q in SearchQueryAsset.savedQueries.Cast <ISearchQuery>().Concat(SearchQuery.userQueries).Where(q => q.isSearchTemplate))
            {
                m_Searches.Add(q, QueryHelperSearchGroup.QueryType.Template, SearchQuery.GetIcon(q));
            }

            foreach (var a in EnumerateUniqueRecentSearches().Take(5))
            {
                m_Searches.Add(a, QueryHelperSearchGroup.QueryType.Recent, Constants.recentSearchesIcon);
            }
        }
        private void DrawQueryLabelAndIcon(Rect rowRect, RowGUIArgs args, SearchQueryTreeViewItem tvi, bool hovered, bool usePropertyDatabase)
        {
            var itemContent    = Utils.GUIContentTemp(Utils.Simplify(tvi.query.displayName), SearchQuery.GetIcon(tvi.query));
            var oldLeftPadding = Styles.itemLabel.padding.left;

            Styles.itemLabel.padding.left += Mathf.RoundToInt(GetContentIndent(args.item) + extraSpaceBeforeIconAndLabel);

            if (usePropertyDatabase)
            {
                var itemRect    = new Rect(rowRect.x, rowRect.y, Mathf.Floor(rowRect.xMax - 27f), 22f);
                var oldClipping = Styles.itemLabel.clipping;
                Styles.itemLabel.clipping = TextClipping.Clip;
                Styles.itemLabel.Draw(itemRect, itemContent, hovered, args.selected, false, false);
                Styles.itemLabel.clipping = oldClipping;
            }
            else
            {
                Styles.itemLabel.Draw(rowRect, itemContent, hovered, args.selected, false, false);
            }

            Styles.itemLabel.padding.left = oldLeftPadding;
        }