Example #1
0
        /// <summary>
        /// Adds a category to the list.
        /// </summary>
        /// <param name="category">Category control to add.</param>
        protected virtual void Add(CollapsibleCategory category)
        {
            category.Parent     = m_Items;
            category.Margin     = new Margin(1, 1, 1, 0);
            category.Selected  += OnCategorySelected;
            category.Collapsed += OnCategoryCollapsed;

            Invalidate();
        }
Example #2
0
        /// <summary>
        /// Adds a new category to the list.
        /// </summary>
        /// <param name="categoryName">Name of the category.</param>
        /// <returns>Newly created control.</returns>
        public virtual CollapsibleCategory Add(string categoryName, string name = null, object userData = null)
        {
            CollapsibleCategory cat = new CollapsibleCategory(this);

            cat.Text     = categoryName;
            cat.Name     = name;
            cat.UserData = userData;
            Add(cat);
            return(cat);
        }
Example #3
0
        /// <summary>
        /// Unselects all entries.
        /// </summary>
        public virtual void UnselectAll()
        {
            foreach (ControlBase child in m_Items.Children)
            {
                CollapsibleCategory cat = child as CollapsibleCategory;
                if (cat == null)
                {
                    continue;
                }

                cat.UnselectAll();
            }
        }
Example #4
0
        /// <summary>
        /// Handler for category collapsed event.
        /// </summary>
        /// <param name="control">Event source: <see cref="CollapsibleCategory"/>.</param>
        protected virtual void OnCategoryCollapsed(ControlBase control, EventArgs args)
        {
            CollapsibleCategory cat = control as CollapsibleCategory;

            if (cat == null)
            {
                return;
            }

            if (CategoryCollapsed != null)
            {
                CategoryCollapsed.Invoke(control, EventArgs.Empty);
            }
        }
Example #5
0
        /// <summary>
        /// Handler for ItemSelected event.
        /// </summary>
        /// <param name="control">Event source: <see cref="CollapsibleList"/>.</param>
        protected virtual void OnCategorySelected(ControlBase control, EventArgs args)
        {
            CollapsibleCategory cat = control as CollapsibleCategory;

            if (cat == null)
            {
                return;
            }

            if (ItemSelected != null)
            {
                ItemSelected.Invoke(this, new ItemSelectedEventArgs(cat));
            }
        }
Example #6
0
        // todo: iterator, make this as function? check if works

        /// <summary>
        /// Selected entry.
        /// </summary>
        public Button GetSelectedButton()
        {
            foreach (ControlBase child in Children)
            {
                CollapsibleCategory cat = child as CollapsibleCategory;
                if (cat == null)
                {
                    continue;
                }

                Button button = cat.GetSelectedButton();

                if (button != null)
                {
                    return(button);
                }
            }

            return(null);
        }