Inheritance: AbstractFile
示例#1
0
        public MapInfoEditor(MapInfoFile file)
            : base(file)
        {
            info = file;

            this.DockAreas = WeifenLuo.WinFormsUI.Docking.DockAreas.DockBottom | WeifenLuo.WinFormsUI.Docking.DockAreas.DockLeft | WeifenLuo.WinFormsUI.Docking.DockAreas.DockRight | WeifenLuo.WinFormsUI.Docking.DockAreas.DockTop | WeifenLuo.WinFormsUI.Docking.DockAreas.Document | WeifenLuo.WinFormsUI.Docking.DockAreas.Float;

            tree.Dock = System.Windows.Forms.DockStyle.Fill;
            this.Controls.Add(tree);

            Dictionary <string, System.Windows.Forms.TreeNode> nodes = new Dictionary <string, System.Windows.Forms.TreeNode>();
            List <System.Windows.Forms.TreeNode> order = new List <System.Windows.Forms.TreeNode>();

            foreach (var item in info.maps)
            {
                System.Windows.Forms.TreeNode node = new System.Windows.Forms.TreeNode(item.Value.Title);
                node.Tag = item.Value;
                nodes.Add(item.Key, node);
                order.Add(node);
            }

            order.Sort(
                delegate(System.Windows.Forms.TreeNode me, System.Windows.Forms.TreeNode other)
            {
                return((me.Tag as MapFile).Order.CompareTo((other.Tag as MapFile).Order));
            }
                );

            foreach (System.Windows.Forms.TreeNode item in order)
            {
                MapFile map = item.Tag as MapFile;
                if (map.ParentID != null && nodes.ContainsKey(map.ParentID))
                {
                    nodes[map.ParentID].Nodes.Add(item);
                }
            }

            foreach (System.Windows.Forms.TreeNode item in order)
            {
                if (item.Parent == null)
                {
                    this.tree.Nodes.Add(item);
                }
            }

            tree.ItemDrag             += new System.Windows.Forms.ItemDragEventHandler(tree_ItemDrag);
            tree.AllowDrop             = true;
            tree.DragEnter            += new System.Windows.Forms.DragEventHandler(tree_DragEnter);
            tree.DragDrop             += new System.Windows.Forms.DragEventHandler(tree_DragDrop);
            tree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(tree_NodeMouseDoubleClick);
        }
示例#2
0
        public MapInfoEditor(MapInfoFile file)
            : base(file)
        {
            info = file;

            this.DockAreas = WeifenLuo.WinFormsUI.Docking.DockAreas.DockBottom | WeifenLuo.WinFormsUI.Docking.DockAreas.DockLeft | WeifenLuo.WinFormsUI.Docking.DockAreas.DockRight | WeifenLuo.WinFormsUI.Docking.DockAreas.DockTop | WeifenLuo.WinFormsUI.Docking.DockAreas.Document | WeifenLuo.WinFormsUI.Docking.DockAreas.Float;

            tree.Dock = System.Windows.Forms.DockStyle.Fill;
            this.Controls.Add(tree);

            Dictionary<string, System.Windows.Forms.TreeNode> nodes = new Dictionary<string,System.Windows.Forms.TreeNode>();
            List<System.Windows.Forms.TreeNode> order = new List<System.Windows.Forms.TreeNode>();

            foreach (var item in info.maps)
            {
                System.Windows.Forms.TreeNode node = new System.Windows.Forms.TreeNode(item.Value.Title);
                node.Tag = item.Value;
                nodes.Add(item.Key, node);
                order.Add(node);
            }

            order.Sort(
                delegate(System.Windows.Forms.TreeNode me, System.Windows.Forms.TreeNode other)
                {
                    return (me.Tag as MapFile).Order.CompareTo((other.Tag as MapFile).Order);
                }
            );

            foreach (System.Windows.Forms.TreeNode item in order)
            {
                MapFile map = item.Tag as MapFile;
                if (map.ParentID != null && nodes.ContainsKey(map.ParentID))
                    nodes[map.ParentID].Nodes.Add(item);
            }

            foreach (System.Windows.Forms.TreeNode item in order)
            {
                if (item.Parent == null)
                    this.tree.Nodes.Add(item);
            }

            tree.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(tree_ItemDrag);
            tree.AllowDrop = true;
            tree.DragEnter += new System.Windows.Forms.DragEventHandler(tree_DragEnter);
            tree.DragDrop += new System.Windows.Forms.DragEventHandler(tree_DragDrop);
            tree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(tree_NodeMouseDoubleClick);
        }