From 4a83749337096aae6dd5ec4f44f16653fbc7268a Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 10 三月 2021 16:19:52 +0800 Subject: [PATCH] 2021-03-10 1.合并 --- HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs | 226 +++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 156 insertions(+), 70 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs index 3e848e6..aa73f74 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs @@ -64,8 +64,6 @@ //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� this.InitFrameWhiteContent1(); - //鍒锋柊褰撳墠璁惧鐨勭姸鎬佺紦瀛� - this.RefreshNowDeviceStatuMemory(this.device); //鍒锋柊鐣岄潰鐘舵�� this.RefreshFormStatu(); //璇诲彇鐘舵�� @@ -126,6 +124,62 @@ }; FrameWhiteCentet1.AddChidren(btnDown); + #region 鎺у埗 + btnUp.MouseDownEventHandler = (sender, e) => { + btnUp.IsSelected = true; + }; + btnUp.MouseUpEventHandler = (sender, e) => { + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnUp.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Position, "up"); + Control.Ins.SendWriteCommand(device, d); + }; + //---- + btnStop.MouseDownEventHandler = (sender, e) => { + btnStop.IsSelected = true; + }; + btnStop.MouseUpEventHandler = (sender, e) => { + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnStop.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Position, "stop"); + Control.Ins.SendWriteCommand(device, d); + }; + //----- + btnDown.MouseDownEventHandler = (sender, e) => { + btnDown.IsSelected = true; + }; + btnDown.MouseUpEventHandler = (sender, e) => { + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnDown.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Position, "down"); + Control.Ins.SendWriteCommand(device, d); + }; + #endregion + #endregion #region 鑿滃崟 @@ -152,10 +206,12 @@ { FrameWhiteCentet1.AddChidren(hotDryView); - EventHandler<MouseEventArgs> eventHandler = (sender, e) => { - device.SetAttrState(FunctionAttributeKey.HotDry, "true"); + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + string onoff = hotDryView.Lighting ? "false" : "true"; + device.SetAttrState(FunctionAttributeKey.HotDry, onoff); Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add(FunctionAttributeKey.HotDry, "true"); + d.Add(FunctionAttributeKey.HotDry, onoff); Control.Ins.SendWriteCommand(device, d); }; hotDryView.SetThouchEvent(eventHandler); @@ -173,16 +229,18 @@ windDryView.Height = Application.GetRealHeight(74); if (attrs.Contains(menu[1])) { - if(index == 1) + if (index == 1) { windDryView.Gravity = Gravity.CenterHorizontal; } FrameWhiteCentet1.AddChidren(windDryView); - EventHandler<MouseEventArgs> eventHandler = (sender, e) => { - device.SetAttrState(FunctionAttributeKey.WindDry, "true"); + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + string onoff = windDryView.Lighting ? "false" : "true"; + device.SetAttrState(FunctionAttributeKey.WindDry, onoff); Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add(FunctionAttributeKey.WindDry, "true"); + d.Add(FunctionAttributeKey.WindDry, onoff); Control.Ins.SendWriteCommand(device, d); }; windDryView.SetThouchEvent(eventHandler); @@ -190,7 +248,7 @@ index++; } - + disinfectView = new ClothesHangerControl( "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDisinfectIcon.png", @@ -202,7 +260,7 @@ disinfectView.Height = Application.GetRealHeight(74); if (attrs.Contains(menu[2])) { - if(index == 1) + if (index == 1) { disinfectView.Gravity = Gravity.CenterHorizontal; } @@ -212,10 +270,12 @@ } FrameWhiteCentet1.AddChidren(disinfectView); - EventHandler<MouseEventArgs> eventHandler = (sender, e) => { - device.SetAttrState(FunctionAttributeKey.Disinfect, "true"); + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + string onoff = disinfectView.Lighting ? "false" : "true"; + device.SetAttrState(FunctionAttributeKey.Disinfect, onoff); Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add(FunctionAttributeKey.Disinfect, "true"); + d.Add(FunctionAttributeKey.Disinfect, onoff); Control.Ins.SendWriteCommand(device, d); }; disinfectView.SetThouchEvent(eventHandler); @@ -232,10 +292,11 @@ lightingView.Height = Application.GetRealHeight(74); if (attrs.Contains(menu[3])) { - if(index >2) + if (index > 2) { lightingView.Y = Application.GetRealHeight(409); - }else + } + else { lightingView.Y = Application.GetRealHeight(304); if (index == 1) @@ -249,7 +310,8 @@ } FrameWhiteCentet1.AddChidren(lightingView); - EventHandler<MouseEventArgs> eventHandler = (sender, e) => { + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { string onoff = lightingView.Lighting ? "off" : "on"; device.SetAttrState(FunctionAttributeKey.OnOff, onoff); Dictionary<string, string> d = new Dictionary<string, string>(); @@ -260,6 +322,32 @@ index++; } + + #endregion + + + #region 鏃堕棿璁剧疆 + var timeSetView = new ClothesHangerControl( + "FunctionIcon/Electrical/ClothesHanger/ClothesHangerTimeIcon.png", + "FunctionIcon/Electrical/ClothesHanger/ClothesHangerTimeIconOn.png", + Language.StringByID(StringId.Time), + ""); + timeSetView.Width = Application.GetRealWidth(96); + timeSetView.Height = Application.GetRealHeight(74); + timeSetView.Y = Application.GetRealHeight(409); + timeSetView.X = Application.GetRealWidth(266 - 33); + + + EventHandler<MouseEventArgs> eventHandler_timeSetView = (sender, e) => + { + var setTimePage = new ClothesHangerSetTimePage(device); + MainPage.BasePageView.AddChidren(setTimePage); + setTimePage.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + timeSetView.SetThouchEvent(eventHandler_timeSetView); + + FrameWhiteCentet1.AddChidren(timeSetView); #endregion } @@ -276,8 +364,6 @@ //涓嶆槸鍚屼竴涓笢瑗� if (this.device.sid != i_LocalDevice.sid) { return; } - //鍒锋柊褰撳墠璁惧鐨勭姸鎬佺紦瀛� - this.RefreshNowDeviceStatuMemory(i_LocalDevice); //鍒锋柊鐣岄潰鐘舵�� this.RefreshFormStatu(); } @@ -295,46 +381,48 @@ /// </summary> private void RefreshFormStatu() { - Application.RunOnMainThread(() => { + Application.RunOnMainThread(() => + { btnIcon.IsSelected = true; #region 鐐逛寒鏂囨湰 - var hotDryTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.HotDry); + var hotDryTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.HotDry); if (hotDryTemp != null) { - hotDryView.SetViewStatus(hotDryTemp.value == "true"); + hotDryView.SetViewStatus(hotDryTemp.state == "true"); } - var windDryTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.WindDry); + var windDryTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.WindDry); if (windDryTemp != null) { - windDryView.SetViewStatus(windDryTemp.value == "true"); + windDryView.SetViewStatus(windDryTemp.state == "true"); } - var disinfectTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.Disinfect); + var disinfectTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.Disinfect); if (disinfectTemp != null) { - disinfectView.SetViewStatus(disinfectTemp.value == "true"); + disinfectView.SetViewStatus(disinfectTemp.state == "true"); } - var lightTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.OnOff); + var lightTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.OnOff); if (lightTemp != null) { - lightingView.SetViewStatus(lightTemp.value == "on"); + lightingView.SetViewStatus(lightTemp.state == "on"); } + Console.WriteLine($"鏃堕棿鎴筹細{device.time_stamp} 鏃堕棿锛歿device.GeteTime()} 鐑樺共:{hotDryTemp.state} 椋庡共:{windDryTemp.state} 娑堟瘨:{disinfectTemp.state} 鐏厜鐘舵�侊細{lightTemp.state}"); #endregion #region 淇敼鏃堕棿 - var hotDryTimeLeftTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.HotDryTimeLeft); + var hotDryTimeLeftTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.HotDryTimeLeft); if (hotDryTimeLeftTemp != null) { - hotDryView.ChangeTime(hotDryTimeLeftTemp.value); + hotDryView.ChangeTime(hotDryTimeLeftTemp.state); } - var windDryTimeLeftTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.WindDryTimeLeft); + var windDryTimeLeftTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.WindDryTimeLeft); if (windDryTimeLeftTemp != null) { - windDryView.ChangeTime(windDryTimeLeftTemp.value); + windDryView.ChangeTime(windDryTimeLeftTemp.state); } - var disinfectTimeLeftTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.DisinfectTimeLeft); + var disinfectTimeLeftTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.DisinfectTimeLeft); if (disinfectTimeLeftTemp != null) { - disinfectView.ChangeTime(disinfectTimeLeftTemp.value); + disinfectView.ChangeTime(disinfectTimeLeftTemp.state); } #endregion @@ -346,18 +434,6 @@ #region 鈻� 涓�鑸柟娉昣__________________________ - /// <summary> - /// 鍒锋柊褰撳墠璁惧鐨勭姸鎬佺紦瀛� - /// </summary> - private void RefreshNowDeviceStatuMemory(Function i_LocalDevice) - { - foreach (var data in i_LocalDevice.status) - { - //寮�鍏� - //if (data.key == "on_off") { this.weepRobotData.Cleaning = data.value.ToLower() == "on"; } - } - } - #endregion } @@ -367,11 +443,15 @@ private Button btnTitle; private Button btnTime; /// <summary> + /// 鍊掕鏃舵椂闂� + /// </summary> + private int leftTime = 0; + /// <summary> /// 鎺т欢鏄惁鐐逛寒 /// </summary> public bool Lighting = false; - public ClothesHangerControl(string iconPath1, string iconPath2,string title,string time) + public ClothesHangerControl(string iconPath1, string iconPath2, string title, string time) { btnIcon = new Button() { @@ -397,7 +477,7 @@ btnTime = new Button() { Gravity = Gravity.CenterHorizontal, - Y = btnTitle.Bottom, + Y = Application.GetRealHeight(74-32), Height = Application.GetRealHeight(32), Text = time, TextColor = 0x00000000, @@ -410,39 +490,50 @@ /// 淇敼鏄剧ず鏃堕棿 /// </summary> /// <param name="newTime"></param> - public void ChangeTime (string newTime) + public void ChangeTime(string newTime) { - if(newTime == "0") + int.TryParse(newTime, out leftTime); + if (leftTime > 0) { - newTime = ""; + Application.RunOnMainThread(() => + { + btnTime.Text = new TimeSpan(0, leftTime, 0).ToString().Remove(5, 3); + }); + leftTime--; } - - int time = 0; - int.TryParse(newTime, out time); - time = time * 60; - + else if (leftTime == 0) + { + Application.RunOnMainThread(() => + { + btnTime.Text = ""; + }); + } if (countdownThread == null) { - countdownThread = new System.Threading.Thread(() => { - while(true) + countdownThread = new System.Threading.Thread(() => + { + + while (true) { - if(time>1) + if (leftTime > 0) { Application.RunOnMainThread(() => { - btnTime.Text = new TimeSpan(0, 0, time).ToString(); + btnTime.Text = new TimeSpan(0, leftTime, 0).ToString().Remove(5,3) ; }); - System.Threading.Thread.Sleep(1000); - time--; - }else + leftTime--; + } + else if(leftTime == 0) { Application.RunOnMainThread(() => { btnTime.Text = ""; }); } + System.Threading.Thread.Sleep(60000); } - }) { IsBackground = true }; + }) + { IsBackground = true }; countdownThread.Start(); } } @@ -450,11 +541,6 @@ public void SetViewStatus(bool state) { btnIcon.IsSelected = btnTitle.IsSelected = btnTime.IsSelected = Lighting = state; - } - - public bool GetViewState() - { - return Lighting; } /// <summary> @@ -472,4 +558,4 @@ /// </summary> System.Threading.Thread countdownThread; } -} +} \ No newline at end of file -- Gitblit v1.8.0