public FilterItem(Library.GalleryItem title, IModelItem owner, List <TitleFilter> filter) : base(owner) { this.Description = title.Caption; this.Invoked += delegate(object sender, EventArgs args) { //am I being silly here copying this? List <TitleFilter> newFilter = new List <TitleFilter>(); foreach (TitleFilter filt in filter) { newFilter.Add(filt); } newFilter.Add(new TitleFilter(title.Category.FilterType, title.Name)); OMLProperties properties = new OMLProperties(); properties.Add("Application", OMLApplication.Current); properties.Add("I18n", I18n.Instance); Command CommandContextPopOverlay = new Command(); properties.Add("CommandContextPopOverlay", CommandContextPopOverlay); Library.Code.V3.GalleryPage gallery = new Library.Code.V3.GalleryPage(newFilter, title.Description); properties.Add("Page", gallery); OMLApplication.Current.Session.GoToPage(@"resx://Library/Library.Resources/V3_GalleryPage", properties); }; }
private void GetItem(VirtualList vlist, int idx, ItemRequestCallback callbackItem) { object commandForItem = null; if (((VirtualList)this.m_listContent).IsItemAvailable(idx)) { commandForItem = this.m_listContent[idx]; } else if (((this.titles != null) && (idx >= 0)) && (idx < this.titles.Count)) { Library.GalleryItem item = this.titles[idx] as Library.GalleryItem; if (item != null) { commandForItem = this.GetCommandForItem(item); } } callbackItem(vlist, idx, commandForItem); }
private object GetCommandForItem(Library.GalleryItem item) { return(new Library.Code.V3.GenreItem(item, this, this.m_filters)); }