From e238b9cc3caef879fd907ceab8997d08ae891ea3 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期四, 04 十一月 2021 09:22:08 +0800 Subject: [PATCH] BUG修复 --- HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs | 230 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 206 insertions(+), 24 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs index 9aa7f00..cd87d70 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs @@ -37,6 +37,10 @@ /// </summary> Button btnMode; /// <summary> + /// 鎵鎸夐挳 + /// </summary> + Button btnSwing; + /// <summary> /// 椋庨�熸寜閽� /// </summary> Button btnWindSpeed; @@ -47,7 +51,10 @@ AC acFunction = new AC(); - + /// <summary> + /// app鑷繁鎺у埗鐨勬俯搴︽暟鍊艰褰� + /// </summary> + List<string> seltControlTemp = new List<string>(); #endregion @@ -58,6 +65,19 @@ /// </summary> public override void InitFrameWhiteContent() { + + var sk = device.GetAttribute(FunctionAttributeKey.SetTemp); + if (sk != null) + { + if (sk.min == 0) + { + sk.min = 16; + } + if (sk.max == 0) + { + sk.max = 32; + } + } base.ShowColltionButton = false; base.SetTitleText(Language.StringByID(StringId.Electric)); @@ -106,7 +126,7 @@ }; FrameWhiteCentet1.AddChidren(arcBar); - + arcBar.ThumbImagePath = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png"; arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off"; arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min; @@ -182,6 +202,21 @@ UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)), }; FrameWhiteCentet1.AddChidren(btnMode); + + + btnSwing = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(330), + Width = Application.GetRealWidth(40), + Height = Application.GetRealWidth(40), + UnSelectedImagePath = "FunctionIcon/AC/SweepIconNullOn.png", + }; + if (device.GetAttribute(FunctionAttributeKey.Swing) != null) + { + FrameWhiteCentet1.AddChidren(btnSwing); + } + btnWindSpeed = new Button() { @@ -310,8 +345,7 @@ btnModeIcon.IsSelected = btnModeText.IsSelected = true; device.SetAttrState(FunctionAttributeKey.Mode, m); btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(m); - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - //btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath; + Dictionary<string, string> d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.Mode, m); Control.Ins.SendWriteCommand(device, d); dialog.Close(); @@ -325,6 +359,123 @@ arcBar.IsOffline = false; arcBar.IsClickable = true; } + }; + btnModeIcon.MouseUpEventHandler = eventHandler1; + btnModeText.MouseUpEventHandler = eventHandler1; + dialogView.MouseUpEventHandler = eventHandler; + + } + + dialogView.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + }; + dialog.Show(); + } + + /// <summary> + /// 鍔犺浇淇敼鎵妯″紡鍖哄煙 + /// </summary> + void LoadDiv_ChangeSwingView() + { + Dialog dialog = new Dialog(); + + FrameLayout dialogView = new FrameLayout() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + dialog.AddChidren(dialogView); + + FrameLayout modeChangeView; + modeChangeView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(128), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(287), + BackgroundImagePath = "FunctionIcon/AC/DivBg2.png", + }; + dialogView.AddChidren(modeChangeView); + + Button btnTitle; + btnTitle = new Button() + { + X = Application.GetRealWidth(8 + 16), + Y = Application.GetRealHeight(8), + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(44), + TextID = StringId.Swing, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.EmphasisFontSize_Secondary, + }; + modeChangeView.AddChidren(btnTitle); + + Button btnLine = new Button() + { + X = btnTitle.X, + Y = btnTitle.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }; + modeChangeView.AddChidren(btnLine); + + var modeList = device.GetAttribute(FunctionAttributeKey.Swing).value; + foreach (var m in modeList) + { + Button btnModeIcon = new Button() + { + X = btnTitle.X, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8), + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m, + }; + modeChangeView.AddChidren(btnModeIcon); + + Button btnModeText = new Button() + { + X = Application.GetRealWidth(12) + btnModeIcon.Right, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8), + Height = Application.GetRealHeight(44), + Width = Application.GetRealWidth(90), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainColor, + IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m, + TextSize = CSS_FontSize.TextFontSize, + }; + modeChangeView.AddChidren(btnModeText); + + if (modeList.IndexOf(m) < modeList.Count - 1) + { + modeChangeView.AddChidren(new Button() + { + X = btnTitle.X, + Y = btnModeText.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }); + } + + btnModeIcon.UnSelectedImagePath = acFunction.GetSwingIconPath(m, false); + btnModeIcon.SelectedImagePath = acFunction.GetSwingIconPath(m); + btnModeText.Text = acFunction.GetSwingAttrText(m); + + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + dialog.Close(); + }; + EventHandler<MouseEventArgs> eventHandler1 = (sender, e) => + { + btnModeIcon.IsSelected = btnModeText.IsSelected = true; + device.SetAttrState(FunctionAttributeKey.Swing, m); + btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(m); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Swing, m); + Control.Ins.SendWriteCommand(device, d); + dialog.Close(); }; btnModeIcon.MouseUpEventHandler = eventHandler1; btnModeText.MouseUpEventHandler = eventHandler1; @@ -460,9 +611,9 @@ var btnMore = new Button() { Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(334), - Width = Application.GetRealWidth(30), - Height = Application.GetRealWidth(30), + Y = Application.GetRealHeight(334 + 80), + Width = Application.GetRealWidth(35), + Height = Application.GetRealWidth(35), UnSelectedImagePath = "FunctionIcon/AC/More.png", }; FrameWhiteCentet1.AddChidren(btnMore); @@ -591,19 +742,19 @@ { var btn = new Button() - { - Gravity = Gravity.CenterVertical, - Width = Application.GetRealWidth(88), - Height = Application.GetRealHeight(40), - Radius = (uint)Application.GetRealHeight(18), - BorderColor = CSS_Color.PromptingColor1, - BorderWidth = (uint)Application.GetRealWidth(2), - TextAlignment = TextAlignment.Center, - TextSize = CSS_FontSize.TextFontSize, - TextColor = CSS_Color.FirstLevelTitleColor, - SelectedTextColor = CSS_Color.MainBackgroundColor, - SelectedBackgroundColor = CSS_Color.MainColor, - }; + { + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(88), + Height = Application.GetRealHeight(40), + Radius = (uint)Application.GetRealHeight(18), + BorderColor = CSS_Color.PromptingColor1, + BorderWidth = (uint)Application.GetRealWidth(2), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainBackgroundColor, + SelectedBackgroundColor = CSS_Color.MainColor, + }; if (attr.value.Count > 0) { btn.Text = attr.value[0]; @@ -679,11 +830,12 @@ return; } var temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)); - if (temp <= device.GetAttribute(FunctionAttributeKey.Mode).min) + if (temp <= device.GetAttribute(FunctionAttributeKey.SetTemp).min) { return; } temp--; + seltControlTemp.Add(temp.ToString()); arcBar.Progress = temp; btnTemp.Text = temp.ToString(); device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); @@ -703,6 +855,7 @@ return; } temp++; + seltControlTemp.Add(temp.ToString()); arcBar.Progress = temp; btnTemp.Text = temp.ToString(); device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); @@ -732,6 +885,8 @@ // MainPage.BasePageView.ScrollEnabled = true; //}; } + + /// <summary> /// 鎺у埗妯″紡浜嬩欢 /// </summary> @@ -744,6 +899,15 @@ return; } LoadDiv_ChangeModeView(); + }; + //鎵鏀瑰彉妯″紡 + btnSwing.MouseUpEventHandler = (sender, e) => + { + if (device.trait_on_off.curValue.ToString() == "off") + { + return; + } + LoadDiv_ChangeSwingView(); }; btnWindSpeed.MouseUpEventHandler = (sender, e) => { @@ -789,11 +953,27 @@ { btnTemp.Text = Convert.ToDouble( device.GetAttrState(FunctionAttributeKey.SetTemp)).ToString(); btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp))) + "掳C"; - btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)); - btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed)); - arcBar.Progress = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp))); + btnMode.SelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)); + btnSwing.SelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing)); + btnWindSpeed.SelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed)); + btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode),false); + btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing),false); + btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed),false); + var updataTemp = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp))); + + //app鑷繁鎺у埗鐨勪笉鐢ㄦ洿鏂帮紝浼氶�犳垚璺冲姩 + if (seltControlTemp.Contains(updataTemp.ToString())) + { + seltControlTemp.Remove(updataTemp.ToString()); + } + else + { + arcBar.Progress = updataTemp; + } + if (device.trait_on_off.curValue.ToString() == "on") { + btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = true; arcBar.IsOffline = false; btnSwitch.IsSelected = true; arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; @@ -808,11 +988,13 @@ } else { + btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = false; arcBar.IsOffline = true; btnSwitch.IsSelected = false; arcBar.IsClickable = false; arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; } + }); } -- Gitblit v1.8.0