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);
}