/// <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(); } }
protected virtual void OnItemCollapsed(object sender, OutlookViewItemEventArgs args) { OutlookViewItemEventHandler handler = this.Events[ItemCollapsedEventKey] as OutlookViewItemEventHandler; if (handler != null) { handler(sender, args); } }
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); }
/// <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(); } }
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); }