From 72e1b4e4626315ebd4b879a68c94e7738fd0473e Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 28 十月 2019 11:00:28 +0800
Subject: [PATCH] 2019-10-28-1
---
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs | 229 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 189 insertions(+), 40 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index c6654c0..553133f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -87,11 +87,11 @@
this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 369, 1368);
//鍥剧墖
- var btnPic = new DeviceInfoIconControl(listNewDevice[0]);
+ var btnPic = new DeviceInfoIconControl();
btnPic.Y = Application.GetRealHeight(92);
btnPic.Gravity = Gravity.CenterHorizontal;
bodyFrameLayout.AddChidren(btnPic);
- btnPic.InitControl();
+ btnPic.InitControl(listNewDevice[0]);
//璁惧澶囨敞
string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote);
@@ -212,6 +212,12 @@
}
else
{
+ //娣诲姞銆愮粦瀹氱洰鏍囥�戣(pir浼犳劅鍣ㄤ笓鐢�)
+ this.AddPirSensorBindRow();
+ //娣诲姞銆愭柟鍚戜笌闄愪綅銆戣(寮�鍚堝笜,鍗峰笜涓撶敤)
+ this.AddDirectionAndLimitRow();
+ //娣诲姞銆愭墜鎷夋帶鍒躲�戣(寮�鍚堝笜涓撶敤)
+ this.AddHandPullControlRow();
//娣诲姞銆愭寜閿缃�戣(闈㈡澘涓撶敤)
this.AddPanelSettionRow();
//娣诲姞銆愬姛鑳借缃�戣
@@ -325,8 +331,13 @@
btnRow.AddRightArrow();
//搴曠嚎
btnRow.AddBottomLine();
+ var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock;
btnRow.ButtonClickEvent += (sender, e) =>
{
+ var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ tempPage.Show();
};
}
}
@@ -357,45 +368,11 @@
btnFunction.ButtonClickEvent += (sender, e) =>
{
var form = new DevicePanel.PanelButtonSettionForm();
- form.AddForm(listNewDevice[0].DeviceAddr);
+ form.AddForm(listNewDevice[0]);
};
}
#endregion
-
- #region 鈻� 鍔熻兘璁剧疆(閫氱敤)_____________________
-
- /// <summary>
- /// 娣诲姞銆愬姛鑳借缃�戣
- /// </summary>
- private void AddFunctionSettionRow()
- {
- //鍔熻兘璁剧疆
- string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp);
- var btnFunction = new FrameRowControl(listview.rowSpace / 2);
- listview.AddChidren(btnFunction);
- btnFunction.AddLeftCaption(caption, 600);
- //鍚戝彸鍥炬爣
- btnFunction.AddRightArrow();
- //搴曠嚎
- btnFunction.AddBottomLine();
- btnFunction.ButtonClickEvent += (sender, e) =>
- {
- //娌充笢鐨勯潰鏉胯澶�
- if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鎸夐敭闈㈡澘 && deviceEnumInfo.IsHdlDevice == true)
- {
- var form = new DevicePanel.PanelFunctionSettionForm();
- form.AddForm(listNewDevice[0].DeviceAddr);
- }
- else
- {
- var form = new DeviceRelay.DeviceFunctionSettionForm();
- form.AddForm(listNewDevice[0].DeviceAddr);
- }
- };
- }
-
- #endregion;
#region 鈻� 骞叉帴鐐硅缃�(骞叉帴鐐�)_________________
@@ -427,12 +404,183 @@
btnBackLight.AddBottomLine();
btnBackLight.ButtonClickEvent += (sender, e) =>
{
- var form = new DeviceRelay.DeviceDryContactSettionForm();
- form.AddForm(listNewDevice[0].DeviceAddr);
+ var form = new DeviceDryContactSettionForm();
+ form.AddForm(listNewDevice[0]);
};
}
#endregion
+
+ #region 鈻� 缁戝畾鐩爣(pir浼犳劅鍣ㄤ笓鐢�)____________
+
+ /// <summary>
+ /// 娣诲姞銆愮粦瀹氱洰鏍囥�戣(pir浼犳劅鍣ㄤ笓鐢�)
+ /// </summary>
+ private void AddPirSensorBindRow()
+ {
+ if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir)
+ {
+ return;
+ }
+ //缁戝畾鐩爣
+ string caption = Language.StringByID(R.MyInternationalizationString.uBindTargets);
+ var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnFunction);
+ btnFunction.AddLeftCaption(caption, 600);
+ //鍚戝彸鍥炬爣
+ btnFunction.AddRightArrow();
+ //搴曠嚎
+ btnFunction.AddBottomLine();
+ btnFunction.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new DevicePirSensor.PirSensorBindTargetSettionForm();
+ form.AddForm((IASZone)this.listNewDevice[0]);
+ };
+ }
+
+ #endregion;
+
+ #region 鈻� 鍔熻兘璁剧疆(閫氱敤)_____________________
+
+ /// <summary>
+ /// 娣诲姞銆愬姛鑳借缃�戣
+ /// </summary>
+ private void AddFunctionSettionRow()
+ {
+ //鍔熻兘璁剧疆
+ string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp);
+ var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnFunction);
+ btnFunction.AddLeftCaption(caption, 600);
+ //鍚戝彸鍥炬爣
+ btnFunction.AddRightArrow();
+ //搴曠嚎
+ btnFunction.AddBottomLine();
+ btnFunction.ButtonClickEvent += (sender, e) =>
+ {
+ //娌充笢鐨勯潰鏉胯澶�
+ if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鎸夐敭闈㈡澘 && deviceEnumInfo.IsHdlDevice == true)
+ {
+ var form = new DevicePanel.PanelFunctionSettionForm();
+ form.AddForm(listNewDevice[0]);
+ }
+ else
+ {
+ var form = new DeviceFunctionSettionForm();
+ form.AddForm(listNewDevice[0], false);
+ }
+ };
+ }
+
+ #endregion;
+
+ #region 鈻� 鏂瑰悜涓庨檺浣�(绐楀笜)___________________
+
+ /// <summary>
+ /// 娣诲姞銆愭柟鍚戜笌闄愪綅銆戣(绐楀笜涓撶敤)
+ /// </summary>
+ private void AddDirectionAndLimitRow()
+ {
+ if (deviceEnumInfo.BeloneType != DeviceBeloneType.A绐楀笜)
+ {
+ return;
+ }
+ var deviceCurtain = (Rollershade)this.listNewDevice[0];
+ if (deviceCurtain.WcdType != 4 && deviceCurtain.WcdType != 0)
+ {
+ //寮�鍚堝笜,鍗峰笜涓撶敤
+ return;
+ }
+
+ //鏂瑰悜涓庨檺浣�
+ string caption = Language.StringByID(R.MyInternationalizationString.uDirectionAndLimit);
+ var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnFunction);
+ btnFunction.AddLeftCaption(caption, 600);
+ //鍚戝彸鍥炬爣
+ btnFunction.AddRightArrow();
+ //搴曠嚎
+ btnFunction.AddBottomLine();
+ btnFunction.ButtonClickEvent += (sender, e) =>
+ {
+ if (deviceCurtain.WcdType == 4)
+ {
+ var form = new DeviceCurtain.AutoOpenDirectionAndLimitSettionForm();
+ form.AddForm(deviceCurtain);
+ }
+ else if (deviceCurtain.WcdType == 0)
+ {
+ var form = new DeviceCurtain.SiphonateDirectionAndLimitSettionForm();
+ form.AddForm(deviceCurtain);
+ }
+ };
+ }
+
+ #endregion;
+
+ #region 鈻� 鎵嬫媺鎺у埗(寮�鍚堝笜)___________________
+
+ /// <summary>
+ /// 娣诲姞銆愭墜鎷夋帶鍒躲�戣(寮�鍚堝笜涓撶敤)
+ /// </summary>
+ private void AddHandPullControlRow()
+ {
+ if (deviceEnumInfo.BeloneType != DeviceBeloneType.A绐楀笜)
+ {
+ return;
+ }
+ var deviceCurtain = (Rollershade)this.listNewDevice[0];
+ if (deviceCurtain.WcdType != 4)
+ {
+ //寮�鍚堝笜涓撶敤
+ return;
+ }
+
+ //鎵嬫媺鎺у埗
+ string caption = Language.StringByID(R.MyInternationalizationString.uHandPullControl);
+ var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnFunction);
+ btnFunction.AddLeftCaption(caption, 600);
+ //寮�鍏冲浘鏍�
+ var btnSwitch = btnFunction.AddMostRightSwitchIcon();
+ //搴曠嚎
+ btnFunction.AddBottomLine();
+ btnSwitch.ButtonClickEvent += async (sender, e) =>
+ {
+ //鍒囨崲妯″紡
+ var result = await HdlDeviceCurtainLogic.Current.SetHandPullControl(deviceCurtain, !btnSwitch.IsSelected);
+ if (result == true)
+ {
+ btnSwitch.IsSelected = !btnSwitch.IsSelected;
+ }
+ };
+
+ //娣诲姞灞炴�т笂鎶ョ洃鍚�
+ string mainkeys = LocalDevice.Current.GetDeviceMainKeys(this.listNewDevice[0]);
+ HdlDeviceAttributeLogic.Current.AddAttributeEvent("HandPullControl", "DeviceStatusReport", (device) =>
+ {
+ string checkKey = LocalDevice.Current.GetDeviceMainKeys(device);
+ if (mainkeys != checkKey || device.DeviceStatusReport.CluterID != 258)
+ {
+ return;
+ }
+ foreach (var attriBute in device.DeviceStatusReport.AttriBute)
+ {
+ if (attriBute.AttributeId == 23)
+ {
+ //鎵嬫媺鎺у埗
+ if (0 < (attriBute.AttriButeData & 0x04))
+ {
+ btnSwitch.IsSelected = true;
+ }
+ }
+ }
+ });
+ //鍙戦�佸懡浠�
+ deviceCurtain.ReadCurtainDirectionAndMode();
+ }
+
+ #endregion;
#region 鈻� 閫氱敤淇℃伅___________________________
@@ -618,7 +766,7 @@
{
menuCount = 2;
}
- var frame = new TopRightMenuControl(this, menuCount);
+ var frame = new TopRightMenuControl(menuCount);
if (canTest == true)
{
//瀹氫綅
@@ -677,6 +825,7 @@
/// </summary>
public override void CloseForm()
{
+ HdlDeviceAttributeLogic.Current.RemoveEvent("HandPullControl");
//绉婚櫎鑾峰彇璁惧纭欢淇℃伅鐨勭洃鍚嚎绋�
HdlDeviceHardInfoLogic.Current.RemoveDeviceHardInfoThread(listNewDevice[0]);
--
Gitblit v1.8.0