public void RemoveTab(int index) { TabRemoving?.Invoke(this, index); lock (_syncRoot) { Texts.RemoveAt(index); TabIds.RemoveAt(index); Widths.RemoveAt(index); Icons.RemoveAt(index); Tags.RemoveAt(index); var selectedIndex = SelectedIndex >= index ? SelectedIndex - 1 : SelectedIndex; selectedIndex = getValidIndex(selectedIndex); setSelectedIndex(selectedIndex); } OnLayout(new LayoutEventArgs(this, null)); Invalidate(); TabRemoved?.Invoke(this); }
protected void OnTabRemoved(TabRemovedEventArgs e) { if (!SupressTabEvents && !ClosingTab) { TabRemoved?.Invoke(this, e); } }
/// <summary> /// Handler for tab removing. /// </summary> /// <param name="button"></param> internal virtual void OnLoseTab(TabButton button) { if (TabRemoved != null) { TabRemoved.Invoke(this, EventArgs.Empty); } Invalidate(); }
public void Remove(int index) { tabs.RemoveAt(index); TabRemoved?.Invoke(index); if (this.selectedIndex == index) { this.SelectedIndex = index - 1; } else { this.Invalidate(); } }
protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); //process left mouse button only if (e.Button != MouseButtons.Left) { return; } if (workArea.Contains(e.Location) == false) { if (mCaptured == true && capTab != -1 && _tabsEnabled == true) { try { float pos = tabs[capTab].X * dotsPermm; tabs.RemoveAt(capTab); if (TabRemoved != null) { TabRemoved.Invoke(CreateTabArgs(pos)); } } catch (Exception) { } } } else if (workArea.Contains(e.Location) == true) { if (mCaptured != true && _tabsEnabled == true) { AddTab((float)e.Location.X); } else if (mCaptured == true && capTab != -1) { if (TabChanged != null && _tabsEnabled == true) { TabChanged.Invoke(CreateTabArgs(e.Location.X)); } } } capTab = -1; mCaptured = false; capObject = -1; this.Refresh(); }
/// <summary> /// Handler for tab removing. /// </summary> /// <param name="button"></param> internal virtual void OnLoseTab(TabButton button) { if (m_CurrentButton == button) { m_CurrentButton = null; } //TODO: Select a tab if any exist. if (TabRemoved != null) { TabRemoved.Invoke(this); } Invalidate(); }
/// <summary> /// Handler for tab removing. /// </summary> /// <param name="button"></param> internal virtual void OnLoseTab(TabButton button) { if (m_CurrentButton == button) { m_CurrentButton = null; } if (TabCount > 0) { button = m_TabStrip.Children[0] as TabButton; if (button != null) { button.Page.Show(); m_CurrentButton = button; } } if (TabRemoved != null) { TabRemoved.Invoke(this, EventArgs.Empty); } Invalidate(); }
internal void RemoveEvents(IPluginClient pluginClient) { if (TabChanged != null) { foreach (PluginEventHandler handler in TabChanged.GetInvocationList()) { if (handler.Target == pluginClient) { TabChanged = (PluginEventHandler)Delegate.Remove(TabChanged, handler); } } } if (TabAdded != null) { foreach (PluginEventHandler handler2 in TabAdded.GetInvocationList()) { if (handler2.Target == pluginClient) { TabAdded = (PluginEventHandler)Delegate.Remove(TabAdded, handler2); } } } if (TabRemoved != null) { foreach (PluginEventHandler handler3 in TabRemoved.GetInvocationList()) { if (handler3.Target == pluginClient) { TabRemoved = (PluginEventHandler)Delegate.Remove(TabRemoved, handler3); } } } if (NavigationComplete != null) { foreach (PluginEventHandler handler4 in NavigationComplete.GetInvocationList()) { if (handler4.Target == pluginClient) { NavigationComplete = (PluginEventHandler)Delegate.Remove(NavigationComplete, handler4); } } } if (SelectionChanged != null) { foreach (PluginEventHandler handler5 in SelectionChanged.GetInvocationList()) { if (handler5.Target == pluginClient) { SelectionChanged = (PluginEventHandler)Delegate.Remove(SelectionChanged, handler5); } } } if (ExplorerStateChanged != null) { foreach (PluginEventHandler handler6 in ExplorerStateChanged.GetInvocationList()) { if (handler6.Target == pluginClient) { ExplorerStateChanged = (PluginEventHandler)Delegate.Remove(ExplorerStateChanged, handler6); } } } if (SettingsChanged != null) { foreach (PluginEventHandler handler7 in SettingsChanged.GetInvocationList()) { if (handler7.Target == pluginClient) { SettingsChanged = (PluginEventHandler)Delegate.Remove(SettingsChanged, handler7); } } } if (MouseEnter != null) { foreach (EventHandler handler8 in MouseEnter.GetInvocationList()) { if (handler8.Target == pluginClient) { MouseEnter = (EventHandler)Delegate.Remove(MouseEnter, handler8); } } } if (PointedTabChanged != null) { foreach (PluginEventHandler handler9 in PointedTabChanged.GetInvocationList()) { if (handler9.Target == pluginClient) { PointedTabChanged = (PluginEventHandler)Delegate.Remove(PointedTabChanged, handler9); } } } if (MouseLeave != null) { foreach (EventHandler handler10 in MouseLeave.GetInvocationList()) { if (handler10.Target == pluginClient) { MouseLeave = (EventHandler)Delegate.Remove(MouseLeave, handler10); } } } if (MenuRendererChanged != null) { foreach (EventHandler handler11 in MenuRendererChanged.GetInvocationList()) { if (handler11.Target == pluginClient) { MenuRendererChanged = (EventHandler)Delegate.Remove(MenuRendererChanged, handler11); } } } }