From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs | 131 +++++++++++++++++++++++++------------------ 1 files changed, 75 insertions(+), 56 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs index b2d0460..3f665d1 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs @@ -66,19 +66,10 @@ fanSpeedList = device.GetAttribute(FunctionAttributeKey.FanSpeed).value; btnFan.MouseUpEventHandler += (sender, e) => { - if( !btnSwitch.IsSelected){return;} - var curFanSpeedIndex = fanSpeedList.IndexOf(device.GetAttrState(FunctionAttributeKey.FanSpeed)); - var sendFanSpeedIndex = curFanSpeedIndex == fanSpeedList.Count - 1 ? 0 : 1+curFanSpeedIndex; - - device.SetAttrState(FunctionAttributeKey.FanSpeed, fanSpeedList[sendFanSpeedIndex]); - new System.Threading.Thread(() => + if (btnSwitch.IsSelected) { - Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add(FunctionAttributeKey.FanSpeed, fanSpeedList[sendFanSpeedIndex]); - Control.Ins.SendWriteCommand(device, d); - }) - { IsBackground = true }.Start(); - RefreshFanSpeed(); + ShowFanSelectView(); + } }; //椋庨�熸枃鏈� this.btnFanView = new NormalViewControl(this.FrameWhiteCentet1.Width / 3, Application.GetRealHeight(18), false); @@ -140,40 +131,80 @@ }; frameBack.Show(); + var fanAttr = device.GetAttribute(FunctionAttributeKey.FanSpeed); + if(fanAttr == null) + { + return; + } + var valueCount = fanAttr.value.Count; + //鑿滃崟鎺т欢(椋庨��) - var menuContr = new DialogTitleMenuControl(3, Language.StringByID(StringId.FanSpeed)); - menuContr.X = Application.GetRealWidth(209); - menuContr.Y = Application.GetRealHeight(231); + var menuContr = new DialogTitleMenuControl(valueCount, Language.StringByID(StringId.FanSpeed)); + //menuContr.X = Application.GetRealWidth(209); + menuContr.Gravity = Gravity.CenterHorizontal; menuContr.Width = Application.GetRealWidth(160); - menuContr.Height = Application.GetRealHeight(199); dialogBody.AddChidren(menuContr); - //1妗� - var iconPath = this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "low" ? "FunctionIcon/AirFresh/Fan1Select.png" : "FunctionIcon/AirFresh/Fan1.png"; - menuContr.AddRowMenu(Language.StringByID(StringId.FanOneGear), iconPath, this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "low", () => + int count = 0; + foreach(var fanAttrValue in fanAttr.value) { - frameBack.Close(); - //鍙戦�佹。浣嶅懡浠� - this.SendOtherComand(this.btnFan, FunctionAttributeKey.FanSpeed, "low"); - }); + bool isSelecte = false; + var iconPath = "FunctionIcon/AirFresh/Fan1.png"; + string text = Language.StringByID(StringId.FanOneGear); + if (fanAttrValue == "low" || fanAttrValue == "level_1") + { + text = Language.StringByID(StringId.LowWindSpeed); + if (this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "low"|| this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "level_1") + { + iconPath = "FunctionIcon/AirFresh/Fan1Select.png"; + isSelecte = true; + } + } + else if (fanAttrValue == "medium" || fanAttrValue == "level_2") + { + text = Language.StringByID(StringId.MiddleWindSpeed); + iconPath = "FunctionIcon/AirFresh/Fan2.png"; + if (this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "medium" || this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "level_2") + { + iconPath = "FunctionIcon/AirFresh/Fan2Select.png"; + isSelecte = true; + } + } + else if (fanAttrValue == "high" || fanAttrValue == "level_3") + { + text = Language.StringByID(StringId.HighWindSpeed); + iconPath = "FunctionIcon/AirFresh/Fan3.png"; + if (this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "high" || this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "level_3") + { + iconPath = "FunctionIcon/AirFresh/Fan3Select.png"; + isSelecte = true; + } + } + else if(fanAttrValue == "auto") + { + text = Language.StringByID(StringId.Auto); + iconPath = "FunctionIcon/AirFresh/Fan2.png"; + if (this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "auto" ) + { + iconPath = "FunctionIcon/AirFresh/Fan2Select.png"; + isSelecte = true; + } + } + else + { + continue; + } - //2妗� - iconPath = this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "medium" ? "FunctionIcon/AirFresh/Fan2Select.png" : "FunctionIcon/AirFresh/Fan2.png"; - menuContr.AddRowMenu(Language.StringByID(StringId.FanTwoGear), iconPath, this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "medium", () => - { - frameBack.Close(); - //鍙戦�佹。浣嶅懡浠� - this.SendOtherComand(this.btnFan, FunctionAttributeKey.FanSpeed, "medium"); - }); + count++; + menuContr.AddRowMenu(text, iconPath, isSelecte, () => + { + frameBack.Close(); + //鍙戦�佹。浣嶅懡浠� + this.SendOtherComand(this.btnFan, FunctionAttributeKey.FanSpeed, fanAttrValue); + }); + } + menuContr.Y = Application.GetRealHeight(231 - (46 * (count-3))); - //3妗� - iconPath = this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "high" ? "FunctionIcon/AirFresh/Fan3Select.png" : "FunctionIcon/AirFresh/Fan3.png"; - menuContr.AddRowMenu(Language.StringByID(StringId.FanThreeGear), iconPath, this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "high", () => - { - frameBack.Close(); - //鍙戦�佹。浣嶅懡浠� - this.SendOtherComand(this.btnFan, FunctionAttributeKey.FanSpeed, "high"); - }); } #endregion @@ -254,29 +285,14 @@ HdlThreadLogic.Current.RunThread(() => { //鑾峰彇鍙戦�佸懡浠ょ殑鏍锋澘(bus鍗忚鏄渶瑕佷竴娆℃�ф妸鍏ㄩ儴鍛戒护涓�璧峰彂閫佺殑) - var dic = this.GetSendComandSample(); - dic[comadKey] = comadValue; + Dictionary<string, string> dic = new Dictionary<string, string>(); + dic.Add(comadKey, comadValue); Control.Ins.SendWriteCommand(this.device, dic); HdlThreadLogic.Current.RunMain(() => { btnIcon.CanClick = true; }); }); - } - - /// <summary> - /// 鑾峰彇鍙戦�佸懡浠ょ殑鏍锋澘(bus鍗忚鏄渶瑕佷竴娆℃�ф妸鍏ㄩ儴鍛戒护涓�璧峰彂閫佺殑) - /// </summary> - /// <returns></returns> - private Dictionary<string, string> GetSendComandSample() - { - var dic = new Dictionary<string, string>(); - //寮�鍏� - dic[FunctionAttributeKey.OnOff] = this.device.GetAttrState(FunctionAttributeKey.OnOff); - //椋庨�� - dic[FunctionAttributeKey.FanSpeed] = this.device.GetAttrState(FunctionAttributeKey.FanSpeed); - - return dic; } #endregion @@ -300,5 +316,8 @@ #endregion + + + } } -- Gitblit v1.8.0