From aa8a3dcb1cb921c9f721aac4c9c87c696ce8a354 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 30 三月 2021 09:19:10 +0800 Subject: [PATCH] Merge branch 'dev-tzy' into temp-wxr --- HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs | 686 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 686 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs new file mode 100644 index 0000000..4cf8131 --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs @@ -0,0 +1,686 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using HDL_ON.DriverLayer; +using HDL_ON.Entity; +using HDL_ON.Stan; +using HDL_ON.UI.CSS; +using Shared; + +namespace HDL_ON.UI +{ + /// <summary> + /// 閲戣寕鏂伴璁惧鐨勬帶鍒剁晫闈� + /// </summary> + public class AirFreshControlPage : DeviceFunctionCardCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 瀹ゅ唴婀垮害鎺т欢 + /// </summary> + private NormalViewControl btnHumidity = null; + /// <summary> + /// %鎺т欢 + /// </summary> + private NormalViewControl btnHumidityUnit = null; + /// <summary> + /// 瀹ゅ唴娓╁害鎺т欢 + /// </summary> + private NormalViewControl btnTemperature = null; + /// <summary> + /// 鈩冩帶浠� + /// </summary> + private NormalViewControl btnTemperatureUnit = null; + /// <summary> + /// 褰撳墠婊ょ綉鍓╀綑鎺т欢 + /// </summary> + private NormalViewControl btnFilterScreen = null; + /// <summary> + /// 鑺傝兘/鑸掗�傚浘鏍囨帶浠� + /// </summary> + private IconViewControl btnMode1 = null; + /// <summary> + /// 鑺傝兘/鑸掗�傛枃鏈帶浠� + /// </summary> + private NormalViewControl btnMode1View = null; + /// <summary> + /// 閫氶/鍔犳箍鍥炬爣鎺т欢 + /// </summary> + private IconViewControl btnMode2 = null; + /// <summary> + /// 閫氶/鍔犳箍鏂囨湰鎺т欢 + /// </summary> + private NormalViewControl btnMode2View = null; + /// <summary> + /// 椋庨�熷浘鏍囨帶浠� + /// </summary> + private IconViewControl btnFan = null; + /// <summary> + /// 椋庨�熸枃鏈帶浠� + /// </summary> + private NormalViewControl btnFanView = null; + /// <summary> + /// 寮�鍏冲浘鏍� + /// </summary> + private IconViewControl btnSwitch = null; + /// <summary> + /// 鏂伴鏁版嵁 + /// </summary> + private AirFreshData airFreshData = new AirFreshData(); + /// <summary> + /// 鍚勭鏂囨湰 + /// </summary> + private Dictionary<string, string> dicText = new Dictionary<string, string>(); + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭 + /// </summary> + public override void InitFrameWhiteContent() + { + base.SetTitleText(Language.StringByID(StringId.AirFresh)); + //杩欎釜涓滆タ鍔犱釜绌烘牸 + this.dicText["婊ょ綉鍓╀綑"] = Language.StringByID(StringId.ResidualFilterScreen) + " "; + this.dicText["鑺傝兘"] = Language.StringByID(StringId.Energy); + this.dicText["鑸掗��"] = Language.StringByID(StringId.Comfortable); + this.dicText["閫氶"] = Language.StringByID(StringId.Ventilated); + this.dicText["鍔犳箍"] = Language.StringByID(StringId.Humidification); + this.dicText["1妗�"] = Language.StringByID(StringId.OneGear); + this.dicText["2妗�"] = Language.StringByID(StringId.TwoGear); + this.dicText["3妗�"] = Language.StringByID(StringId.ThreeGear); + + //鍒锋柊褰撳墠璁惧鐨勭姸鎬佺紦瀛� + this.RefreshNowDeviceStatuMemory(this.device); + //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + this.InitFrameWhiteContent1(); + } + + /// <summary> + /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + /// </summary> + private void InitFrameWhiteContent1() + { + //涓�涓儗鏅浘鐗� + var framePic = new FrameLayout(); + framePic.Y = Application.GetRealHeight(120); + framePic.Width = this.GetPictrueRealSize(303); + framePic.Height = this.GetPictrueRealSize(175); + framePic.Gravity = Gravity.CenterHorizontal; + framePic.BackgroundImagePath = "FunctionIcon/AirFresh/TempAndHumiBack.png"; + this.FrameWhiteCentet1.AddChidren(framePic); + + //瀹ゅ唴婀垮害 鐨勫鍣�(涓轰簡閲嶆柊璁$畻鍧愭爣浣跨敤) + int frameWidth = framePic.Width / 2 - this.GetPictrueRealSize(21); + var frameHumidity = new FrameLayout(); + frameHumidity.X = this.GetPictrueRealSize(21); + frameHumidity.Y = this.GetPictrueRealSize(12); + frameHumidity.Width = frameWidth; + frameHumidity.Height = frameWidth; + framePic.AddChidren(frameHumidity); + //瀹ゅ唴婀垮害鍊� + this.btnHumidity = new NormalViewControl(20, this.GetPicChidrenTextHeight(30), false); + btnHumidity.Y = this.GetPictrueRealSize(39); + btnHumidity.TextSize = 30; + btnHumidity.TextColor = CSS_Color.FirstLevelTitleColor; + btnHumidity.TextAlignment = TextAlignment.TopCenter; + frameHumidity.AddChidren(btnHumidity); + //% + this.btnHumidityUnit = new NormalViewControl(10, 10, true); + btnHumidityUnit.Y = btnHumidity.Y + this.GetPictrueRealSize(8); + btnHumidityUnit.TextColor = CSS_Color.TextualColor; + btnHumidityUnit.Text = "%"; + btnHumidityUnit.TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel; + btnHumidityUnit.Width = btnHumidityUnit.GetRealWidthByText(); + frameHumidity.AddChidren(btnHumidityUnit); + //瀹ゅ唴婀垮害 + var btnHumidityView = new NormalViewControl(frameHumidity.Width, this.GetPicChidrenTextHeight(18), false); + btnHumidityView.Y = btnHumidity.Bottom + this.GetPictrueRealSize(8); + btnHumidityView.TextAlignment = TextAlignment.Center; + btnHumidityView.TextColor = CSS_Color.TextualColor; + btnHumidityView.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; + btnHumidityView.TextID = StringId.IndoorHumidity; + frameHumidity.AddChidren(btnHumidityView); + + //瀹ゅ唴娓╁害 鐨勫鍣�(涓轰簡閲嶆柊璁$畻鍧愭爣浣跨敤) + var frameTemperature = new FrameLayout(); + frameTemperature.Y = frameHumidity.Y; + frameTemperature.X = frameHumidity.Right; + frameTemperature.Width = frameWidth; + frameTemperature.Height = frameWidth; + framePic.AddChidren(frameTemperature); + //瀹ゅ唴娓╁害鍊� + this.btnTemperature = new NormalViewControl(20, this.GetPicChidrenTextHeight(30), false); + btnTemperature.Y = btnHumidity.Y; + btnTemperature.TextSize = 30; + btnTemperature.TextColor = CSS_Color.FirstLevelTitleColor; + btnTemperature.TextAlignment = TextAlignment.TopCenter; + btnTemperature.GetRealWidthByText(); + frameTemperature.AddChidren(btnTemperature); + //鈩� + this.btnTemperatureUnit = new NormalViewControl(10, 10, true); + btnTemperatureUnit.Y = btnTemperature.Y + this.GetPictrueRealSize(8); + btnTemperatureUnit.TextColor = CSS_Color.TextualColor; + btnTemperatureUnit.Text = "鈩�"; + btnTemperatureUnit.TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel; + btnTemperatureUnit.Width = btnTemperatureUnit.GetRealWidthByText(); + frameTemperature.AddChidren(btnTemperatureUnit); + //瀹ゅ唴娓╁害 + var btnTemperatureView = new NormalViewControl(frameTemperature.Width, this.GetPicChidrenTextHeight(18), false); + btnTemperatureView.Y = btnTemperature.Bottom + this.GetPictrueRealSize(8); + btnTemperatureView.TextAlignment = TextAlignment.Center; + btnTemperatureView.TextColor = CSS_Color.TextualColor; + btnTemperatureView.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; + btnTemperatureView.TextID = StringId.IndoorTemp; + frameTemperature.AddChidren(btnTemperatureView); + + //褰撳墠婊ょ綉鍓╀綑0% + this.btnFilterScreen = new NormalViewControl(this.FrameWhiteCentet1.Width, Application.GetRealHeight(18), false); + btnFilterScreen.Y = framePic.Bottom; + btnFilterScreen.TextAlignment = TextAlignment.Center; + btnFilterScreen.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; + btnFilterScreen.TextColor = CSS_Color.MainColor; + this.FrameWhiteCentet1.AddChidren(btnFilterScreen); + + //鑺傝兘/鑸掗�傚浘鏍� + this.btnMode1 = new IconViewControl(28); + btnMode1.X = Application.GetRealWidth(42); + btnMode1.Y = btnFilterScreen.Bottom + Application.GetRealHeight(61); + this.FrameWhiteCentet1.AddChidren(btnMode1); + btnMode1.ButtonClickEvent += (sender, e) => + { + //鏄剧ず鑺傝兘/鑸掗�傞�夋嫨鐣岄潰 + this.ShowMode1SelectView(); + }; + //鑺傝兘/鑸掗�傛枃鏈� + this.btnMode1View = new NormalViewControl(this.FrameWhiteCentet1.Width / 3, Application.GetRealHeight(18), false); + btnMode1View.Y = btnMode1.Bottom + Application.GetRealHeight(6); + btnMode1View.TextAlignment = TextAlignment.Center; + btnMode1View.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; + btnMode1View.TextColor = CSS_Color.TextualColor; + this.FrameWhiteCentet1.AddChidren(btnMode1View); + + //閫氶/鍔犳箍鍥炬爣 + this.btnMode2 = new IconViewControl(28); + btnMode2.Y = btnMode1.Y; + btnMode2.Gravity = Gravity.CenterHorizontal; + this.FrameWhiteCentet1.AddChidren(btnMode2); + btnMode2.ButtonClickEvent += (sender, e) => + { + //鏄剧ず閫氶/鍔犳箍閫夋嫨鐣岄潰 + this.ShowMode2SelectView(); + }; + //閫氶/鍔犳箍鏂囨湰 + this.btnMode2View = new NormalViewControl(this.FrameWhiteCentet1.Width / 3, Application.GetRealHeight(18), false); + btnMode2View.X = btnMode1View.Right; + btnMode2View.Y = btnMode2.Bottom + Application.GetRealHeight(6); + btnMode2View.TextAlignment = TextAlignment.Center; + btnMode2View.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; + btnMode2View.TextColor = CSS_Color.TextualColor; + this.FrameWhiteCentet1.AddChidren(btnMode2View); + + //椋庨�熷浘鏍� + this.btnFan = new IconViewControl(28); + btnFan.X = this.FrameWhiteCentet1.Width - btnMode1.X - btnFan.IconSize; + btnFan.Y = btnMode1.Y; + this.FrameWhiteCentet1.AddChidren(btnFan); + btnFan.ButtonClickEvent += (sender, e) => + { + //鏄剧ず椋庨�熼�夋嫨鐣岄潰 + this.ShowFanSelectView(); + }; + //椋庨�熸枃鏈� + this.btnFanView = new NormalViewControl(this.FrameWhiteCentet1.Width / 3, Application.GetRealHeight(18), false); + btnFanView.X = btnMode2View.Right; + btnFanView.Y = btnFan.Bottom + Application.GetRealHeight(6); + btnFanView.TextAlignment = TextAlignment.Center; + btnFanView.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; + btnFanView.TextColor = CSS_Color.TextualColor; + this.FrameWhiteCentet1.AddChidren(btnFanView); + + //寮�鍏冲浘鏍� + this.btnSwitch = new IconViewControl(40); + btnSwitch.Gravity = Gravity.CenterHorizontal; + btnSwitch.Y = Application.GetRealHeight(468); + btnSwitch.UnSelectedImagePath = "Public/PowerClose.png"; + btnSwitch.SelectedImagePath = "Public/PowerOpen.png"; + FrameWhiteCentet1.AddChidren(btnSwitch); + btnSwitch.ButtonClickEvent += (sender, e) => + { + //鍙戦�佸紑鍏冲懡浠� + this.SendSwitchComand(); + }; + + //鍒锋柊鐣岄潰鐘舵�� + this.RefreshFormStatu(); + } + + #endregion + + #region 鈻� 鏄剧ず鑺傝兘/鑸掗�傞�夋嫨鐣岄潰______________ + + /// <summary> + /// 鏄剧ず鑺傝兘/鑸掗�傞�夋嫨鐣岄潰 + /// </summary> + private void ShowMode1SelectView() + { + //鏁翠釜鐏拌壊鐣岄潰 + var frameBack = new Dialog(); + + var dialogBody = new NormalFrameLayout(); + frameBack.AddChidren(dialogBody); + dialogBody.ButtonClickEvent = (sender, e) => + { + frameBack.Close(); + }; + frameBack.Show(); + + //鑿滃崟鎺т欢(妯″紡) + var menuContr = new DialogTitleMenuControl(2, Language.StringByID(StringId.Mode)); + menuContr.X = Application.GetRealWidth(6); + menuContr.Y = Application.GetRealHeight(277); + menuContr.Width = Application.GetRealWidth(160); + menuContr.Height = Application.GetRealHeight(154); + dialogBody.AddChidren(menuContr); + + //鑺傝兘 + var iconPath = this.airFreshData.Energy == "true" ? "FunctionIcon/AirFresh/EnergySelect.png" : "FunctionIcon/AirFresh/Energy.png"; + menuContr.AddRowMenu(this.dicText["鑺傝兘"], iconPath, this.airFreshData.Energy == "true", () => + { + frameBack.Close(); + //鍙戦�佽妭鑳藉懡浠� + this.SendOtherComand(this.btnMode1, FunctionAttributeKey.Energy, "true"); + }); + + //鑸掗�� + iconPath = this.airFreshData.Energy == "false" ? "FunctionIcon/AirFresh/ComfortableSelect.png" : "FunctionIcon/AirFresh/Comfortable.png"; + menuContr.AddRowMenu(this.dicText["鑸掗��"], iconPath, this.airFreshData.Energy == "false", () => + { + frameBack.Close(); + //鍙戦�佽垝閫傚懡浠� + this.SendOtherComand(this.btnMode1, FunctionAttributeKey.Energy, "false"); + }); + } + + #endregion + + #region 鈻� 鏄剧ず閫氶/鍔犳箍閫夋嫨鐣岄潰______________ + + /// <summary> + /// 鏄剧ず閫氶/鍔犳箍閫夋嫨鐣岄潰 + /// </summary> + private void ShowMode2SelectView() + { + //鏁翠釜鐏拌壊鐣岄潰 + var frameBack = new Dialog(); + + var dialogBody = new NormalFrameLayout(); + frameBack.AddChidren(dialogBody); + dialogBody.ButtonClickEvent = (sender, e) => + { + frameBack.Close(); + }; + frameBack.Show(); + + //鑿滃崟鎺т欢(妯″紡) + var menuContr = new DialogTitleMenuControl(2, Language.StringByID(StringId.Mode)); + menuContr.Y = Application.GetRealHeight(277); + menuContr.Gravity = Gravity.CenterHorizontal; + menuContr.Width = Application.GetRealWidth(160); + menuContr.Height = Application.GetRealHeight(154); + dialogBody.AddChidren(menuContr); + + //閫氶 + var iconPath = this.airFreshData.Mode == "fan" ? "FunctionIcon/AirFresh/VentilateSelect.png" : "FunctionIcon/AirFresh/Ventilate.png"; + menuContr.AddRowMenu(this.dicText["閫氶"], iconPath, this.airFreshData.Mode == "fan", () => + { + frameBack.Close(); + //鍙戦�侀�氶鍛戒护 + this.SendOtherComand(this.btnMode2, FunctionAttributeKey.Mode, "fan"); + }); + + //鍔犳箍 + iconPath = this.airFreshData.Mode == "humidification" ? "FunctionIcon/AirFresh/HumidificationSelect.png" : "FunctionIcon/AirFresh/Humidification.png"; + menuContr.AddRowMenu(this.dicText["鍔犳箍"], iconPath, this.airFreshData.Mode == "humidification", () => + { + frameBack.Close(); + //鍙戦�佸姞婀垮懡浠� + this.SendOtherComand(this.btnMode2, FunctionAttributeKey.Mode, "humidification"); + }); + } + + #endregion + + #region 鈻� 鏄剧ず椋庨�熼�夋嫨鐣岄潰___________________ + + /// <summary> + /// 鏄剧ず椋庨�熼�夋嫨鐣岄潰 + /// </summary> + private void ShowFanSelectView() + { + //鏁翠釜鐏拌壊鐣岄潰 + var frameBack = new Dialog(); + + var dialogBody = new NormalFrameLayout(); + frameBack.AddChidren(dialogBody); + dialogBody.ButtonClickEvent = (sender, e) => + { + frameBack.Close(); + }; + frameBack.Show(); + + //鑿滃崟鎺т欢(椋庨��) + var menuContr = new DialogTitleMenuControl(3, Language.StringByID(StringId.FanSpeed)); + menuContr.X = Application.GetRealWidth(209); + menuContr.Y = Application.GetRealHeight(231); + menuContr.Width = Application.GetRealWidth(160); + menuContr.Height = Application.GetRealHeight(199); + dialogBody.AddChidren(menuContr); + + //1妗� + var iconPath = this.airFreshData.Fan == "level_1" ? "FunctionIcon/AirFresh/Fan1Select.png" : "FunctionIcon/AirFresh/Fan1.png"; + menuContr.AddRowMenu(Language.StringByID(StringId.FanOneGear), iconPath, this.airFreshData.Fan == "level_1", () => + { + frameBack.Close(); + //鍙戦�佹。浣嶅懡浠� + this.SendOtherComand(this.btnFan, FunctionAttributeKey.FanSpeed, "level_1"); + }); + + //2妗� + iconPath = this.airFreshData.Fan == "level_2" ? "FunctionIcon/AirFresh/Fan2Select.png" : "FunctionIcon/AirFresh/Fan2.png"; + menuContr.AddRowMenu(Language.StringByID(StringId.FanTwoGear), iconPath, this.airFreshData.Fan == "level_2", () => + { + frameBack.Close(); + //鍙戦�佹。浣嶅懡浠� + this.SendOtherComand(this.btnFan, FunctionAttributeKey.FanSpeed, "level_2"); + }); + + //3妗� + iconPath = this.airFreshData.Fan == "level_3" ? "FunctionIcon/AirFresh/Fan3Select.png" : "FunctionIcon/AirFresh/Fan3.png"; + menuContr.AddRowMenu(Language.StringByID(StringId.FanThreeGear), iconPath, this.airFreshData.Fan == "level_3", () => + { + frameBack.Close(); + //鍙戦�佹。浣嶅懡浠� + this.SendOtherComand(this.btnFan, FunctionAttributeKey.FanSpeed, "level_3"); + }); + } + + #endregion + + #region 鈻� 璁惧鐘舵�佸弽棣坃______________________ + + /// <summary> + /// 璁惧鐘舵�佸弽棣� + /// </summary> + /// <param name="i_LocalDevice"></param> + public override void DeviceStatuPush(Function i_LocalDevice) + { + //涓嶆槸鍚屼竴涓笢瑗� + if (this.device.sid != i_LocalDevice.sid) { return; } + + //鍒锋柊褰撳墠璁惧鐨勭姸鎬佺紦瀛� + this.RefreshNowDeviceStatuMemory(i_LocalDevice); + //鍒锋柊鐣岄潰鐘舵�� + this.RefreshFormStatu(); + } + + #endregion + + #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________ + + /// <summary> + /// 鍒锋柊鐣岄潰鐘舵�� + /// </summary> + private void RefreshFormStatu() + { + //寮�鍏� + this.btnSwitch.IsSelected = this.airFreshData.Open; + //婊ょ綉鍓╀綑 + this.btnFilterScreen.Text = this.dicText["婊ょ綉鍓╀綑"] + this.airFreshData.Filter_remain + "%"; + + //瀹ゅ唴婀垮害 + if (this.btnHumidity.Text == string.Empty || Convert.ToDecimal(this.btnHumidity.Text) != this.airFreshData.Indoor_humidity) + { + //鍙樻洿浜嗘墠鏀� + this.btnHumidity.Text = this.airFreshData.Indoor_humidity == 0 ? "0.0" : this.airFreshData.Indoor_humidity.ToString(); + this.btnHumidity.Width = this.btnHumidity.GetRealWidthByText(); + //閲嶆柊璁$畻鍧愭爣,璁╁畠浠眳涓� + this.btnHumidity.X = (btnHumidity.Parent.Width - btnHumidity.Width - btnHumidityUnit.Width) / 2; + this.btnHumidityUnit.X = btnHumidity.Right; + } + //瀹ゅ唴娓╁害 + if (this.btnTemperature.Text == string.Empty || Convert.ToDecimal(this.btnTemperature.Text) != this.airFreshData.Indoor_temp) + { + //鍙樻洿浜嗘墠鏀� + this.btnTemperature.Text = this.airFreshData.Indoor_temp == 0 ? "0.0" : this.airFreshData.Indoor_temp.ToString(); + this.btnTemperature.Width = this.btnTemperature.GetRealWidthByText(); + //閲嶆柊璁$畻鍧愭爣,璁╁畠浠眳涓� + this.btnTemperature.X = (btnHumidity.Parent.Width - btnTemperature.Width - btnTemperatureUnit.Width) / 2; + this.btnTemperatureUnit.X = btnTemperature.Right; + } + + //鑺傝兘/鑸掗�� + if (this.airFreshData.Energy == "true") + { + this.btnMode1.UnSelectedImagePath = "FunctionIcon/AirFresh/Energy.png"; + this.btnMode1.SelectedImagePath = "FunctionIcon/AirFresh/EnergySelect.png"; + this.btnMode1View.Text = this.dicText["鑺傝兘"]; + } + else + { + this.btnMode1.UnSelectedImagePath = "FunctionIcon/AirFresh/Comfortable.png"; + this.btnMode1.SelectedImagePath = "FunctionIcon/AirFresh/ComfortableSelect.png"; + this.btnMode1View.Text = this.dicText["鑸掗��"]; + } + this.btnMode1.IsSelected = this.airFreshData.Open; + this.btnMode1.CanClick = this.airFreshData.Open; + + //閫氶/鍔犳箍 + if (this.airFreshData.Mode == "fan") + { + this.btnMode2.UnSelectedImagePath = "FunctionIcon/AirFresh/Ventilate.png"; + this.btnMode2.SelectedImagePath = "FunctionIcon/AirFresh/VentilateSelect.png"; + this.btnMode2View.Text = this.dicText["閫氶"]; + } + else + { + this.btnMode2.UnSelectedImagePath = "FunctionIcon/AirFresh/Humidification.png"; + this.btnMode2.SelectedImagePath = "FunctionIcon/AirFresh/HumidificationSelect.png"; + this.btnMode2View.Text = this.dicText["鍔犳箍"]; + } + this.btnMode2.IsSelected = this.airFreshData.Open; + this.btnMode2.CanClick = this.airFreshData.Open; + + //椋庨�� + if (this.airFreshData.Fan == "level_3") + { + this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan3.png"; + this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan3Select.png"; + this.btnFanView.Text = this.dicText["3妗�"]; + } + else if(this.airFreshData.Fan == "level_2") + { + this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan2.png"; + this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan2Select.png"; + this.btnFanView.Text = this.dicText["2妗�"]; + } + else + { + this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan1.png"; + this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan1Select.png"; + this.btnFanView.Text = this.dicText["1妗�"]; + } + this.btnFan.IsSelected = this.airFreshData.Open; + this.btnFan.CanClick = this.airFreshData.Open; + } + + #endregion + + #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________ + + /// <summary> + /// 鍙戦�佸叾浠栧懡浠� + /// </summary> + /// <param name="btnIcon">鎸夐挳</param> + /// <param name="comadKey">鍛戒护涓婚敭</param> + /// <param name="comadValue">鍛戒护</param> + private void SendOtherComand(IconViewControl btnIcon, string comadKey, string comadValue) + { + btnIcon.CanClick = false; + + HdlThreadLogic.Current.RunThread(() => + { + //鑾峰彇鍙戦�佸懡浠ょ殑鏍锋澘(bus鍗忚鏄渶瑕佷竴娆℃�ф妸鍏ㄩ儴鍛戒护涓�璧峰彂閫佺殑) + var dic = this.GetSendComandSample(); + dic[comadKey] = comadValue; + Control.Ins.SendWriteCommand(this.device, dic); + HdlThreadLogic.Current.RunMain(() => + { + btnIcon.CanClick = true; + }); + }); + } + + /// <summary> + /// 鍙戦�佸紑鍏冲懡浠� + /// </summary> + private void SendSwitchComand() + { + this.btnSwitch.CanClick = false; + + string statu = this.btnSwitch.IsSelected == true ? "off" : "on"; + HdlThreadLogic.Current.RunThread(() => + { + //鑾峰彇鍙戦�佸懡浠ょ殑鏍锋澘(bus鍗忚鏄渶瑕佷竴娆℃�ф妸鍏ㄩ儴鍛戒护涓�璧峰彂閫佺殑) + var dic = this.GetSendComandSample(); + dic[FunctionAttributeKey.OnOff] = statu; + Control.Ins.SendWriteCommand(this.device, dic); + HdlThreadLogic.Current.RunMain(() => + { + this.btnSwitch.CanClick = true; + }); + }); + } + + /// <summary> + /// 鑾峰彇鍙戦�佸懡浠ょ殑鏍锋澘(bus鍗忚鏄渶瑕佷竴娆℃�ф妸鍏ㄩ儴鍛戒护涓�璧峰彂閫佺殑) + /// </summary> + /// <returns></returns> + private Dictionary<string, string> GetSendComandSample() + { + var dic = new Dictionary<string, string>(); + //寮�鍏� + dic[FunctionAttributeKey.OnOff] = this.airFreshData.Open == true ? "on" : "off"; + //妯″紡 + dic[FunctionAttributeKey.Mode] = this.airFreshData.Mode; + //鑺傝兘 + dic[FunctionAttributeKey.Energy] = this.airFreshData.Energy; + //椋庨�� + dic[FunctionAttributeKey.FanSpeed] = this.airFreshData.Fan ; + + return dic; + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鍒锋柊褰撳墠璁惧鐨勭姸鎬佺紦瀛� + /// </summary> + private void RefreshNowDeviceStatuMemory(Function i_LocalDevice) + { + for (int i = 0; i < i_LocalDevice.attributes.Count; i++) + { + var data = i_LocalDevice.attributes[i]; + //寮�鍏� + if (data.key == FunctionAttributeKey.OnOff) { this.airFreshData.Open = data.state == "on"; } + //妯″紡 + else if (data.key == FunctionAttributeKey.Mode) { this.airFreshData.Mode = data.state; } + //鑺傝兘 + else if (data.key == FunctionAttributeKey.Energy) { this.airFreshData.Energy = data.state; } + //椋庨�� + else if (data.key == FunctionAttributeKey.FanSpeed) { this.airFreshData.Fan = data.state; } + //婀垮害 + else if (data.key == FunctionAttributeKey.Humidity) + { + if (data.state != string.Empty) + { + this.airFreshData.Humidity = Convert.ToInt32(data.state); + } + } + //瀹ゅ唴娓╁害 + else if (data.key == FunctionAttributeKey.IndoorTemp) + { + if (data.state != string.Empty) + { + this.airFreshData.Indoor_temp = Math.Round(Convert.ToDecimal(data.state), 1); + } + } + //瀹ゅ唴婀垮害 + else if (data.key == FunctionAttributeKey.IndoorHumidity) + { + if (data.state != string.Empty) + { + this.airFreshData.Indoor_humidity = Math.Round(Convert.ToDecimal(data.state), 1); + } + } + //杩囨护缃戝墿浣欓噺 + else if (data.key == FunctionAttributeKey.FilterRemain) + { + if (data.state != string.Empty) + { + this.airFreshData.Filter_remain = Convert.ToInt32(data.state); + } + } + } + } + + #endregion + + #region 鈻� 缁撴瀯浣揰____________________________ + + /// <summary> + /// 鏂伴鐨勬暟鎹� + /// </summary> + private class AirFreshData + { + /// <summary> + /// 鏄惁鎵撳紑 + /// </summary> + public bool Open = false; + /// <summary> + /// humidification:鍔犳箍 fan:閫侀 + /// </summary> + public string Mode = string.Empty; + /// <summary> + /// true:鑺傝兘 false:鑸掗�� 杩欎釜鏈夐棶棰樼殑 + /// </summary> + public string Energy = string.Empty; + /// <summary> + /// level_1:1妗� level_2:2妗� level_3:3妗� auto:鑷姩(鐩墠杩欎釜涓嶇敤) + /// </summary> + public string Fan = string.Empty; + /// <summary> + /// 婀垮害(%) + /// </summary> + public int Humidity = 0; + /// <summary> + /// 瀹ゅ唴娓╁害(淇濈暀涓�浣嶅皬鏁�) + /// </summary> + public decimal Indoor_temp = 0; + /// <summary> + /// 瀹ゅ唴婀垮害(淇濈暀涓�浣嶅皬鏁�) + /// </summary> + public decimal Indoor_humidity = 0; + /// <summary> + /// 鍓╀綑婊ょ綉(%) + /// </summary> + public int Filter_remain = 0; + } + + #endregion + } +} -- Gitblit v1.8.0