Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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));
        }
Пример #3
0
        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();
            }
        }