Пример #1
0
 //记录的点击事件
 public string RecodeClick()
 {
     Program.MainForm.axMxDrawX1.SaveDwgFile(Program.MainForm.axMxDrawX1.DwgFilePath);
     if (_TreeView.SelectedNode != null)
     {
         if (Program.MainForm.Tag != null)
         {
             string         id      = _TreeView.SelectedNode.Tag.ToString();
             Project_Manage project = _HLT.Project_Manage_Tree.Find(x => x.id == id);
             if (project.type != Project_type.记录)
             {
                 return("");
             }
             XRecord        record  = _HLT.XRecords.Find(x => x.id == project.xrecord_id);
             Drawing_Manage drawing = _HLT.Drawing_Manage_Tree.Find(x => x.id == record.Drawing_Manage_id);
             if (drawing == null)
             {
                 return("");
             }
             dynamic Propath = Program.MainForm.Tag;
             string  file    = $@"{Propath.path}\src\{drawing.name}.dwg";
             if (!File.Exists(file))
             {
                 return("");
             }
             return(file);
         }
     }
     return("");
 }
Пример #2
0
        //保存梁识别数据
        public void SaveBeamData(string id, Beam_XRrecord beam)
        {
            Project_Manage project = _HLT.Project_Manage_Tree.Find(x => x.id == id);
            XRecord        record  = _HLT.XRecords.Find(x => x.id == project.xrecord_id);

            record.json = beam;
        }
Пример #3
0
        //创建子项菜单(项目)
        public ContextMenuStrip CreateItemMenu(TreeNode node)
        {
            ContextMenuStrip contextMenu = new ContextMenuStrip();
            string           id          = node.Tag.ToString();
            Project_Manage   project     = _HLT.Project_Manage_Tree.Find(x => x.id == id);

            switch (project.type)
            {
            case Project_type.根节点:
                ToolStripMenuItem create_build = new ToolStripMenuItem("创建楼号");
                create_build.Click += new EventHandler(CreateBuild_Click);
                contextMenu.Items.Add(create_build);
                break;

            case Project_type.号楼:
                ToolStripMenuItem create_floor = new ToolStripMenuItem("创建楼层");
                create_floor.Click += new EventHandler(CreateFloor_Click);
                contextMenu.Items.Add(create_floor);
                break;

            case Project_type.楼层:
                ToolStripMenuItem create_range = new ToolStripMenuItem("创建范围");
                create_range.Click += new EventHandler(CreateRange_Click);
                contextMenu.Items.Add(create_range);
                break;

            case Project_type.区域:
                ToolStripMenuItem create_componet = new ToolStripMenuItem("创建构件");
                create_componet.Click += new EventHandler(CreateComponet_Click);
                contextMenu.Items.Add(create_componet);
                break;

            case Project_type.构件:
                ToolStripMenuItem create_recode = new ToolStripMenuItem("创建记录");
                create_recode.Click += new EventHandler(CreateRecode_Click);
                contextMenu.Items.Add(create_recode);
                break;

            case Project_type.记录:
                ToolStripMenuItem edit = new ToolStripMenuItem("编辑");
                edit.Click += new EventHandler(Edit_Click);
                contextMenu.Items.Add(edit);
                ToolStripMenuItem copy = new ToolStripMenuItem("复制");
                copy.Click += new EventHandler(Copy_Click);
                contextMenu.Items.Add(copy);
                break;
            }
            if (project.type != Project_type.根节点)
            {
                ToolStripMenuItem delete = new ToolStripMenuItem("删除");
                delete.Click += new EventHandler(Delete_Click);
                contextMenu.Items.Add(delete);
            }
            ToolStripMenuItem rename = new ToolStripMenuItem("重命名");

            rename.Click += new EventHandler(Rename_Click);
            contextMenu.Items.Add(rename);
            return(contextMenu);
        }
Пример #4
0
 //删除
 public void DeleteItem()
 {
     if (_TreeView.SelectedNode != null)
     {
         string id = _TreeView.SelectedNode.Tag.ToString();
         NodeRemove(id);
         Project_Manage project = _HLT.Project_Manage_Tree.Find(x => x.id == id);
         _HLT.Project_Manage_Tree.Remove(project);
         _TreeView.SelectedNode.Remove();
     }
 }
Пример #5
0
        //获取选择的树节点(Project)
        public Project_Manage GetSelectProjectTree()
        {
            TreeNode node = _TreeView.SelectedNode;

            if (node != null)
            {
                Project_Manage project = _HLT.Project_Manage_Tree.Find(x => x.id == node.Tag.ToString());
                return(project);
            }
            else
            {
                return(new Project_Manage());
            }
        }
Пример #6
0
        //编辑  只有记录能编辑
        public void EditRecode()
        {
            //编辑记录
            RecodeDialog recode = new RecodeDialog();

            recode.Text = "编辑记录";
            string         id      = _TreeView.SelectedNode.Tag.ToString();
            Project_Manage project = _HLT.Project_Manage_Tree.Find(x => x.id == id);

            recode.Tag = new
            {
                name = project.name,
                oner = new List <Drawing_Manage>(_HLT.Drawing_Manage_Tree.ToArray()),
                path = "",
            };
            recode.transf += (dynamic result) =>
            {
                project.name = result.name;
                XRecord record = _HLT.XRecords.Find(x => x.id == project.xrecord_id);
                if (result.file != "")
                {
                    FileInfo file = new FileInfo(result.file);
                    string   name = file.Name.Substring(0, file.Name.LastIndexOf('.'));
                    string   ext  = file.Name.Substring(file.Name.LastIndexOf('.') + 1, file.Name.Length - file.Name.LastIndexOf('.') - 1);
                    //Drawing_Manage drawing = _HLT.Drawing_Manage_Tree.Find(x=>x.id==record.Drawing_Manage_id);
                    Drawing_Manage drawing = new Drawing_Manage
                    {
                        id   = Guid.NewGuid().ToString(),
                        pid  = _DrawView.Nodes[0].FirstNode.Tag.ToString(),
                        type = Drawing_type.文件,
                        name = name,
                        ext  = ext
                    };
                    record.Drawing_Manage_id = drawing.id;
                    _HLT.Drawing_Manage_Tree.Add(drawing);
                    _DrawView.Nodes[0].FirstNode.Nodes.Add(new TreeNode {
                        Text = name, Tag = drawing.id
                    });
                }
                if (result.combo != "")
                {
                    record.Drawing_Manage_id = result.combo;
                }
                _TreeView.SelectedNode.Text = result.name;
            };
            recode.ShowDialog();
        }
Пример #7
0
 //重命名
 public void RenameForItem()
 {
     if (_TreeView.SelectedNode != null)
     {
         ReNameDialog reName = new ReNameDialog();
         reName.Text    = "重命名";
         reName.Tag     = _TreeView.SelectedNode.Text;
         reName.transf += ((string result) =>
         {
             string id = _TreeView.SelectedNode.Tag.ToString();
             Project_Manage project = _HLT.Project_Manage_Tree.Find(x => x.id == id);
             project.name = result;
             _TreeView.SelectedNode.Text = result;
         });
         reName.ShowDialog();
     }
 }
Пример #8
0
 //复制  只有记录能复制
 public void CopyItem()
 {
     if (_TreeView.SelectedNode != null)
     {
         TreeNode       node    = (TreeNode)_TreeView.SelectedNode.Clone();
         Project_Manage project = _HLT.Project_Manage_Tree.Find(x => x.id == node.Tag.ToString());
         node.Text += "-副本";
         node.Tag   = Guid.NewGuid().ToString();
         _TreeView.SelectedNode.Parent.Nodes.Add(node);
         _HLT.Project_Manage_Tree.Add(new Project_Manage()
         {
             id           = node.Tag.ToString(),
             pid          = project.pid,
             name         = node.Text,
             type         = project.type,
             xrecord_type = project.xrecord_type,
             xrecord_id   = project.xrecord_id
         });
     }
 }
Пример #9
0
        //新建子项
        public void AddTreeNode(string type)
        {
            ReNameDialog reName = new ReNameDialog();

            reName.Text    = $"新建{type}";
            reName.transf += ((string result) =>
            {
                Project_Manage project = new Project_Manage
                {
                    id = Guid.NewGuid().ToString(),
                    pid = _TreeView.SelectedNode.Tag.ToString(),
                    name = result,
                    type = (Project_type)Enum.Parse(typeof(Project_type), type)
                };
                _HLT.Project_Manage_Tree.Add(project);
                TreeNode node = new TreeNode();
                node.Tag = project.id;
                node.Text = project.name;
                _TreeView.SelectedNode.Nodes.Add(node);
                _TreeView.SelectedNode.Expand();
            });
            reName.ShowDialog();
        }
Пример #10
0
        //创建记录
        public void CreateRecode()
        {
            //创建记录
            RecodeDialog recode = new RecodeDialog();

            recode.Tag = new
            {
                name = "",
                oner = new List <Drawing_Manage>(_HLT.Drawing_Manage_Tree.ToArray()),
                path = "",
            };
            recode.transf += (dynamic result) =>
            {
                Project_Manage project = new Project_Manage
                {
                    id           = Guid.NewGuid().ToString(),
                    pid          = _TreeView.SelectedNode.Tag.ToString(),
                    name         = result.name,
                    type         = Project_type.记录,
                    xrecord_type = Xrecord_type.梁
                };
                XRecord record = new XRecord();
                if (result.file != "" && result.combo == "")//导入的
                {
                    FileInfo       file    = new FileInfo(result.file);
                    string         name    = file.Name.Substring(0, file.Name.LastIndexOf('.'));
                    string         ext     = file.Name.Substring(file.Name.LastIndexOf('.') + 1, file.Name.Length - file.Name.LastIndexOf('.') - 1);
                    Drawing_Manage drawing = new Drawing_Manage
                    {
                        id   = Guid.NewGuid().ToString(),
                        pid  = _DrawView.Nodes[0].FirstNode.Tag.ToString(),
                        name = name,
                        type = Drawing_type.文件,
                        ext  = ext
                    };
                    record = new XRecord
                    {
                        id = Guid.NewGuid().ToString(),
                        Drawing_Manage_id = drawing.id,
                        type = Xrecord_type.梁
                    };
                    _DrawView.Nodes[0].FirstNode.Nodes.Add(new TreeNode {
                        Text = name, Tag = drawing.id
                    });
                    _HLT.Drawing_Manage_Tree.Add(drawing);
                }
                if (result.file == "" && result.combo != "")//基于图纸的
                {
                    record = new XRecord
                    {
                        id = Guid.NewGuid().ToString(),
                        Drawing_Manage_id = result.combo,
                        type = Xrecord_type.梁
                    };
                }
                if (_HLT.XRecords == null)
                {
                    _HLT.XRecords = new List <XRecord> {
                        record
                    }
                }
                ;
                else
                {
                    _HLT.XRecords.Add(record);
                }
                project.xrecord_id = record.id;
                _HLT.Project_Manage_Tree.Add(project);
                TreeNode node = new TreeNode();
                node.Tag  = project.id;
                node.Text = project.name;
                _TreeView.SelectedNode.Nodes.Add(node);
                //Program.MainForm.axMxDrawX1.OpenDwgFile();
                _TreeView.SelectedNode = node;
                Program.MainForm.axMxDrawX1.OpenDwgFile(RecodeClick());
            };
            recode.ShowDialog();
        }