public AddControl ( IControlHabanero control, Position pos, bool includeSplitter ) : IControlHabanero | ||
control | IControlHabanero | The control to add |
pos | Position | The position at which to add the control |
includeSplitter | bool | True to include a splitter between the controls |
Résultat | IControlHabanero |
public override IControlHabanero AddControl(IControlHabanero control, Position pos, bool includeSplitter)
{
SetupDockOfControl(control, pos);
_controls[(int)pos] = control;
_splitters[(int)pos] = includeSplitter;
this.ManagedControl.Controls.Clear();
//this.ManagedControl.Width = 100;
//this.ManagedControl.Height = 100;
for (int i = 0; i < _controls.Length; i++)
{
IControlHabanero habaneroControl = _controls[i];
if (habaneroControl != null)
{
if (_splitters[i])
{
ISplitter splt = _controlFactory.CreateSplitter();
Color newBackColor =
Color.FromArgb(Math.Min(splt.BackColor.R - 30, 255), Math.Min(splt.BackColor.G - 30, 255),
Math.Min(splt.BackColor.B - 30, 255));
splt.BackColor = newBackColor;
if (_controls[i].Dock != Base.DockStyle.Fill)
splt.Dock = _controls[i].Dock;
ManagedControl.Controls.Add(splt);
}
this.ManagedControl.Controls.Add(habaneroControl);
}
}
return control;
}
}
/// <summary> /// Sets all the controls up in a layout manager. By default uses the border layout manager /// with the editor control centre and the buttons south. /// </summary> protected virtual void CreateLayout() { BorderLayoutManager borderLayoutManager = new BorderLayoutManagerWin(this, _controlFactory); borderLayoutManager.AddControl(BoPanel, BorderLayoutManager.Position.Centre); borderLayoutManager.AddControl(Buttons, BorderLayoutManager.Position.South); }