protected virtual int IndexOfItem(ApplicationJumpItemInfo item) { if (InteractionHelper.IsInDesignMode(this)) { return(designModeItems.IndexOf(item)); } return(nativeJumpList.IndexOf(ApplicationJumpItemWrapper.Wrap(item))); }
protected virtual ApplicationJumpItemInfo GetItem(int index) { if (InteractionHelper.IsInDesignMode(this)) { return(designModeItems[index]); } return(ApplicationJumpItemWrapper.Unwrap(nativeJumpList[index])); }
protected virtual bool RemoveItem(ApplicationJumpItemInfo item) { if (InteractionHelper.IsInDesignMode(this)) { return(designModeItems.Remove(item)); } return(nativeJumpList.Remove(ApplicationJumpItemWrapper.Wrap(item))); }
protected virtual IEnumerable <ApplicationJumpItemInfo> GetItems() { if (InteractionHelper.IsInDesignMode(this)) { return(designModeItems); } return(nativeJumpList.Select(i => ApplicationJumpItemWrapper.Unwrap(i))); }
JumpItem PrepareItem(ApplicationJumpItemInfo item, JumpItem itemToReplace) { JumpItem itemWrap = ApplicationJumpItemWrapper.Wrap(item); ApplicationJumpTaskWrap task = itemWrap as ApplicationJumpTaskWrap; if (task != null) { PrepareTask(task); JumpItem existingItem = nativeJumpList.Find(task.ApplicationJumpTask.CommandId); if (existingItem != null && existingItem != itemToReplace) { throw new ApplicationJumpTaskDuplicateCommandIdException(); } } ISupportInitialize itemInit = item; itemInit.EndInit(); return(itemWrap); }
public virtual IEnumerable <RejectedApplicationJumpItem> Apply() { if (InteractionHelper.IsInDesignMode(this)) { return new RejectedApplicationJumpItem[] { } } ; jumpActionsManager.BeginUpdate(); try { foreach (JumpItem jumpItem in nativeJumpList) { ApplicationJumpItemWrapper.FillWrapProperties(jumpItem); ApplicationJumpTaskWrap jumpTask = jumpItem as ApplicationJumpTaskWrap; if (jumpTask != null) { jumpActionsManager.RegisterAction(jumpTask, CommandLineArgumentPrefix, GetLauncherPath); } } IEnumerable <Tuple <JumpItem, JumpItemRejectionReason> > nativeRejectedItems = nativeJumpList.Apply() ?? new Tuple <JumpItem, JumpItemRejectionReason>[] { }; return(nativeRejectedItems.Select(i => new RejectedApplicationJumpItem(ApplicationJumpItemWrapper.Unwrap(i.Item1), i.Item2)).ToArray()); } finally { jumpActionsManager.EndUpdate(); } }