//记录的点击事件 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(""); }
//保存梁识别数据 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; }
//创建子项菜单(项目) 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); }
//删除 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(); } }
//获取选择的树节点(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()); } }
//编辑 只有记录能编辑 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(); }
//重命名 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(); } }
//复制 只有记录能复制 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 }); } }
//新建子项 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(); }
//创建记录 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(); }