Example #1
0
        /// <summary>
        /// Makes an item visible. The item will appear as checked in the
        /// overflow menu.
        /// </summary>
        /// <param name="item">The item to make visible.</param>
        public virtual void CheckItem(RadPageViewOutlookItem item)
        {
            if (!this.uncheckedItems.Contains(item))
            {
                return;
            }
            this.uncheckedItems.Remove(item);
            OutlookViewItemEventArgs args = new OutlookViewItemEventArgs(item);

            this.OnItemChecked(this, args);

            if (this.hiddenItems.Contains(item))
            {
                return;
            }

            item.Visibility = ElementVisibility.Visible;

            //Hide the first possible visible item in case we check
            //an item that was initially visible.
            if (this.GetCurrentlyVisibleItemsCount() > this.layoutInfo.itemCount)
            {
                this.HideFirstPossibleItem();
            }
        }
Example #2
0
        protected virtual void OnItemCollapsed(object sender, OutlookViewItemEventArgs args)
        {
            OutlookViewItemEventHandler handler = this.Events[ItemCollapsedEventKey] as OutlookViewItemEventHandler;

            if (handler != null)
            {
                handler(sender, args);
            }
        }
Example #3
0
        internal virtual bool HideFirstPossibleItem()
        {
            RadPageViewOutlookItem item = this.GetNextVisibleItem();

            if (item == null || this.hiddenItems.Contains(item))
            {
                return(false);
            }

            item.Visibility = ElementVisibility.Collapsed;
            this.hiddenItems.Add(item);
            this.itemsContainer.RegisterCollapsedItem(item);
            OutlookViewItemEventArgs args = new OutlookViewItemEventArgs(item);

            this.OnItemCollapsed(this, args);
            return(true);
        }
Example #4
0
        /// <summary>
        /// Makes an item invisible. The item will appear as unchecked in the
        /// overflow menu.
        /// </summary>
        /// <param name="item">The item to make invisible.</param>
        public virtual void UncheckItem(RadPageViewOutlookItem item)
        {
            if (this.uncheckedItems.Contains(item))
            {
                return;
            }
            this.uncheckedItems.Add(item);
            item.Visibility = ElementVisibility.Collapsed;
            OutlookViewItemEventArgs args = new OutlookViewItemEventArgs(item);

            this.OnItemUnchecked(this, args);

            //Show the first possible hidden item in case we uncheck
            //an item that is among the visible items.
            if (!this.hiddenItems.Contains(item) &&
                this.GetCurrentlyVisibleItemsCount() <= this.layoutInfo.itemCount)
            {
                this.ShowFirstPossibleItem();
            }
        }
Example #5
0
        internal virtual bool ShowFirstPossibleItem()
        {
            if (this.hiddenItems.Count == 0)
            {
                return(false);
            }

            RadPageViewOutlookItem item = null;

            for (int i = this.hiddenItems.Count - 1; i > -1; i--)
            {
                item = this.hiddenItems[i];

                if (this.uncheckedItems.Contains(item))
                {
                    item = null;
                    continue;
                }
                else
                {
                    break;
                }
            }

            if (item == null)
            {
                return(false);
            }

            this.hiddenItems.Remove(item);

            item.Visibility = ElementVisibility.Visible;
            this.itemsContainer.UnregisterCollapsedItem(item);
            OutlookViewItemEventArgs args = new OutlookViewItemEventArgs(item);

            this.OnItemShown(this, args);
            return(true);
        }