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);
        }
Esempio n. 3
0
        /// <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;
                    }
                }
            }
        }
Esempio n. 5
0
        /// <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();
                    }
                }
            }
        }
		/// <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();
					}
				}
			}
		}