Esempio n. 1
0
        public void MoveToCategory(int relative)
        {
            int current = CurrentCategory();
            int next    = Math.Min(categories.Count - 1, Math.Max(0, current + relative));

            if (next < 0 || next >= categories.Count)
            {
                return;
            }
            CategorizedCompletionItems newCategory = categories[next];

            SelectionFilterIndex = newCategory.Items[0];
            ScrollToSelectedItem();
        }
Esempio n. 2
0
        bool IterateItems(CategorizedCompletionItems category, bool startAtPage, ref int ypos, ref int curItem, ItemAction action)
        {
            foreach (int item in category.Items)
            {
                var nextYpos = ypos + rowHeight;
//				if (!startAtPage || nextYpos >= vadj.Value) {
                if (action != null)
                {
                    bool result = action(category, item, curItem, ypos);
                    if (!result)
                    {
                        return(false);
                    }
                }
//				}
                ypos = nextYpos;
                curItem++;
            }
            return(true);
        }
Esempio n. 3
0
        static CategorizedCompletionItems GetCategory(List <CategorizedCompletionItems> categories, CompletionCategory completionCategory)
        {
            foreach (var cat in categories)
            {
                if (cat.CompletionCategory == completionCategory)
                {
                    return(cat);
                }
            }
            var result = new CategorizedCompletionItems();

            result.CompletionCategory = completionCategory;
            if (completionCategory == null)
            {
                categories.Add(result);
            }
            else
            {
                categories.Insert(0, result);
            }

            return(result);
        }