public FilterControlWin(IControlFactory controlFactory)
{
Height = 50;
_controlFactory = controlFactory;
FilterGroupBox = _controlFactory.CreateGroupBox();
// _groupBox = _controlFactory.CreatePanel();
_controlFactory.CreateBorderLayoutManager(this).AddControl(FilterGroupBox, BorderLayoutManager.Position.Centre);
FilterGroupBox.Text = "Filter the Grid";
BorderLayoutManager layoutManager = controlFactory.CreateBorderLayoutManager(FilterGroupBox);
layoutManager.BorderSize = 20;
_filterButtonPanel = controlFactory.CreatePanel();
_filterButtonPanel.Height = 50;
_filterButtonPanel.Width = 120; //110;
_filterButtonPanel.Visible = false;
CreateFilterButtons(_filterButtonPanel);
_controlPanel = controlFactory.CreatePanel();
_controlPanel.Width = Width;
this.EnsureButtonsFit();
this._filterButtonPanel.Resize += (sender, e) => { this.EnsureButtonsFit(); };
layoutManager.AddControl(_controlPanel, BorderLayoutManager.Position.Centre);
layoutManager.AddControl(_filterButtonPanel, BorderLayoutManager.Position.East);
Height = 50;
this._controlPanel.Resize += (sender, e) =>
{
this.Height = this._controlPanel.Height + layoutManager.BorderSize;
if ((this.FilterGroupBox.Height - layoutManager.BorderSize) < this.Height)
{
this.FilterGroupBox.Height = this.Height;
}
};
_filterControlManager = new FilterControlManager(controlFactory,
new FlowLayoutManager(_controlPanel, controlFactory));
}