protected override void OnSelectionChanged() { base.OnSelectionChanged(); TabbedMultiView multiView = ((TabbedMultiView)OwnerControl); TabView view = null; // Cannot use FindControl without a Naming Container. Only during initialization phase of aspx. if (multiView.NamingContainer != null) { bool isPlaceHolderTab = _target == null; if (isPlaceHolderTab) { view = multiView._placeHolderTabView; } else { view = (TabView)multiView.MultiViewInternal.FindControl(_target); } } else { foreach (TabView tabView in multiView.MultiViewInternal.Controls) { if (tabView.ID == _target) { view = tabView; break; } } } multiView.SetActiveView(view); }
private void OnTabViewRemove(TabView view) { EnsureChildControls(); TabView activeView = GetActiveView(); if (view != null && view == activeView) { int index = MultiViewInternal.Controls.IndexOf(view); bool isLastTab = index == MultiViewInternal.Controls.Count - 1; if (isLastTab) { if (MultiViewInternal.Controls.Count > 1) { _newActiveTabAfterRemove = (TabView)MultiViewInternal.Controls[index - 1]; } else // No Tabs left after this tab { _newActiveTabAfterRemove = _placeHolderTabView; } } else { _newActiveTabAfterRemove = (TabView)MultiViewInternal.Controls[index + 1]; } } else { _newActiveTabAfterRemove = null; } }
public override void AddAt(int index, Control control) { TabView view = ArgumentUtility.CheckNotNullAndType <TabView> ("control", control); base.AddAt(index, view); Owner.OnTabViewInserted(view); }
public override void Remove(Control control) { TabView view = ArgumentUtility.CheckNotNullAndType <TabView> ("control", control); Owner.OnTabViewRemove(view); base.Remove(control); Owner.OnTabViewRemoved(view); }
public void SetActiveView(TabView view) { ArgumentUtility.CheckNotNull("view", view); MultiViewInternal.SetActiveView(view); TabView activeView = GetActiveView(); WebTab nextActiveTab = _tabStrip.Tabs.Find(activeView.ID + c_itemIDSuffix); nextActiveTab.IsSelected = true; }
public TabView GetActiveView() { TabView view = (TabView)MultiViewInternal.GetActiveView(); if (view != null && _isInitialized) { view.EnsureLazyControls(); } return(view); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); TabView view = (TabView)MultiViewInternal.GetActiveView(); if (view != null) { view.EnsureLazyControls(); } }
protected override void AddedControl(Control control, int index) { TabView tabView = ArgumentUtility.CheckNotNullAndType <TabView> ("control", control); tabView.IsLazyLoadingEnabled = Parent.EnableLazyLoading; if (!Parent.EnableLazyLoading) { tabView.EnsureLazyControls(); } base.AddedControl(control, index); }
public override void RemoveAt(int index) { if (index < 0 || index > this.Count) { throw new ArgumentOutOfRangeException("index"); } TabView view = (TabView)this[index]; Owner.OnTabViewRemove(view); base.RemoveAt(index); Owner.OnTabViewRemoved(view); }
private void OnTabViewInserted(TabView view) { EnsureChildControls(); MultiViewTab tab = new MultiViewTab(); tab.ItemID = view.ID + c_itemIDSuffix; tab.Text = view.Title; tab.Icon = view.Icon; tab.Target = view.ID; _tabStrip.Tabs.Add(tab); if (Views.Count == 2 && Views.IndexOf(_placeHolderTabView) > 0) { Views.Remove(_placeHolderTabView); } if (Views.Count == 1) { _multiViewInternal.ActiveViewIndex = 0; } }
private void OnTabViewRemoved(TabView view) { EnsureChildControls(); WebTab tab = _tabStrip.Tabs.Find(view.ID + c_itemIDSuffix); if (tab == null) { return; } int tabIndex = _tabStrip.Tabs.IndexOf(tab); _tabStrip.Tabs.RemoveAt(tabIndex); if (_newActiveTabAfterRemove != null) { if (_newActiveTabAfterRemove == _placeHolderTabView) { Views.Add(_placeHolderTabView); } SetActiveView(_newActiveTabAfterRemove); } }
internal void OnTabViewRemoved(TabView view) { Parent.OnTabViewRemoved(view); }
internal void OnTabViewInserted(TabView view) { Parent.OnTabViewInserted(view); }