示例#1
0
        public void Reload()
        {
            if (map != null)
            {
                SuspendLayout();
                LinesPanel.SuspendLayout();
                items.Clear();
                LinesPanel.Controls.Clear();

                foreach (List <string> remaps in map.ControlMaps)
                {
                    DraggableTBLine line = new DraggableTBLine();
                    foreach (string remap in remaps)
                    {
                        line.AddItem(remap);
                    }
                    line.Content.ControlAdded   += new ControlEventHandler(Line_ControlAdded);
                    line.Content.ControlRemoved += new ControlEventHandler(line_ControlRemoved);
                    items.Add(line);
                    LinesPanel.Controls.Add(line);
                    line.Dock = DockStyle.Top;
                    line.BringToFront();
                }

                CreateEmptyLine();

                ResumeLayout();
                LinesPanel.ResumeLayout();
            }
        }
示例#2
0
        private void CreateEmptyLine()
        {
            DraggableTBLine emptyLine = new DraggableTBLine();

            emptyLine.Content.ControlAdded   += new ControlEventHandler(Line_ControlAdded);
            emptyLine.Content.ControlRemoved += new ControlEventHandler(line_ControlRemoved);
            LinesPanel.Controls.Add(emptyLine);
            emptyLine.Dock = DockStyle.Top;
            emptyLine.BringToFront();
        }
示例#3
0
        void line_ControlRemoved(object sender, ControlEventArgs e)
        {
            DraggableTBLine line = (sender as Control).Parent as DraggableTBLine;

            if (line.MapItems.Count == 0)
            {
                //Remove line
                items.Remove(line);
                LinesPanel.Controls.Remove(line);
            }
        }
示例#4
0
        void Line_ControlAdded(object sender, ControlEventArgs e)
        {
            DraggableTBLine line = (sender as Control).Parent as DraggableTBLine;

            if (line.MapItems.Count == 1)
            {
                //It was the empty line
                items.Add(line);
                LinesPanel.Controls.Add(line);
                line.Dock = DockStyle.Top;
                line.BringToFront();

                CreateEmptyLine();
            }
            else
            {
                //Normal line
            }
        }