duheng
2024-06-06 ccc0d2319b71cc41f4d9d2f86dff28da918987da
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();