private void ProcessTabs_TabRemoved(object sender, TabRemovedEventArgs e) { LOG.DebugFormat("TabRemoved - Tab: {0}", e.Tab); this.RemoveProcess(e.Tab.Controller().Process, false); CheckIfLastTab(); }
private void LogTabs_TabRemoved(object?sender, TabRemovedEventArgs e) { LOG.Debug($"{nameof( LogTabs_TabRemoved )} - Tab: {e.Tab}"); this.RemoveLogProcess(e.Tab.Controller().Process, false); CheckIfLastTab(); }
/// <summary> /// タブを閉じるメソッド /// </summary> /// <param name="tabData">タブのデータ</param> public void CloseTab(TabData tabData) { var tabRemovedEventArgs = new TabRemovedEventArgs { TabId = tabData.TabId }; _eventAggregator.GetEvent <TabRemovedEvent>().Publish(tabRemovedEventArgs); TabDatas.Remove(tabData); }
// パブリックメソッド /// <summary> /// クリックでタブを閉じるときに呼ばれるメソッド /// </summary> public void ClosingTabItemHandlerImpl(ItemActionCallbackArgs <TabablzControl> itemActionCallbackArgs) { var tabData = (TabData)itemActionCallbackArgs.DragablzItem.DataContext; var tabRemovedEventArgs = new TabRemovedEventArgs { TabId = tabData.TabId }; _eventAggregator.GetEvent <TabRemovedEvent>().Publish(tabRemovedEventArgs); }
/// <summary> /// 全てのタブを閉じるメソッド /// </summary> /// <param name="tabData"></param> public void CloseAllTabs() { foreach (var tabData in TabDatas) { var tabRemovedEventArgs = new TabRemovedEventArgs { TabId = tabData.TabId }; _eventAggregator.GetEvent <TabRemovedEvent>().Publish(tabRemovedEventArgs); } TabDatas.Clear(); }
/// <summary> /// このタブ以外すべてを閉じるメソッド /// </summary> /// <param name="thisTabData">残しておくタブ</param> public void CloseAllTabsExceptThisTab(TabData thisTabData) { foreach (var eventTabData in TabDatas.Where(tabData => tabData.TabId != thisTabData.TabId)) { var tabRemovedEventArgs = new TabRemovedEventArgs { TabId = eventTabData.TabId }; _eventAggregator.GetEvent <TabRemovedEvent>().Publish(tabRemovedEventArgs); } TabDatas.RemoveAll(tabData => tabData.TabId != thisTabData.TabId); }