private void PopulateEmptyCells(MapDocumentContainer container) { var loop = HostedControl.Default(container.WindowID); var index = 0; foreach (var rec in container.Table.Configuration.Rectangles) { var i = rec.Y; var j = rec.X; var c = container.MapDocumentControls.FirstOrDefault(x => x.Row == i && x.Column == j); if (c != null) { continue; } var hc = new HostedControl { WindowID = container.WindowID, Row = i, Column = j, Type = loop[index].Type, Serialised = loop[index].Serialised }; index = (index + 1) % loop.Count; var ctrl = MakeControl(hc.Type, hc.Serialised); if (ctrl != null) { container.SetControl(ctrl, hc.Column, hc.Row); } } }
public void OnUIStartup() { Instance = this; MainWindow = new MapDocumentContainer(0) { Dock = DockStyle.Fill }; Controls.Add(MainWindow); Windows = new List <ViewportWindow>(); CreateHandle(); Application.AddMessageFilter(new LeftClickMessageFilter(this)); }
private void RemoveInvalidCells(MapDocumentContainer container, TableSplitConfiguration config) { var recs = config.Rectangles.ToList(); foreach (var control in container.Table.Controls.OfType <Control>().ToList()) { var pos = container.Table.GetPositionFromControl(control); var mdc = container.MapDocumentControls.FirstOrDefault(x => x.Control.Control == control); if (recs.Any(x => x.X == pos.Column && x.Y == pos.Row)) { continue; } container.Table.Controls.Remove(control); if (mdc == null) { continue; } container.MapDocumentControls.Remove(mdc); mdc.Control.Control.Dispose(); } }