From ccc0d2319b71cc41f4d9d2f86dff28da918987da Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期四, 06 六月 2024 13:51:37 +0800 Subject: [PATCH] 主页菜单功能替换 --- WinfrmUI/Hydro.WinfrmUI.Viewer/frmMain.cs | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 212 insertions(+), 3 deletions(-) diff --git a/WinfrmUI/Hydro.WinfrmUI.Viewer/frmMain.cs b/WinfrmUI/Hydro.WinfrmUI.Viewer/frmMain.cs index bb9c20b..841121b 100644 --- a/WinfrmUI/Hydro.WinfrmUI.Viewer/frmMain.cs +++ b/WinfrmUI/Hydro.WinfrmUI.Viewer/frmMain.cs @@ -27,6 +27,7 @@ using DevExpress.XtraBars.Ribbon; using Hydro.MapView; +using System.Linq; namespace Hydro.WinfrmUI.Viewer { @@ -48,8 +49,9 @@ //skins.Ribbon = ribbonControl1; //DevExpress.XtraBars.Helpers.SkinHelper.InitSkinGalleryDropDown(skins); //iPaintStyle.DropDownControl = skins; - CreateNewDocument(@"D:\WorkData\YiWei\Hydro\Hydro.V1.1\out\xiaofang.inp"); + CreateNewDocument(@"D:\WorkData\ISupply\Hydro.V1.1\out\xiaofang.inp"); _viewBrowser = CurrentForm.GetBrowser(); ; + RefreshFloor(); } protected override void OnLoad(EventArgs e) @@ -91,6 +93,7 @@ frmDoc pad = new frmDoc(); var viewer = pad.LoadDocument(fileName); + if (viewer == null) { return; @@ -127,7 +130,6 @@ pad.MdiParent = this; pad.Closed += new EventHandler(Pad_Closed); - pad.Show(); } @@ -260,6 +262,7 @@ if (this.CurrentForm == null) return; this._viewBrowser.OpenFile(openFileDialog.FileName); + RefreshFloor(); } private void iSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) @@ -585,11 +588,217 @@ private void bbi刷新楼层_ItemClick(object sender, ItemClickEventArgs e) { - _viewBrowser.刷新楼层ToolStripMenuItem(); + RefreshFloor(); + } + + public void RefreshFloor() + { + bsi楼层.ClearLinks(); + var mapobjects = _viewBrowser._Network.MapObjects; + TagList tags = new TagList(); + foreach (var item in mapobjects) + { + if (item.Tags != null) + tags.AddRange(item.Tags); + } + var t = tags.Distinct().ToList(); + tags.Clear(); + tags.AddRange(t); + for (int i = -10; i < 1000; i++) + { + string tagstring = i.ToString() + "楼"; + if (tags.Contains(tagstring)) + { + // 创建一个新的 BarSubItem + DevExpress.XtraBars.BarButtonItem subItem = new DevExpress.XtraBars.BarButtonItem(); + subItem.Caption = i.ToString() + "楼"; + // 将子项添加到 BarItem 的 ItemLinks 集合中 + bsi楼层.ItemLinks.Add(subItem); + subItem.ItemClick += (oo, ee) => + { + mapobjects.ForEach(o => + { + if (o.Tags.Contains(tagstring)) + { + o.Visible = true; + } + else + { + o.Visible = false; + } + }); + _viewBrowser.SetMapInvalidate(); + }; + } + } + _viewBrowser.SetMapInvalidate(); + } + + private void bbi颜色分级管理_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.颜色分级管理ToolStripMenuItem(); + } + + private void bbi楼层管理_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.楼层管理ToolStripMenuItem(); } #endregion 视图设置 + #region 功能检查 + + private void bbi连通性检查_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.连通性检查ToolStripMenuItem(); + } + + private void bsi关阀分析_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.关阀搜索考虑水源ToolStripMenuItem(); + } + + private void bbi关阀分析不考虑水源_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.关阀搜索ToolStripMenuItem(); + } + + private void bbi下游连通性_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.下游连通性ToolStripMenuItem(); + } + + private void bbi上游连通性_ItemClick(object sender, ItemClickEventArgs e) + { + } + + private void bbi标高推测_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.标高推测ToolStripMenuItem(); + } + + private void bbi标高导出_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.标高导出ToolStripMenuItem(); + } + + private void bbi显示水流路线_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.显示水流ToolStripMenuItem(); + } + + private void bbi方向修复_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.方向修复ToolStripMenuItem(); + } + + #endregion 功能检查 + + #region 显示设置 + + private void bbi显示节点_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.显示节点ToolStripMenuItem(); + } + + private void bbi隐藏节点_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.隐藏节点ToolStripMenuItem(); + } + + private void bbi显示阀门_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.显示阀门ToolStripMenuItem(); + } + + private void bbi隐藏阀门_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.隐藏阀门ToolStripMenuItem(); + } + + private void bbi节点大_ItemClick(object sender, ItemClickEventArgs e) + { + var item = sender as ToolStripItem; + if (item.Text == "大") + { + _viewBrowser.junction_multiply = 1f; + } + else if (item.Text == "中") + { + _viewBrowser.junction_multiply = 0.6667f; + } + else + { + _viewBrowser.junction_multiply = 0.4f; + } + _viewBrowser.SetMapInvalidate(); + } + + private void bbi管线大_ItemClick(object sender, ItemClickEventArgs e) + { + var item = sender as ToolStripItem; + if (item.Text == "大") + { + _viewBrowser.Link_multiply = 1f; + } + else if (item.Text == "中") + { + _viewBrowser.Link_multiply = 0.6667f; + } + else + { + _viewBrowser.Link_multiply = 0.4f; + } + _viewBrowser.SetMapInvalidate(); + } + + private void bbi显示所有隐藏内容_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.显示所有隐藏内容ToolStripMenuItem(); + } + + private void bbi添加底图_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.添加底图ToolStripMenuItem(); + } + + private void bbi设置底图_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.设置底图ToolStripMenuItem(); + } + + private void bbi显示隐藏底图_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.显示隐藏底图ToolStripMenuItem(); + } + + private void bbi清除底图_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.清除底图ToolStripMenuItem(); + } + + private void bbi显示状态_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.显示状态ToolStripMenuItem(); + } + + private void bbi隐藏状态_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.隐藏状态ToolStripMenuItem(); + } + + private void bbi显示流向_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.显示流向ToolStripMenuItem(); + } + + private void bbi隐藏流向_ItemClick(object sender, ItemClickEventArgs e) + { + _viewBrowser.隐藏流向ToolStripMenuItem(); + } + + #endregion 显示设置 + private void bbiCalcMiniLoss_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.CalcLinkMinorLoss(); -- Gitblit v1.9.3