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