From a1b0ab7044100daaa7e0f1da2d2ca45e38098963 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 29 三月 2021 09:13:25 +0800
Subject: [PATCH] 2021-3-29-2
---
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