Paint.ToolBox.AddButton C# (CSharp) Method

AddButton() protected method

Creates a button and adds it.
protected AddButton ( ToolboxLayoutDefinitionStandardToolsButtonsButton buttonLayout ) : void
buttonLayout Paint.ToolboxLayout.ToolboxLayoutDefinitionStandardToolsButtonsButton /// Button layout. ///
return void
        protected virtual void AddButton(ToolboxLayoutDefinitionStandardToolsButtonsButton buttonLayout)
        {
            List<ImageType> imageList = new List<ImageType>();

            switch (buttonLayout.ButtonType)
            {
                case ToolboxLayoutDefinitionStandardToolsButtonsButtonButtonType.Exit:
                    imageList.Add(ImageType.ExitButton);
                    break;

                case ToolboxLayoutDefinitionStandardToolsButtonsButtonButtonType.ToggleDock:
                    imageList.Add(ImageType.DockTopButton);
                    imageList.Add(ImageType.DockBottomButton);
                    break;

                case ToolboxLayoutDefinitionStandardToolsButtonsButtonButtonType.ToggleMaxMin:
                    imageList.Add(ImageType.MinimizeToolbar);
                    imageList.Add(ImageType.MaximizeToolbar);
                    break;
            }

            var button = new Button(
                    this.GraphicsDisplay,
                    new ButtonDefinition(buttonLayout, this.Scale, imageList.ToArray(), null));

            switch (buttonLayout.ButtonType)
            {
                case ToolboxLayoutDefinitionStandardToolsButtonsButtonButtonType.Exit:
                    button.ButtonPressed += (sender, e) => (this.OnExitButtonPressed(EventArgs.Empty));
                    break;

                case ToolboxLayoutDefinitionStandardToolsButtonsButtonButtonType.ToggleDock:
                    button.ButtonPressed += (sender, e) =>
                    {
                        if (button.State == 0)
                        {
                            this.DockPosition = DockPosition.Bottom;
                        }
                        else
                        {
                            this.DockPosition = DockPosition.Top;
                        }
                    };
                    break;

                case ToolboxLayoutDefinitionStandardToolsButtonsButtonButtonType.ToggleMaxMin:
                    button.ButtonPressed += (sender, e) =>
                    {
                        if (button.State == 0)
                        {
                            this.ToolboxHeight = this.toolboxMaximisedHeight;
                        }
                        else
                        {
                            this.ToolboxHeight = this.ToolboxMinimizedHeight;
                        }
                    };

                    break;
            }

            this.AddTool(button);
        }