/// <summary> /// initialize /// </summary> private void Initialize() { this.Background = ColorDef.TabBackground; this._items[0].IsChecked = true; foreach (var item in this._items.Select((v, i) => new { v, i })) { item.v.IsEnabled = false; item.v.Checked += (sender, e) => { if (this._preventEvent) { this._preventEvent = false; } else { var button = sender as RadioButton; if (true == button.IsChecked) { TabChanged?.Invoke(item.i); } } }; } this._items[0].IsEnabled = true; }
/// <summary> /// Handler of the scroll event. /// </summary> protected void OnTabChanged() { TabChanged?.Invoke(this, new SelectedValueEventArgs() { SelectedValue = _leftMostIndex }); }
public void RaiseTabChanged(int index) { if (index != _selectedInd) { TabChanged?.Invoke(index); _selectedInd = index; } }
/// <summary> /// Invoked when the selected tab is changed. /// </summary> /// <param name="sender">Sender object.</param> /// <param name="args">Event arguments.</param> /// <remarks> /// Note that there is no [ConnectBefore] attribute, /// so at the time this is called, this.TabIndex /// will return the correct (updated) value. /// </remarks> private void OnSwitchPage(object sender, SwitchPageArgs args) { try { TabChanged?.Invoke(this, EventArgs.Empty); } catch (Exception err) { ShowError(err); } }
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(); }
protected virtual void InitializeChildrenPages() { this.currentTabPage = (TabPage)Children.First(); this.CurrentPageChanged += (s, e) => { var prev = (ITabViewModel)currentTabPage.BindingContext; prev.IsSelected = false; //set current page from tabbed this.currentTabPage = (TabPage)CurrentPage; var current = (ITabViewModel)currentTabPage.BindingContext; current.IsSelected = true; //fire events TabChanged?.Invoke(prev, current); }; }
public override Fragment GetItem(int position) { if (position == 0) { return(new FragmentCalendar()); } if (position == 1) { return(new FragmentEvents()); } if (position == 2) { return(new FragmentProfile()); } TabChanged?.Invoke(position, null); return(null); }
public override Fragment GetItem(int position) { if (position == 0) { return(new DashboardFragment()); } if (position == 1) { return(new CameraFragment()); } if (position == 2) { return(new SettingsFragment()); } if (position == 3) { return(new HelpFragment()); } TabChanged?.Invoke(position, null); return(null); }
public void ShowTab(MenuTab tab) { gameObject.SetActive(true); if (_current == _tabs[tab]) { return; } if (_current != null) { _current.TabContents.SetActive(false); _current.Text.color = InactiveTabColor; } CurrentTab = tab; _current = _tabs[tab]; _current.TabContents.SetActive(true); _current.Text.color = ActiveTabColor; TabChanged?.Invoke(tab); }
/// <summary> /// Close a given tab in the UI /// </summary> /// <param name="tab"></param> private void CloseTab(TabPage tab) { Debug.Assert(tab != null); // If this is the last tab, we need to add an empty tab before we remove it if (tabControl1.TabCount == 1) { AddEmptyTab(); } if (tab == tabControl1.SelectedTab) { // need to select another tab first for (var i = 0; i < tabControl1.TabCount; ++i) { if (tabControl1.TabPages[i] == tab) { continue; } SelectTab(tabControl1.TabPages[i]); break; } } // free all internal data for this scene UiState.RemoveTab(tab); // and drop the UI tab tabControl1.TabPages.Remove(tab); TabChanged?.Invoke((Tab)tab.Tag, false); if (_emptyTab == tab) { _emptyTab = null; } }
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); } } } }
private void items_SelectionChanged(object sender, SelectionChangedEventArgs <TabItem> e) { LoadTemplateItems(); if (_internalAction) { return; } if (e.AddedItems.Count > 0) { // selection has changed TabItem newItem = e.AddedItems[0]; if (ic != null) { for (int i = 0; i < ic.Items.Count; i++) { // I really dislike this roundabout way that I have to get the child items of an ItemsControl, but I guess this is how it is // from https://stackoverflow.com/a/1876534/2987285 ContentPresenter c = (ContentPresenter)ic.ItemContainerGenerator.ContainerFromItem(ic.Items[i]); c.ApplyTemplate(); #if NETCOREAPP TabDisplayItem?tb = c.ContentTemplate.FindName("PART_TabItem", c) as TabDisplayItem; #else TabDisplayItem tb = c.ContentTemplate.FindName("PART_TabItem", c) as TabDisplayItem; #endif if (tb != null) { if (tb.TabItem != null && tb.TabItem == newItem) { tb.IsSelected = true; } else { tb.IsSelected = false; } } } } if (ch != null) { ch.Child = newItem.Content; } TabChanged?.Invoke(this, new TabItemChangeEventArgs(newItem)); } else { if (Items.SelectedItems.Count == 0) { if (ch != null) { ch.Child = null; } if (Items.Count > 0) { switch (SelectedTabClosedAction) { case SelectedTabCloseAction.SelectNothing: // nothing to do break; case SelectedTabCloseAction.SelectFirstTab: Items.Select(Items[0]); break; case SelectedTabCloseAction.SelectLastTab: Items.Select(Items[Items.Count - 1]); break; case SelectedTabCloseAction.SelectTabToLeft: if (closedTabIndex == -1) { // most likely closed via Items.Remove command Items.Select(Items[0]); } else if (closedTabIndex == 0) { // left most tab closed Items.Select(Items[0]); } else { Items.Select(Items[closedTabIndex - 1]); } break; case SelectedTabCloseAction.SelectTabToRight: if (closedTabIndex == -1) { // most likely closed via Items.Remove command Items.Select(Items[Items.Count - 1]); } else { Items.Select(Items[closedTabIndex]); } break; default: // treat as if SelectNothing break; } } } } }
/// <summary> /// call TabChanged /// </summary> private void OnTabControlSelectedIndexChanged(object sender, EventArgs e) { Refresh(); TabChanged?.Invoke(tabControlData.SelectedIndex); }
protected void OnTabChanged(TabPage tabPage) { TabChanged?.Invoke(tabPage); }
private static void OnTabChanged() { TabChanged?.Invoke(null, EventArgs.Empty); }
void ChangeTab(InventoryTabSO newTabType) { TabChanged.Invoke(newTabType); }
private void AuditLogTabControl_SelectedIndexChanged(object sender, EventArgs e) { TabChanged?.Invoke(CurrentTab, e); }