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