yangyin
2025-03-27 b0de14c2670b9ff0079dacfb4b7457b438368f11
WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage.cs
@@ -1,15 +1,10 @@

using System;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.IO;
using System.Text;
using System.Drawing;
using HydrEngineCSharp;
using DPumpHydr.WinFrmUI.RLT.Native;
using DPumpHydr.WinFrmUI.RLT.Docking.Crown;
using DPumpHydr.WinFrmUI.Volute.TempCtrl;
using static DPumpHydr.WinFrmUI.RLT.Helper.CrownHelper;
using System.Drawing;
using DPumpHydr.WinFrmUI.RLT.Native;
namespace DPumpHydr.WinFrmUI.Volute
{
@@ -20,29 +15,19 @@
        LayersDockPanel _layersDockPanel = null;
        SectAreaDockPanel _sectAreaDockPanel = null;
        //参数控件
        ctrlHdrBaseInfo _ctrlHdrBaseInfo = null;
        ctrlGeomBaseInfo _ctrlGeomBaseInfo = null;
        ctrlSectionBundleInfo _ctrlSectionBundleInfo = null;
        ctrlSectionShapeInfo18 _ctrlSectionShapeInfo18 = null;
        ctrlSetOutflowParas _ctrlSetOutflowStyle = null;
        ctrlSetOutflowType _ctrlSetOutflowType = null;
        OccDesign3DCtrl _occDesign3dCtrl;
        OccDesign2DCtrl _occDesign2dCtrl;
        DesignMainDockPanel _designMainDockPanel;
        ctrlThicknessParas _ctrlThicknessParas = null;
        //参数
        ViewModel.HdrBaseInfo _hdrBaseInfo = null;
        ViewModel.GeomBaseInfo _geomBaseInfo = null;
        ViewModel.SectionBundleInfo _sectionBundleInfo = null;
        ViewModel.OtuflowParas _outflowParas = null;
        ViewModel.eOutflowStyle _outflowType = ViewModel.eOutflowStyle.未知;
        private double _bodyThickness = 0;
        public MainViewPage()
        {
            InitializeComponent();
            //InitWindow();
            Application.AddMessageFilter(new ControlScrollFilter());
            // Add the dock content drag message filter to handle moving dock content around.
@@ -54,40 +39,40 @@
            ThemeProvider.Theme.Colors.HeaderBackground = Color.SteelBlue;
            ThemeProvider.Theme.Colors.GreyBackground = Color.White;
            DPumpHydr.WinFrmUI.RLT.Helper.CrownHelper.ThemeProvider.Theme.Colors.HeaderBackground = Color.SteelBlue;
            DPumpHydr.WinFrmUI.RLT.Helper.CrownHelper.ThemeProvider.Theme.Colors.GreyBackground = Color.White;
            //ThemeProvider.Theme.Colors.DarkBackground = Color.White;
            MainDockPanel.RightDockWidth = 320;
            MainDockPanel.RightDockWidth = 335;
            MainDockPanel.BottomDockHeight = 210;
        }
        /// <summary>
        ///
        /// </summary>
        public void InitWindow()
        {
            InitialRibbonForm();
            _logListDockPanel = new LogListDockPanel();
            _logListDockPanel.DefaultDockArea = DPumpHydr.WinFrmUI.RLT.Enum.Crown.DockArea.Bottom;
            _sectAreaDockPanel = new SectAreaDockPanel();
            _sectAreaDockPanel.DefaultDockArea = DPumpHydr.WinFrmUI.RLT.Enum.Crown.DockArea.Bottom;
            _sectAreaDockPanel.OnRefreshSingleSectBundle += (bundle , selectedPointIndex) =>
            _sectAreaDockPanel.OnRefreshSingleSectArea  += (sect_index , sect_area) =>
            {
                this._ctrlSectionBundleInfo.RefreshSectPara(bundle, selectedPointIndex);
                if(this._stepTreeDockPanel.CurrentStepID > this._stepTreeDockPanel.Step_ID_Section18_Full)
                {
                    this._ctrlSectionShapeInfo18.RefreshSectPara(bundle.ToSectionShapePara(selectedPointIndex));
                }
                this._ctrlSectionBundleInfo.RefreshSingleSectArea(sect_index, sect_area);
                //if(this._stepTreeDockPanel.CurrentStepID > this._stepTreeDockPanel.Step_ID_Section18_Full)
                //{
                //    this._ctrlSectionShapeInfo18.RefreshSectPara(bundle.ToSectionShapePara(selectedPointIndex));
                //}
            };
            _parasDockPanel = new ParasInfoDockPanel(); 
            _parasDockPanel.DefaultDockArea = DPumpHydr.WinFrmUI.RLT.Enum.Crown.DockArea.Right;
            _layersDockPanel = new LayersDockPanel();
            _layersDockPanel.InitialInfo();
@@ -96,46 +81,39 @@
            _stepTreeDockPanel = new StepTreeDockPanel();
            _stepTreeDockPanel.DefaultDockArea = DPumpHydr.WinFrmUI.RLT.Enum.Crown.DockArea.Left;
            this._stepTreeDockPanel.BeforeSelectedNodeChangedEvent += (arg1, arg2) =>
            {
                if (arg1 != null && SaveStepParas(arg1.ID) == false)
                {
                    return false;
                }
            {
                //if (arg1 != null && SaveStepParas(arg1.ID) == false)
                //{
                //    return false;
                //}
                return true;
            };
            this._stepTreeDockPanel.AfterSelectedNodeChangedEvent += (arg1, arg2) =>
            {
                //
            {
                if (arg2 != null)
                {
                    this.SetParasCtrl(arg2.ID);
                    //
                    this._stepTreeDockPanel.SetFocusedNode(arg2.ID);
                {
                    this.ChangeStep(arg1.ID, arg2.ID);
                }
                CheckStepBtnStatus();
                return true;
            };
            MainDockPanel.AddContent(_logListDockPanel);
            MainDockPanel.AddContent(_sectAreaDockPanel);
            MainDockPanel.AddContent(_logListDockPanel);
            MainDockPanel.AddContent(_parasDockPanel);
            MainDockPanel.AddContent(_layersDockPanel);
            MainDockPanel.AddContent(_stepTreeDockPanel);
            MainDockPanel.AddContent(_stepTreeDockPanel, _layersDockPanel.DockGroup);
            MainDockPanel.AddContent(_sectAreaDockPanel, _logListDockPanel.DockGroup);
            MainDockPanel.AddContent( _logListDockPanel, _sectAreaDockPanel.DockGroup);
            MainDockPanel.AddContent(_layersDockPanel, _stepTreeDockPanel.DockGroup);
            RBtn后退.Enabled = false;
            Rbtn前进.Enabled = true;
            Rbtn下一步.Enabled = true;
            Rbtn上一步.Enabled = false;
            Rbtn完成.Enabled = false;
@@ -143,11 +121,50 @@
            InitialDesginPanel();
            if (_ctrlHdrBaseInfo == null)
            {
                _ctrlHdrBaseInfo = new ctrlHdrBaseInfo();
                _ctrlHdrBaseInfo.Name = "ctrlHdrBaseInfo";
                _ctrlHdrBaseInfo.Dock = DockStyle.Right;
                _ctrlHdrBaseInfo.InitialParas();
                _ctrlHdrBaseInfo.OnNextStep += () =>
                {
                    GoNextStep();
                };
            }
            this.DockStepParaCtrl(_ctrlHdrBaseInfo);
            InitialStepNodes();
            //// 初始化步骤列表
            this._stepTreeDockPanel.InitialStepNodes();
        }
        /// <summary>
        ///
        /// </summary>
        private void InitialDesginPanel()
        {
            this._occDesign3dCtrl = new OccDesign3DCtrl();
            this._occDesign3dCtrl.Size = new System.Drawing.Size(1000, 1000);
            this._occDesign3dCtrl.Name = "OccDesignCtrl3d";
            this._occDesign3dCtrl.Dock = DockStyle.Fill;
            this._occDesign3dCtrl.Initial();
            this._occDesign2dCtrl = new OccDesign2DCtrl();
            this._occDesign2dCtrl.Size = new System.Drawing.Size(1000, 1000);
            this._occDesign2dCtrl.Name = "OccDesignCtrl2d";
            this._occDesign2dCtrl.Dock = DockStyle.Fill;
            this._occDesign2dCtrl.Initial();
            this._designMainDockPanel = new DesignMainDockPanel();
            this._designMainDockPanel.Size = new System.Drawing.Size(1000, 1000);
            this._designMainDockPanel.Name = "OccDesignCtrl";
            this._designMainDockPanel.Dock = DockStyle.Fill;
            this._designMainDockPanel.DockText = "设计视图";
            _designMainDockPanel.SetOccCtrl(_occDesign3dCtrl, _occDesign2dCtrl);
            MainDockPanel.AddContent(_designMainDockPanel);
        }
        #region 步骤操作