From bbd6b592a6b883e013ff1e0a574976ceba5009ea Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 27 十月 2022 09:11:33 +0800
Subject: [PATCH] Merge branch 'dev--wxr'

---
 HDL_ON/UI/UI2/FuntionControlView/Curtain/VenetianBlindsPage.cs |  347 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 347 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/VenetianBlindsPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/VenetianBlindsPage.cs
new file mode 100644
index 0000000..47c9da5
--- /dev/null
+++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/VenetianBlindsPage.cs
@@ -0,0 +1,347 @@
+锘縰sing System;
+using System.Collections.Generic;
+using HDL_ON.DriverLayer;
+using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
+using Shared;
+
+namespace HDL_ON.UI
+{
+    public partial class VenetianBlindsPage : FrameLayout
+    {
+
+        #region 鎺т欢闆嗗悎
+        static VenetianBlindsPage bodyView;
+        /// <summary>
+        /// 鍔熻兘鍚嶇О鎸夐挳
+        /// </summary>
+        Button btnFunctionName;
+        /// <summary>
+        /// 鎴块棿妤煎眰淇℃伅鎸夐挳
+        /// </summary>
+        Button btnFromFoorAndRoom;
+        /// <summary>
+        /// 鏀惰棌鎸夐挳
+        /// </summary>
+        Button btnCollection;
+        /// <summary>
+        /// 绐楀笜鍔ㄦ�佹帶浠�
+        /// </summary>
+        CurtainRollSeekBarOn curtainSeekBar;
+        ///// <summary>
+        ///// 绐楀笜杩涘害鍑忓皯鎸夐挳
+        ///// </summary>
+        //Button btnMinusSignIcon;
+        ///// <summary>
+        ///// 绐楀笜杩涘害澧炲姞鎸夐挳
+        ///// </summary>
+        //Button btnPlusSgnIcon;
+        ///// <summary>
+        ///// 绐楀笜婊戝姩鎺у埗
+        ///// </summary>
+        //DiyImageSeekBar controlBar;
+        /// <summary>
+        /// 绐楀笜鍏抽棴鎸夐挳
+        /// </summary>
+        Button btnCurtainClose;
+        /// <summary>
+        /// 绐楀笜鍋滄鎸夐挳
+        /// </summary>
+        Button btnCurtainStop;
+        /// <summary>
+        /// 绐楀笜鎵撳紑鎸夐挳
+        /// </summary>
+        Button btnCurtainOpen;
+        /// <summary>
+        /// 杩涘害鍊�
+        /// </summary>
+        Button btnProgress;
+        #endregion
+
+        #region 鍖哄煙鍙橀噺
+        Curtain curtainTemp = new Curtain();
+        Function function;
+        Button btnCollection_Out;
+        Button btnFunctionName_Out;
+        Button btnFromFloor_Out;
+        /// <summary>
+        /// 鍒锋柊鏄剧ず淇℃伅
+        /// </summary>
+        Action actionRefresh;
+        #endregion
+        /// <summary>
+        /// 姝e湪鎺у埗
+        /// </summary>
+        bool onControl = false;
+        public VenetianBlindsPage(Function func)
+        {
+            bodyView = this;
+            function = func;
+        }
+
+        public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut)
+        {
+            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
+            btnCollection_Out = btnCollectionIcon;
+            btnFunctionName_Out = btnFunctionNameOut;
+            btnFromFloor_Out = btnFromFloorOut;
+
+
+            FrameLayout controlView = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(88),
+                Width = Application.GetRealWidth(327),
+                Height = Application.GetRealHeight(526),
+                BackgroundImagePath = "Public/Fragmentbg.png",
+            };
+            bodyView.AddChidren(controlView);
+
+            btnFunctionName = new Button()
+            {
+                X = Application.GetRealWidth(16),
+                Y = Application.GetRealHeight(14),
+                Width = Application.GetRealWidth(270),
+                Height = Application.GetRealHeight(37),
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
+                Text = function.name,
+            };
+            controlView.AddChidren(btnFunctionName);
+
+            btnFromFoorAndRoom = new Button()
+            {
+                X = Application.GetRealWidth(16),
+                Y = btnFunctionName.Bottom,
+                Width = Application.GetRealWidth(270),
+                Height = Application.GetRealHeight(21),
+                TextColor = CSS_Color.PromptingColor1,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                Text = function.GetRoomListName()
+            };
+            controlView.AddChidren(btnFromFoorAndRoom);
+
+            btnCollection = new Button()
+            {
+                X = Application.GetRealWidth(273),
+                Y = Application.GetRealHeight(14),
+                Width = Application.GetMinRealAverage(40),
+                Height = Application.GetMinRealAverage(40),
+                SelectedImagePath = "Collection/CollectionIcon.png",
+                UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
+                IsSelected = function.collect
+            };
+            controlView.AddChidren(btnCollection);
+            //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+            //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
+            //{
+            //    controlView.AddChidren(btnCollection);
+            //}
+
+
+            btnProgress = new Button()
+            {
+                X = Application.GetRealWidth(80),
+                Y = Application.GetRealHeight(80),
+                Width = Application.GetRealWidth(170),
+                Height = Application.GetRealHeight(50),
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.PromptingColor1,
+                Text = curtainTemp.GetPercent(function).ToString() + "%",
+            };
+            //controlView.AddChidren(btnProgress);
+
+            curtainSeekBar = new CurtainRollSeekBarOn()
+            {
+                X = Application.GetRealWidth(40),
+                Y = Application.GetRealHeight(130),
+                Width = Application.GetRealWidth(170),
+                Height = Application.GetRealWidth(210),
+                Progress = curtainTemp.GetPercent(function),
+                //IsInvertedProgress = true,
+                ProgressTextColor = CSS_Color.WarningColor,// 0x00000000,
+            };
+            curtainSeekBar.SetBlindsType(true);
+            controlView.AddChidren(curtainSeekBar);
+
+
+
+            int angleValut = Convert.ToInt32(function.GetAttrState("angle")) - 90;
+            var angleView = new FrameLayout()
+            {
+                X = Application.GetRealWidth(250),
+                Y = Application.GetRealHeight(145),
+                Width = Application.GetRealWidth(40),
+                Height = Application.GetRealWidth(220),
+                BackgroundColor = 0x00ff0000
+            };
+            controlView.AddChidren(angleView);
+
+            var buttons = new List<Button>();
+            for (int i = 0; i < 18; i++)
+            {
+                var btn = new Button()
+                {
+                    X = Application.GetRealWidth(5),
+                    Y = Application.GetRealHeight(8 * i + 4),
+                    Width = Application.GetRealWidth(25),
+                    Height = Application.GetRealHeight(3),
+                    BackgroundColor = 0xFFDFE1E6,
+                };
+                btn.SetRotation(angleValut);
+                angleView.AddChidren(btn);
+                buttons.Add(btn);
+            };
+
+            var btnAngle = new Button()
+            {
+                Y = Application.GetRealHeight(8 * 17 + 14),
+                Height = Application.GetRealHeight(20),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextColor = CSS_Color.PromptingColor1,
+                Text = function.GetAttrState("angle") + "掳"
+            };
+            angleView.AddChidren(btnAngle);
+
+            var angleBar = new Button() {
+                Height = Application.GetRealHeight(8 * 18 + 14),
+            };
+            angleView.AddChidren(angleBar);
+            float angle = 0;
+            angleBar.MouseMoveEventHandler = (sender, e) =>
+            {
+                int data = angleBar.Height / 180;
+                int data1 = Convert.ToInt32(e.Y / data);
+                angle = (90 - data1);
+
+                Console.WriteLine($"angle:: {angle}");
+                if (angle > 90)
+                {
+                    angle = 90;
+                }
+                else if (angle < -90)
+                {
+                    angle = -90;
+                }
+                btnAngle.Text = angle + "掳";
+                foreach (var btn in buttons)
+                {
+                    btn.SetRotation(angle);
+                }
+                if (angle == 90 || angle == -90)
+                {
+                    curtainSeekBar.SetBlindsType(false);
+                }
+                else
+                {
+                    curtainSeekBar.SetBlindsType(true);
+                }
+            };
+            angleBar.MouseUpEventHandler = (sende, e) =>
+            {
+                function.refreshTime = DateTime.Now;
+                new System.Threading.Thread(() =>
+                {
+                    Dictionary<string, string> dic = new Dictionary<string, string>();
+                    dic.Add("angle", angle.ToString());
+                    Control.Ins.SendWriteCommand(function, dic);
+                })
+                { IsBackground = true }.Start();
+            };
+
+
+            //btnMinusSignIcon = new Button()
+            //{
+            //    Y = Application.GetRealHeight(406),
+            //    Width = Application.GetRealWidth(52),
+            //    Height = Application.GetMinRealAverage(24),
+            //    TextAlignment = TextAlignment.CenterRight,
+            //    TextID = StringId.PullOpen,
+            //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+            //    TextColor = CSS_Color.PromptingColor1,
+            //    Visible = false,
+            //    Enable = false,
+            //};
+            //controlView.AddChidren(btnMinusSignIcon);
+
+            //controlBar = new DiyImageSeekBar()
+            //{
+            //    X = btnMinusSignIcon.Right,
+            //    Y = Application.GetRealHeight(391),//414,璁捐鏁版嵁
+            //    Width = Application.GetRealWidth(220),
+            //    Height = Application.GetRealHeight(54),
+            //    SeekBarViewHeight = Application.GetRealHeight(8),
+            //    ThumbImagePath = "Public/ThumbImage.png",
+            //    ThumbImageHeight = Application.GetRealHeight(54),
+            //    ProgressBarColor = CSS_Color.MainColor,
+            //    ProgressTextColor = CSS_Color.FirstLevelTitleColor,
+            //    ProgressTextSize = 0x00000000,
+            //    MaxValue = 100,
+            //    SeekBarPadding = Application.GetRealWidth(20),
+            //    Progress = curtainTemp.GetPercent(function),
+            //    Visible = false,
+            //    Enable = false,
+            //};
+            //controlView.AddChidren(controlBar);
+
+            //btnPlusSgnIcon = new Button()
+            //{
+            //    X = Application.GetRealWidth(286),
+            //    Y = Application.GetRealHeight(406),
+            //    Width = Application.GetRealWidth(62),
+            //    Height = Application.GetRealWidth(24),
+            //    TextID = StringId.Shut,
+            //    TextAlignment = TextAlignment.CenterLeft,
+            //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+            //    TextColor = CSS_Color.PromptingColor1,
+            //    Visible = false,
+            //    Enable = false,
+            //};
+            //controlView.AddChidren(btnPlusSgnIcon);
+
+            btnCurtainClose = new Button()
+            {
+                X = Application.GetRealWidth(84),
+                Y = Application.GetRealHeight(466),
+                Width = Application.GetMinRealAverage(32),
+                Height = Application.GetMinRealAverage(32),
+                UnSelectedImagePath = "FunctionIcon/Curtain/CurtainDownIcon.png",
+                SelectedImagePath = "FunctionIcon/Curtain/CurtainDownIconOn.png",
+            };
+            controlView.AddChidren(btnCurtainClose);
+
+            btnCurtainStop = new Button()
+            {
+                X = Application.GetRealWidth(148),
+                Y = Application.GetRealHeight(466),
+                Width = Application.GetMinRealAverage(32),
+                Height = Application.GetMinRealAverage(32),
+                UnSelectedImagePath = "FunctionIcon/Curtain/CurtainStopIcon.png",
+                SelectedImagePath = "FunctionIcon/Curtain/CurtainStopOnIcon.png",
+            };
+            controlView.AddChidren(btnCurtainStop);
+
+            btnCurtainOpen = new Button()
+            {
+                X = Application.GetRealWidth(212),
+                Y = Application.GetRealHeight(466),
+                Width = Application.GetMinRealAverage(32),
+                Height = Application.GetMinRealAverage(32),
+                UnSelectedImagePath = "FunctionIcon/Curtain/CurtainUpIcon.png",
+                SelectedImagePath = "FunctionIcon/Curtain/CurtainUpIconOn.png",
+            };
+            controlView.AddChidren(btnCurtainOpen);
+
+            LoadEventList();
+            new TopViewDiv(bodyView, Language.StringByID(StringId.Curtain)).LoadTopView_FunctionTop(function, actionRefresh);
+            new System.Threading.Thread(() =>
+            {
+                DriverLayer.Control.Ins.SendReadCommand(function);
+            })
+            { IsBackground = true }.Start();
+        }
+    }
+}

--
Gitblit v1.8.0