Exemple #1
0
        internal static uint SetItemsVisibleWhere(this IToolboxCategory category, Func <IToolboxItem, bool> func)
        {
            if (!category.HasItems)
            {
                return(0);
            }

            uint count = 0;

            foreach (var categoryItem in category.Items)
            {
                if (!func(categoryItem))
                {
                    categoryItem.IsEnabled = false;
                    categoryItem.IsVisible = false;
                }
                else
                {
                    count++;
                    categoryItem.IsVisible = true;
                }
            }

            if (count > 0)
            {
                category.IsExpanded = true;
            }
            category.InvalidateState();
            return(count);
        }
Exemple #2
0
 public void InsertCategory(int index, IToolboxCategory category, bool supressRefresh = false)
 {
     _stateProvider.ItemsSource.Insert(index, category);
     if (!supressRefresh)
     {
         _toolbox.RefreshView();
     }
 }
Exemple #3
0
        public void AddCategory(IToolboxCategory category, bool suppressRefresh = false)
        {
            var index = _stateProvider.ItemsSource.Count;

            if (ToolboxCategory.IsDefaultCategory(_stateProvider.ItemsSource.LastOrDefault()))
            {
                index--;
            }
            InsertCategory(index, category);
        }
Exemple #4
0
        private void MoveCategoryUp(IToolboxCategory category)
        {
            if (category == null)
            {
                return;
            }
            var items = _service.GetToolboxItemSource();
            var index = items.IndexOf(x => x.Equals(category));

            _service.RemoveCategory(category, false, true);
            _service.InsertCategory(index - 1, category);
            _toolbox.SelectedNode = category;
        }
Exemple #5
0
 public void RemoveCategory(IToolboxCategory category, bool cascading = true, bool supressRefresh = false)
 {
     if (_stateProvider.ItemsSource.Contains(category))
     {
         _stateProvider.ItemsSource.Remove(category);
     }
     if (cascading)
     {
         foreach (var item in category.Items.ToList())
         {
             category.RemoveItem(item);
         }
     }
     if (!supressRefresh)
     {
         _toolbox.RefreshView();
     }
 }
Exemple #6
0
        private bool CheckCategoryUp(IToolboxCategory category)
        {
            var items = _service.GetToolboxItemSource().ToList();

            if (!items.Contains(category))
            {
                return(false);
            }

            var index = items.IndexOf(category);

            if (index <= 0)
            {
                return(false);
            }
            if (items.GetRange(0, index).Any(x => x.IsVisible))
            {
                return(true);
            }
            return(false);
        }
Exemple #7
0
 public static bool IsDefaultCategory(IToolboxCategory category)
 {
     return(category.DataSource.Id.Equals(Guids.DefaultCategoryId));
 }