From f1c3921b08bb22ac6f5db22d620e01d7e8e5c49f Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期一, 30 十二月 2019 13:32:33 +0800 Subject: [PATCH] 2019-12-30-1 --- ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs | 219 +++++++++++++++++++++++++++++------------------------- 1 files changed, 118 insertions(+), 101 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs index 63e9498..d984867 100755 --- a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs @@ -72,10 +72,6 @@ /// </summary> private Button currentModeBtn; /// <summary> - /// 褰撳墠娓╁害 - /// </summary> - private Button currentTemperatureBtn; - /// <summary> /// 娣诲姞娓╁害 /// </summary> private Button addTemperatureBtn; @@ -112,6 +108,19 @@ /// 浼犺繃鏉ョ殑ac /// </summary> private ZigBee.Device.AC ac; + /// <summary> + /// mArcScaleSeekBar + /// </summary> + private ArcScaleSeekBar mArcScaleSeekBar = new ArcScaleSeekBar { }; + /// <summary> + /// 娓呮磥鐘舵�� + /// </summary> + private LeftIconButtonRow cleanStatu; + + /// <summary> + /// IsDrawerLockMode + /// </summary> + public bool IsDrawerLockMode; #endregion #region 鈼� 鎺ュ彛___________________________ @@ -174,7 +183,7 @@ ac.currentCoolingSetpoint = curTemp; if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) { - currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 鈩�"; + mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint; } ac.LastDateTime = DateTime.Now; @@ -184,7 +193,7 @@ ac.currentHeatingSetpoint = curTemp; if (ac.currentSystemMode == 4) { - currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 鈩�"; + mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint; } ac.LastDateTime = DateTime.Now; break; @@ -193,7 +202,7 @@ ac.currentAutoSetpoint = curTemp; if (ac.currentSystemMode == 1) { - currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 鈩�"; + mArcScaleSeekBar.Progress = ac.currentAutoSetpoint; } ac.LastDateTime = DateTime.Now; break; @@ -210,7 +219,8 @@ modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode); modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode); currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode); - currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�"; + + mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac); fanModeBtn.IsSelected = false; FanSwingModeBtn.IsSelected = false; @@ -222,12 +232,28 @@ modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode); modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode); currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode); - currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�"; + mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac); fanModeBtn.IsSelected = true; FanSwingModeBtn.IsSelected = true; } break; + + case 4097: + //杩囪檻缃戞竻娲楁爣蹇�:42 + ac.CleanStatu = attriButeList[0].AttriButeData == 42; + cleanStatu.Visible = ac.CleanStatu; + break; + + case 4099: + var value = Convert.ToString(attriButeList[0].AttriButeData, 2).PadLeft(16, '0'); + var modeStr = value.Substring(value.Length - 5, 5); + for (int j = 0; j < modeStr.Length; j++) + { + ac.listSupportMode[j] = Convert.ToInt32(modeStr[j]) == 49 ? 1 : 0; + } + break; + } } @@ -250,7 +276,7 @@ fanModeBtn.UnSelectedImagePath = ACControlBase.GetFanModeUnSelectedImagePathByFanModeId(ac.currentFanMode); break; case 4096: - //椋庢墖褰撳墠鐨勬壂椋庢ā寮� + //椋庢墖褰撳墠鐨勬壂椋庢ā寮� ac.currentFanSwingMode = attriButeList[0].AttriButeData; ac.LastDateTime = DateTime.Now; FanSwingModeBtn.IsSelected = true; @@ -331,6 +357,8 @@ { BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; ZigBee.Device.ZbGateway.StatusList.Add(this); + HomePage.Instance.ScrollEnabled = false; + } #endregion @@ -346,6 +374,11 @@ //action(); //action = null; RemoveUpdateControlDeviceStatuAction(); + HomePage.Instance.ScrollEnabled = true; + if (IsDrawerLockMode) + { + CommonPage.Instance.IsDrawerLockMode = false; + } base.RemoveFromParent(); } @@ -385,6 +418,8 @@ ac.ReadFanMode(); ac.ReadSystemMode(); ac.ReadSystemFansSwingMode(); + ac.ReadModeSupport(); + ac.ReadCleanStatu(); }); } else @@ -400,6 +435,8 @@ ac.ReadFanMode(); ac.ReadSystemMode(); ac.ReadSystemFansSwingMode(); + ac.ReadModeSupport(); + ac.ReadCleanStatu(); } } @@ -413,9 +450,7 @@ collectionBtn.IsSelected = true; } - BindEvent(); - } #endregion @@ -435,16 +470,6 @@ RemoveFromParent(); }; - var sharedBtn = new Button - { - X = Application.GetRealWidth(850), - Width = Application.GetMinReal(69), - Height = Application.GetMinReal(69), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Shared.png" - }; - top.topView.AddChidren(sharedBtn); - var moreBtn = new Button { X = Application.GetRealWidth(953), @@ -456,7 +481,6 @@ top.topView.AddChidren(moreBtn); moreBtn.MouseUpEventHandler += More; - } /// <summary> /// AddBodyView @@ -481,6 +505,11 @@ BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; bodyFrameLayout.AddChidren(itemView); + + cleanStatu = new LeftIconButtonRow(400, 80, 0, 20); + itemView.AddChidren(cleanStatu); + cleanStatu.Init("AC/AC_TIP.png", "AC/AC_TIP.png", Language.StringByID(R.MyInternationalizationString.NeedCleanAC), false); + cleanStatu.Visible = false; collectionBtn = new Button() { @@ -516,74 +545,67 @@ }; itemView.AddChidren(indoorTemperatureBtn); - - var controlBG = new FrameLayout() + mArcScaleSeekBar = new ArcScaleSeekBar { Y = Application.GetRealHeight(412), - Height = Application.GetMinRealAverage(547), - Width = Application.GetMinRealAverage(671), + Width = Application.GetRealWidth(671), + Height = Application.GetRealHeight(671), Gravity = Gravity.CenterHorizontal, - BackgroundImagePath = "AC/Group.png" + MinValue=ACControlBase.Temperature_Low, + MaxValue=ACControlBase.Temperature_High, + Progress=ACControlBase.GetCurrentModeTemperature(ac) }; - itemView.AddChidren(controlBG); - - var controlBG2 = new Button() + itemView.AddChidren(mArcScaleSeekBar); + mArcScaleSeekBar.OnStopTrackingTouchEvent += (sender, e) => { - Y = Application.GetRealHeight(873), - Height = Application.GetMinRealAverage(121), - Width = Application.GetMinRealAverage(351), - UnSelectedImagePath = "AC/Path.png", - Gravity = Gravity.CenterHorizontal + if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) + { + ac.currentCoolingSetpoint = e; + ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); + } + else if (ac.currentSystemMode == 4) + { + ac.currentHeatingSetpoint = e; + ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); + } + else if (ac.currentSystemMode == 1) + { + ac.currentAutoSetpoint = e; + ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); + } }; - itemView.AddChidren(controlBG2); - //褰撳墠妯″紡 + currentModeBtn = new Button() { - Y = Application.GetRealHeight(187), + Y = Application.GetRealHeight(599), Height = Application.GetRealHeight(80), Width = Application.GetRealWidth(200), TextColor = ZigbeeColor.Current.GXCTextBlackColor, Gravity = Gravity.CenterHorizontal, Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode) }; - controlBG.AddChidren(currentModeBtn); - //闄嶄綆娓╁害 + itemView.AddChidren(currentModeBtn); + reduceTemperatureBtn = new Button() { - X = Application.GetRealWidth(112), - Y = Application.GetRealHeight(268), + X = Application.GetRealWidth(268), + Y = Application.GetRealHeight(680), Width = Application.GetMinRealAverage(80), Height = Application.GetMinRealAverage(80), UnSelectedImagePath = "AC/Reduce.png" }; - controlBG.AddChidren(reduceTemperatureBtn); + itemView.AddChidren(reduceTemperatureBtn); - //娓╁害 - currentTemperatureBtn = new Button() - { - //X = Application.GetRealWidth(239), - Y = Application.GetRealHeight(248), - Width = Application.GetRealWidth(180), - Height = Application.GetRealHeight(100), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = 15, - Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 掳C", - Gravity = Gravity.CenterHorizontal - }; - controlBG.AddChidren(currentTemperatureBtn); - - //娣诲姞娓╁害 addTemperatureBtn = new Button() { - X = Application.GetRealWidth(472), - Y = Application.GetRealHeight(268), + X = Application.GetRealWidth(628), + Y = Application.GetRealHeight(680), Width = Application.GetMinRealAverage(80), Height = Application.GetMinRealAverage(80), UnSelectedImagePath = "AC/Add.png" }; - controlBG.AddChidren(addTemperatureBtn); + itemView.AddChidren(addTemperatureBtn); - //鎵 FanSwingModeBtn = new Button() { X = Application.GetRealWidth(156), @@ -595,8 +617,7 @@ IsSelected = ACControlBase.IsOpen(ac) }; itemView.AddChidren(FanSwingModeBtn); - - //妯″紡 + modeBtn = new Button() { X = Application.GetRealWidth(346), @@ -609,7 +630,6 @@ }; itemView.AddChidren(modeBtn); - //寮�鍏� switchBtn = new Button() { X = Application.GetRealWidth(536), @@ -622,7 +642,6 @@ }; itemView.AddChidren(switchBtn); - //椋庨�� fanModeBtn = new Button() { X = Application.GetRealWidth(729), @@ -911,13 +930,13 @@ }; closeBGview.AddChidren(changeModeBG); - var changeModeFL = new FrameLayout() + var changeModeFL = new VerticalScrolViewLayout() { X = Application.GetRealWidth(230), Y = Application.GetRealHeight(450), Height = Application.GetRealHeight(900), Width = Application.GetRealWidth(modeItem_Width), - Radius = CommonPage.BigFormRadius, + Radius = CommonFormResouce.BigFormRadius, BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, //BackgroundIagePath="AC/SelectedModeBG.png" }; @@ -941,7 +960,10 @@ Height = Application.GetRealHeight(modeItem_Height), Tag = ZigBee.Device.AC.AcMode.Auto }; - changeModeFL.AddChidren(mode_Auto); + if (ac.listSupportMode[4] == 1) + { + changeModeFL.AddChidren(mode_Auto); + } mode_Auto.Init("AC/Mode_Auto.png", "AC/Mode_AutoSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Auto)); var mode_Cool = new CommonForm.ACLeftIconButtonRowLayout() @@ -951,7 +973,10 @@ Height = Application.GetRealHeight(modeItem_Height), Tag = ZigBee.Device.AC.AcMode.Cool }; - changeModeFL.AddChidren(mode_Cool); + if (ac.listSupportMode[0] == 1) + { + changeModeFL.AddChidren(mode_Cool); + } mode_Cool.Init("AC/Mode_Cool.png", "AC/Mode_CoolSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Cool)); var mode_Heat = new CommonForm.ACLeftIconButtonRowLayout() @@ -961,7 +986,10 @@ Height = Application.GetRealHeight(modeItem_Height), Tag = ZigBee.Device.AC.AcMode.Heat }; - changeModeFL.AddChidren(mode_Heat); + if (ac.listSupportMode[1] == 1) + { + changeModeFL.AddChidren(mode_Heat); + } mode_Heat.Init("AC/Mode_Heat.png", "AC/Mode_HeatSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Heat)); var mode_Dry = new CommonForm.ACLeftIconButtonRowLayout() @@ -971,7 +999,10 @@ Height = Application.GetRealHeight(modeItem_Height), Tag = ZigBee.Device.AC.AcMode.Dry }; - changeModeFL.AddChidren(mode_Dry); + if (ac.listSupportMode[3] == 1) + { + changeModeFL.AddChidren(mode_Dry); + } mode_Dry.Init("AC/Mode_Dry.png", "AC/Mode_DrySelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Dry)); var mode_Fan = new CommonForm.ACLeftIconButtonRowLayout() @@ -981,8 +1012,12 @@ Height = Application.GetRealHeight(modeItem_Height), Tag = ZigBee.Device.AC.AcMode.FanOnly }; - changeModeFL.AddChidren(mode_Fan); + if (ac.listSupportMode[2] == 1) + { + changeModeFL.AddChidren(mode_Fan); + } mode_Fan.Init("AC/Mode_Fan.png", "AC/Mode_FanSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_FanOnly), false); + mode_Auto.TitleButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; mode_Auto.IconButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; @@ -1075,15 +1110,13 @@ modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByMode(acMode); currentModeBtn.Text = ACControlBase.GetModeNameByMode(acMode); ac.currentSystemMode = (int)acMode; - currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 掳C"; + mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac); ac.SetSystemModeAsync(acMode); - - } #endregion - #region 鈼� 鍒囨崲鎵___________________________ + #region 鈼� 鍒囨崲鎵______________________ /// <summary> @@ -1276,7 +1309,6 @@ mode = ZigBee.Device.AC.FanSwingMode.Fifth; } - ChangeFanSwing(mode); } @@ -1316,7 +1348,6 @@ ACControlBase.ShowACIsCloseTip(); return; } - //cool //dry if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) { if (ac.currentCoolingSetpoint >= ACControlBase.Temperature_High) @@ -1325,9 +1356,8 @@ } ac.currentCoolingSetpoint += 1; ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint; } - //heat else if (ac.currentSystemMode == 4) { if (ac.currentHeatingSetpoint >= ACControlBase.Temperature_High) @@ -1336,9 +1366,8 @@ } ac.currentHeatingSetpoint += 1; ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint; } - //auto else if (ac.currentSystemMode == 1) { if (ac.currentAutoSetpoint >= ACControlBase.Temperature_High) @@ -1347,10 +1376,8 @@ } ac.currentAutoSetpoint += 1; ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentAutoSetpoint; } - - } #endregion @@ -1369,7 +1396,6 @@ ACControlBase.ShowACIsCloseTip(); return; } - //cool //dry if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) { if (ac.currentCoolingSetpoint <= ACControlBase.Temperature_Low) @@ -1378,10 +1404,8 @@ } ac.currentCoolingSetpoint -= 1; ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); - - currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint; } - //heat else if (ac.currentSystemMode == 4) { if (ac.currentHeatingSetpoint <= ACControlBase.Temperature_Low) @@ -1390,10 +1414,8 @@ } ac.currentHeatingSetpoint -= 1; ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); - - currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint; } - //auto else if (ac.currentSystemMode == 1) { if (ac.currentAutoSetpoint <= ACControlBase.Temperature_Low) @@ -1402,15 +1424,13 @@ } ac.currentAutoSetpoint -= 1; ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); - - currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentAutoSetpoint; } - } #endregion - + #region 鈼� 鎺у埗鍙嶉_________________________ @@ -1442,7 +1462,6 @@ /// </summary> private void RemoveUpdateControlDeviceStatuAction() { - //绉婚櫎action if (zbGateway != null) { zbGateway.ReportAction -= UpdateDeviceControllStatu; @@ -1481,7 +1500,6 @@ /// <param name="e">E.</param> private void Collection(object sender, MouseEventArgs e) { - //collection if (collectionBtn.IsSelected) { Shared.Common.Room.Lists[0].DeleteDevice(device.FileName); @@ -1506,7 +1524,6 @@ private void BackToRoomHandler(object sender, MouseEventArgs mouseEventArgs) { //backToRoom - } #endregion -- Gitblit v1.8.0