duheng
2024-06-06 ccc0d2319b71cc41f4d9d2f86dff28da918987da
WinfrmUI/Hydro.WinfrmUI.Browser/Viewer.cs
@@ -16,6 +16,7 @@
using Hydro.MapView;
using Hydro.MapView.Common;
using Newtonsoft.Json;
using DevExpress.Utils;
namespace Hydro.WinfrmUI
{
@@ -181,8 +182,6 @@
                    SetMapInvalidate();
                }
            }
            刷新楼层ToolStripMenuItem_Click(1, new EventArgs());
            if (OnChangeViewCenter != null)
            {
@@ -1917,12 +1916,12 @@
            if (e.KeyCode == Keys.C && e.Modifiers == Keys.Control)
            {
                复制ToolStripMenuItem_Click(1, new EventArgs());
                复制ToolStripMenuItem();
            }
            if (e.KeyCode == Keys.V && e.Modifiers == Keys.Control)
            {
                _ClickStartPos = Cursor.Position;
                粘贴ToolStripMenuItem1_Click(1, new EventArgs());
                粘贴ToolStripMenuItem();
            }
            if (e.KeyCode == Keys.D1 && e.Modifiers == Keys.Control)
            {
@@ -2104,12 +2103,7 @@
            SetMapInvalidate();
        }
        public void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DeleteChoosedObj();
        }
        private void DeleteChoosedObj()
        public void DeleteChoosedObj()
        {
            var list = _Network.Remove(selectedObjs);
            MapObjectExtensions.AddCommand(_Network, "Remove", null, list);
@@ -2172,7 +2166,7 @@
        #region 分析工具
        private void 水平旋转ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 水平旋转ToolStripMenuItem()
        {
            //var objs = GlobalObject.PropertyForm.selectionSet.selectedObjects;
            //var selectobjs = objs.FindAll(o => o is NodeViewModel); //GlobalObject.PropertyForm.listBox1.SelectedItems;
@@ -2348,7 +2342,7 @@
            //LoadData();
        }
        public void 关阀搜索ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 关阀搜索ToolStripMenuItem()
        {
            if (selectedObjs.Count > 0)//&& selectedObjs[0] is Link l
            {
@@ -2367,7 +2361,7 @@
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void 关阀搜索考虑水源ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 关阀搜索考虑水源ToolStripMenuItem()
        {
            if (selectedObjs.Count > 0)//&& selectedObjs[0] is Link l
            {
@@ -2627,63 +2621,27 @@
        #region 显示选项
        private void 显示节点ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 显示节点ToolStripMenuItem()
        {
            _ShowJunction = true;
            SetMapInvalidate();
        }
        private void 隐藏节点ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 隐藏节点ToolStripMenuItem()
        {
            _ShowJunction = false;
            SetMapInvalidate();
        }
        private void 大ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var item = sender as ToolStripItem;
            if (item.Text == "大")
            {
                junction_multiply = 1f;
            }
            else if (item.Text == "中")
            {
                junction_multiply = 0.6667f;
            }
            else
            {
                junction_multiply = 0.4f;
            }
            SetMapInvalidate();
        }
        private void 显示阀门ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 显示阀门ToolStripMenuItem()
        {
            _ShowValve = true;
            SetMapInvalidate();
        }
        private void 隐藏阀门ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 隐藏阀门ToolStripMenuItem()
        {
            _ShowValve = false;
            SetMapInvalidate();
        }
        private void 大ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            var item = sender as ToolStripItem;
            if (item.Text == "大")
            {
                Link_multiply = 1f;
            }
            else if (item.Text == "中")
            {
                Link_multiply = 0.6667f;
            }
            else
            {
                Link_multiply = 0.4f;
            }
            SetMapInvalidate();
        }
@@ -2693,7 +2651,7 @@
        #region 方法
        private void 标高推测ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 标高推测ToolStripMenuItem()
        {
            int num = UpdateNodesEle();
            if (num > 0)
@@ -2769,7 +2727,7 @@
            }
        }
        private void 标高导出ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 标高导出ToolStripMenuItem()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("ID");
@@ -3011,7 +2969,7 @@
            _Network.Calc(_Template.FullPath, GlobalPath.configPath + "config_calc.wdb");
        }
        private void 连通性检查ToolStripMenuItem1_Click(object sender, EventArgs e)
        public void 连通性检查ToolStripMenuItem()
        {
            if (selectedObjs.Count > 0)//&& selectedObjs[0] is Link l
            {
@@ -3026,7 +2984,7 @@
            }
        }
        private void 下游连通性ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 下游连通性ToolStripMenuItem()
        {
            if (selectedObjs.Count > 0)//&& selectedObjs[0] is Link l
            {
@@ -3043,7 +3001,7 @@
            }
        }
        public void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 复制ToolStripMenuItem()
        {
            if (hoveredObjs.Count <= 0 || !(hoveredObjs[0] is NodeViewModel))
            {
@@ -3075,7 +3033,7 @@
            }
        }
        public void 粘贴ToolStripMenuItem1_Click(object sender, EventArgs e)
        public void 粘贴ToolStripMenuItem()
        {
            {
                var net = new MapViewNetWork();
@@ -3114,14 +3072,14 @@
            SetMapInvalidate();
        }
        private void 显示全部楼层ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 显示全部楼层ToolStripMenuItem()
        {
            //this.mapOption.ShowFloor = int.MinValue;
            _Network.MapObjects.ForEach(o => o.Visible = true);
            this.SetMapInvalidate();
        }
        private void 保存楼层视角ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 保存楼层视角ToolStripMenuItem()
        {
            //if (_Template?.Floors!=null)
            //{
@@ -3228,7 +3186,7 @@
            return projectedPoints;
        }
        public void 添加底图ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 添加底图ToolStripMenuItem()
        {
            if (_Template == null) return;
            OpenFileDialog openFileDialog = new OpenFileDialog();
@@ -3240,13 +3198,13 @@
                var backgroundImagePath = openFileDialog.FileName;
                Global.ClearFileReadOnly(_Template.BackGroundImg_FullPath);
                File.Copy(backgroundImagePath, _Template.BackGroundImg_FullPath, true);
                设置底图ToolStripMenuItem_Click(1, new EventArgs());
                设置底图ToolStripMenuItem();
            }
        }
        private bool _isSettingBackGroundPictur = false;
        public void 设置底图ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 设置底图ToolStripMenuItem()
        {
            string inputValue = "0";// Prompt.ShowDialog("请输入底图标高", "");
            float BackGroundElev = 0;
@@ -3264,7 +3222,7 @@
            this.Cursor = Cursors.Cross;
        }
        public void 显示隐藏底图ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 显示隐藏底图ToolStripMenuItem()
        {
            mapOption.isShowPic = !mapOption.isShowPic;
            SetMapInvalidate();
@@ -3272,7 +3230,7 @@
        private dict<string, dynamic> param = null;
        public void 清除底图ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 清除底图ToolStripMenuItem()
        {
            mapOption.isShowPic = false;
            SetMapInvalidate();
@@ -3316,7 +3274,7 @@
            }
        }
        private void 显示水流ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 显示水流ToolStripMenuItem()
        {
            _Template.network.MapObjects.ForEach(o => o.Selected = false);
            selectedObjs.Clear();
@@ -3372,31 +3330,31 @@
            this.SetMapInvalidate();
        }
        private void 显示状态ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 显示状态ToolStripMenuItem()
        {
            _Template.mapOption._ShowStatus = true;
            this.SetMapInvalidate();
        }
        private void 隐藏状态ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 隐藏状态ToolStripMenuItem()
        {
            _Template.mapOption._ShowStatus = false;
            this.SetMapInvalidate();
        }
        private void 显示流向ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 显示流向ToolStripMenuItem()
        {
            _Template.mapOption._ShowFlowDirection = true;
            this.SetMapInvalidate();
        }
        private void 隐藏流向ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 隐藏流向ToolStripMenuItem()
        {
            _Template.mapOption._ShowFlowDirection = false;
            this.SetMapInvalidate();
        }
        private void 方向修复ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 方向修复ToolStripMenuItem()
        {
            _Network.Links.ForEach(l =>
            {
@@ -3410,46 +3368,7 @@
            });
        }
        private void 刷新楼层ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem_Floor.DropDownItems.Clear();
            var mapobjects = _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))
                {
                    var item = ToolStripMenuItem_Floor.DropDownItems.Add(i.ToString() + "楼");
                    item.Click += (oo, ee) =>
                    {
                        mapobjects.ForEach(o =>
                        {
                            if (o.Tags.Contains(tagstring))
                            {
                                o.Visible = true;
                            }
                            else
                            {
                                o.Visible = false;
                            }
                        });
                        this.SetMapInvalidate();
                    };
                }
            }
            this.SetMapInvalidate();
        }
        private void 显示所有隐藏内容ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 显示所有隐藏内容ToolStripMenuItem()
        {
            _Network.MapObjects.ForEach(o => o.Visible = true);
            this.SetMapInvalidate();
@@ -3470,7 +3389,7 @@
        private bool _isShowDirection = false;
        private void 颜色分级管理ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 颜色分级管理ToolStripMenuItem()
        {
            //Form_Colour form_Colour = new Form_Colour(_Template.Colours);
            //form_Colour.Show(this);
@@ -3508,7 +3427,7 @@
            this.SetMapInvalidate();
        }
        private void 楼层管理ToolStripMenuItem_Click(object sender, EventArgs e)
        public void 楼层管理ToolStripMenuItem()
        {
            //if (_Template.Regions==null)
            //{
@@ -3519,5 +3438,9 @@
        }
        #endregion 方法
        private void 东西对齐ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
        }
    }
}