public void RemoveTab(int page, bool animate) { var tab = pages [page]; if (animate) { tabStrip.StartCloseAnimation((DockNotebookTab)tab); } pagesHistory.Remove(tab); if (pages.Count == 1) { CurrentTab = null; } else if (page == CurrentTabIndex) { SelectLastActiveTab(page); } pages.RemoveAt(page); UpdateIndexes(page); tabStrip.Update(); tabStrip.DropDownButton.Sensitive = pages.Count > 0; PageRemoved?.Invoke(this, new TabEventArgs { Tab = tab }); NotebookChanged?.Invoke(this, EventArgs.Empty); }
public void RemovePage(Page page) { Ensure.Contains(_pages, x => x.Identifier == page.Identifier, CoreStrings.PageIdentifierNotExist(page.Identifier)); _pages.Remove(page); _events.Add(PageRemoved.Create()); }
/// <summary> /// Raises the <see cref="PageRemoved"/> event. /// </summary> /// <param name="e">A <see cref="PageEventArgs"/> that contains event data.</param> protected internal virtual void OnPageRemoved(PageEventArgs e) { PageRemoved?.Invoke(this, e); }
public void PerformPageRemoved(object sender, PageChangedEventArgs e) { PageRemoved?.Invoke(this, e); }