///<summary>
/// Constructor for the <see cref="HelpAboutBoxManager"/>
///</summary>
///<param name="controlFactory"></param>
///<param name="formHabanero"></param>
///<param name="programName"></param>
///<param name="producedForName"></param>
///<param name="producedByName"></param>
///<param name="versionNumber"></param>
public HelpAboutBoxManager(IControlFactory controlFactory, IFormHabanero formHabanero, string programName, string producedForName, string producedByName, string versionNumber)
{
_FormHabanero = formHabanero;
_mainPanel = controlFactory.CreatePanel();
GridLayoutManager mainPanelManager = new GridLayoutManager(_mainPanel, controlFactory);
mainPanelManager.SetGridSize(4, 2);
mainPanelManager.FixAllRowsBasedOnContents();
mainPanelManager.FixColumnBasedOnContents(0);
mainPanelManager.FixColumnBasedOnContents(1);
mainPanelManager.AddControl(controlFactory.CreateLabel("Programme Name:", false));
mainPanelManager.AddControl(controlFactory.CreateLabel(programName, false));
mainPanelManager.AddControl(controlFactory.CreateLabel("Produced For:", false));
mainPanelManager.AddControl(controlFactory.CreateLabel(producedForName, false));
mainPanelManager.AddControl(controlFactory.CreateLabel("Produced By:", false));
mainPanelManager.AddControl(controlFactory.CreateLabel(producedByName, false));
mainPanelManager.AddControl(controlFactory.CreateLabel("Version:", false));
mainPanelManager.AddControl(controlFactory.CreateLabel(versionNumber, false));
IButtonGroupControl buttons = controlFactory.CreateButtonGroupControl();
buttons.AddButton("OK", new EventHandler(OKButtonClickHandler));
BorderLayoutManager manager = controlFactory.CreateBorderLayoutManager(formHabanero);
manager.AddControl(_mainPanel, BorderLayoutManager.Position.Centre);
manager.AddControl(buttons, BorderLayoutManager.Position.South);
formHabanero.Width = 300;
formHabanero.Height = 200;
formHabanero.Text = "About";
}