private void _switcher_SelectedSwitchPageChanged(object sender, EventArgs e) { ISelectionService service = (ISelectionService)this.GetService(typeof(ISelectionService)); if (service != null) { ICollection selectedComponents = service.GetSelectedComponents(); bool flag = false; foreach (object selectedComponent in selectedComponents) { NuGenSwitchPage switchPageOfComponent = NuGenSwitcherDesigner.GetSwitchPageOfComponent(selectedComponent); if ( switchPageOfComponent != null && switchPageOfComponent.Parent == _switcher && switchPageOfComponent == _switcher.SelectedSwitchPage ) { flag = true; break; } } if (!flag) { service.SetSelectedComponents(new object[] { base.Component }); } } }
/* * GetSelectedSwitchPageDesigner */ /// <summary> /// </summary> /// <returns></returns> protected NuGenSwitchPageDesigner GetSelectedSwitchPageDesigner() { NuGenSwitchPageDesigner switchPageDesigner = null; NuGenSwitchPage selectedSwitchPage = _switcher.SelectedSwitchPage; if (selectedSwitchPage != null) { IDesignerHost host = (IDesignerHost)this.GetService(typeof(IDesignerHost)); if (host != null) { switchPageDesigner = host.GetDesigner(selectedSwitchPage) as NuGenSwitchPageDesigner; } } return(switchPageDesigner); }
/// <summary> /// </summary> protected void CreateSwitchPage() { IDesignerHost host = (IDesignerHost)this.GetService(typeof(IDesignerHost)); Debug.Assert(host != null, "host != null"); if (host != null) { DesignerTransaction transaction = null; try { try { transaction = host.CreateTransaction("NuGenSwitcher.AddSwitchPage"); } catch (CheckoutException e) { if (e != CheckoutException.Canceled) { throw; } return; } NuGenSwitchPage switchPage = (NuGenSwitchPage)host.CreateComponent(typeof(NuGenSwitchPage)); _switcher.SwitchPages.Add(switchPage); PropertyDescriptor textDescriptor = TypeDescriptor.GetProperties(switchPage)["Text"]; if (textDescriptor != null) { textDescriptor.SetValue(switchPage, ctrlProps.Resources.BlankText); } } finally { if (transaction != null) { transaction.Commit(); } } } }
private void _selectionService_SelectionChanged(object sender, EventArgs e) { ISelectionService service = (ISelectionService)this.GetService(typeof(ISelectionService)); if (service != null) { ICollection selectedComponents = service.GetSelectedComponents(); foreach (object selectedComponent in selectedComponents) { NuGenSwitchPage switchPageOfComponent = NuGenSwitcherDesigner.GetSwitchPageOfComponent(selectedComponent); if (switchPageOfComponent != null && switchPageOfComponent.Parent == _switcher) { _switcher.SelectedSwitchPage = switchPageOfComponent; break; } } } }
/// <summary> /// </summary> /// <exception cref="ArgumentNullException"> /// <para><paramref name="switchPageToDestroy"/> is <see langword="null"/>.</para> /// </exception> protected void DestroySwitchPage(NuGenSwitchPage switchPageToDestroy) { if (switchPageToDestroy == null) { throw new ArgumentNullException("switchPageToDestroy"); } IDesignerHost host = (IDesignerHost)this.GetService(typeof(IDesignerHost)); if (host != null) { DesignerTransaction transaction = null; try { try { transaction = host.CreateTransaction("NuGenSwitcher.RemoveSwitchPage"); } catch (CheckoutException e) { if (e != CheckoutException.Canceled) { throw; } return; } _switcher.SwitchPages.Remove(switchPageToDestroy); host.DestroyComponent(switchPageToDestroy); } finally { if (transaction != null) { transaction.Commit(); } } } }