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 | 594 +++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 370 insertions(+), 224 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index 9ee170a..553133f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -1,22 +1,22 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using Shared.Common;
-using Shared.Phone.UserView;
-using ZigBee.Device;
-
-namespace Shared.Phone.UserCenter.Device
-{
- /// <summary>
- /// 缂栬緫璁惧鐨勪俊鎭�(杩欓噷淇敼鐨勬槸MAC鍚�,杩欎釜鐢婚潰浼氭洿鏀筂AC鐨勭墿鐞嗗悕瀛�)
- /// </summary>
- public class DeviceMacInfoEditorForm : EditorCommonForm
- {
- #region 鈻� 鍙橀噺澹版槑___________________________
-
- /// <summary>
- /// 璁惧瀵硅薄
- /// </summary>
+锘縰sing System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Shared.Common;
+using Shared.Phone.UserView;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.Device
+{
+ /// <summary>
+ /// 缂栬緫璁惧鐨勪俊鎭�(杩欓噷淇敼鐨勬槸MAC鍚�,杩欎釜鐢婚潰浼氭洿鏀筂AC鐨勭墿鐞嗗悕瀛�)
+ /// </summary>
+ public class DeviceMacInfoEditorForm : EditorCommonForm
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 璁惧瀵硅薄
+ /// </summary>
private List<CommonDevice> listNewDevice = null;
/// <summary>
/// 鍒楄〃鎺т欢
@@ -31,16 +31,16 @@
/// </summary>
private DeviceEnumInfo deviceEnumInfo = null;
- #endregion
+ #endregion
#region 鈻� 鍒濆鍖朹____________________________
-
+
/// <summary>
/// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
/// </summary>
- /// <param name="deviceMac">璁惧mac鍦板潃</param>
- public void ShowForm(string deviceMac)
- {
+ /// <param name="deviceMac">璁惧mac鍦板潃</param>
+ public void ShowForm(string deviceMac)
+ {
this.listNewDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac);
//鎺掑簭
this.listNewDevice.Sort((obj1, obj2) =>
@@ -50,55 +50,56 @@
return 1;
}
return -1;
- });
-
- this.listDeviceType.Clear();
+ });
+
+ this.listDeviceType.Clear();
foreach (var device in listNewDevice)
{
//鏀堕泦璁惧绫诲瀷
this.listDeviceType.Add(device.Type);
}
//鑾峰彇杩欎竴鍫嗚澶囨椂灞炰簬浠�涔堢被鍨嬬殑
- this.deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listNewDevice);
-
- //璁剧疆鏍囬淇℃伅
- base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDeviceInfo));
-
- //鍒濆鍖栧彸涓婅鑿滃崟
+ this.deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listNewDevice);
+
+ //璁剧疆鏍囬淇℃伅
+ base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDeviceInfo));
+
+ //鍒濆鍖栧彸涓婅鑿滃崟
this.InitTopRightMenu();
//鍒濆鍖栦腑閮ㄦ帶浠�
- this.InitMiddleFrame();
-
- //閲嶆柊鑾峰彇纭欢淇℃伅
- this.RefreshHardFirmwareInfo();
- }
-
+ this.InitMiddleFrame();
+
+ //閲嶆柊鑾峰彇纭欢淇℃伅
+ this.RefreshHardFirmwareInfo();
+ }
+
/// <summary>
/// 鍒濆鍖栦腑閮ㄦ帶浠�
- /// </summary>
- private void InitMiddleFrame()
- {
- //娓呯┖bodyFrame
+ /// </summary>
+ private void InitMiddleFrame()
+ {
+ //娓呯┖bodyFrame
this.ClearBodyFrame();
//鍒濆鍖栨甯�
- this.InitFrameTable();
+ var tableContr = new InformationEditorControl();
+ 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);
- string deviceName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]);
- var btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2);
- listview.AddChidren(btnNote);
- btnNote.InitControl();
- //鍒掔嚎
+ string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote);
+ string deviceName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]);
+ var btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2);
+ listview.AddChidren(btnNote);
+ btnNote.InitControl();
+ //鍒掔嚎
btnNote.AddBottomLine();
btnNote.txtInput.FinishInputEvent += () =>
{
@@ -115,93 +116,75 @@
};
//璁惧绫诲瀷
- caption = Language.StringByID(R.MyInternationalizationString.uDeviceType);
- deviceName = Common.LocalDevice.Current.GetDeviceObjectText(listNewDevice);
+ caption = Language.StringByID(R.MyInternationalizationString.uDeviceType);
+ deviceName = Common.LocalDevice.Current.GetDeviceObjectText(listNewDevice);
var btnType = new FrameCaptionViewControl(caption, deviceName, listview.rowSpace / 2);
btnType.UseClickStatu = false;
- listview.AddChidren(btnType);
+ listview.AddChidren(btnType);
btnType.InitControl();
- //鍒掔嚎
+ //鍒掔嚎
btnType.AddBottomLine();
+
+ //鎵�灞炲尯鍩�
+ var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2);
+ listview.AddChidren(rowBeloneArea);
+ rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), this.listNewDevice);
+ //搴曠嚎
+ rowBeloneArea.AddBottomLine();
+
+ var listCheck = new List<string>();
+ rowBeloneArea.SelectRoomEvent += (roomKeys) =>
+ {
+ foreach (var device in this.listNewDevice)
+ {
+ //淇濆瓨杩欎釜璁惧灞炰簬鍝釜鍖哄煙
+ device.DeviceRoomId = roomKeys;
+ device.ReSave();
+ var room = Room.CurrentRoom.GetRoomByDevice(device);
+ string mainKeys = LocalDevice.Current.GetDeviceMainKeys(device);
+ if (room == null)
+ {
+ //杩欓噷鏈夌偣鐗规畩,濡傛灉鍥炶矾娌℃湁璁剧疆鏈夊尯鍩熺殑鏃跺��,鎵嶈缃�
+ listCheck.Add(mainKeys);
+ Room.CurrentRoom.ChangedRoom(device, roomKeys);
+ }
+ else if (listCheck.Contains(mainKeys) == true)
+ {
+ //濡傛灉杩欎釜鍥炶矾涔嬪墠閮借繕娌℃湁鍖哄煙,鍦ㄦ湰鐣岄潰杩樻病鏈夊叧闂箣鍓�,鍙互鏃犳潯浠堕殢渚垮彉鏇�
+ Room.CurrentRoom.ChangedRoom(device, roomKeys);
+ }
+ }
+ };
//娣诲姞鍏ㄩ儴鑿滃崟
this.AddAllMenuRow();
+ //鍒濆鍖栨甯冨畬鎴�
+ tableContr.FinishInitControl(bodyFrameLayout, this.listview);
+ tableContr = null;
+
//淇濆瓨
- var btnFinish = new BottomClickButton();
- //鍊熺敤Y杞村潗鏍�(璁╄繖涓尯鍩熶笉鑳界偣鍑昏彍鍗�)
- var frameBack = new FrameLayout();
- frameBack.Y = btnFinish.Yaxis;
- frameBack.Height = bodyFrameLayout.Height - btnFinish.Yaxis;
- bodyFrameLayout.AddChidren(frameBack);
-
- btnFinish.TextID = R.MyInternationalizationString.uSave;
- bodyFrameLayout.AddChidren(btnFinish);
- btnFinish.ButtonClickEvent += (sender, e) =>
+ var btnFinish = new BottomClickButton();
+ btnFinish.TextID = R.MyInternationalizationString.uSave;
+ bodyFrameLayout.AddChidren(btnFinish);
+ btnFinish.ButtonClickEvent += (sender, e) =>
{
string oldName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]);
if (btnNote.Text.Trim() == string.Empty)
{
btnNote.Text = oldName;
- }
+ }
if (oldName != btnNote.Text.Trim())
{
//淇敼鍚嶅瓧
this.DeviceReName(btnNote.Text.Trim(), true);
- }
+ }
else
{
//鍏抽棴鑷韩
this.CloseForm();
- }
+ }
};
-
- var realHeight = listview.GetChildren(0).Height * listview.ChildrenCount;
- if (bodyFrameLayout.Height - btnFinish.Yaxis + realHeight > listview.Height)
- {
- //淇冧娇琚尅浣忕殑鑿滃崟鑳藉鍚戜笂婊戝姩
- var frameTemp = new FrameLayout();
- frameTemp.Height = frameBack.Height + Application.GetRealHeight(115);
- listview.AddChidren(frameTemp);
- }
- }
-
- #endregion
-
- #region 鈻� 鍒濆鍖栨甯僟________________________
-
- /// <summary>
- /// 鍒濆鍖栨甯�
- /// </summary>
- private void InitFrameTable()
- {
- //寮у害鐨勫渾鐨勪竴鍗婄殑楂樺害(鍥哄畾)
- int halfRoundHeigth = Application.GetRealHeight(116) / 2;
- //寮у害鐨勫渾
- var btnRound = new NormalViewControl(bodyFrameLayout.Width, halfRoundHeigth * 2, false);
- btnRound.Y = Application.GetRealHeight(369);
- btnRound.BackgroundColor = UserCenterColor.Current.White;
- btnRound.Radius = (uint)halfRoundHeigth;
- bodyFrameLayout.AddChidren(btnRound);
- //鏄庣粏鍒楄〃鐨勬甯冿紝鐧借壊鑳屾櫙(瑕嗙洊寮у害鐨勫渾鐨勫崐杈�)
- var detailBackFrame = new FrameLayout();
- detailBackFrame.Y = btnRound.Bottom - btnRound.Height / 2;
- detailBackFrame.Height = Application.GetRealHeight(1368);//楂樺害灏辨槸瑕佸畠瓒呰繃
- detailBackFrame.BackgroundColor = UserCenterColor.Current.White;
- bodyFrameLayout.AddChidren(detailBackFrame);
-
- //淇℃伅缂栬緫
- var btnTile = new NormalViewControl(800, 60, true);
- btnTile.X = ControlCommonResourse.XXLeft;
- btnTile.TextSize = 15;
- btnTile.TextColor = UserCenterColor.Current.TextColor2;
- btnTile.TextID = R.MyInternationalizationString.uInfoEditor;
- detailBackFrame.AddChidren(btnTile);
-
- this.listview = new VerticalListControl(12);
- listview.Y = btnTile.Bottom + Application.GetRealHeight(17);
- listview.Height = Application.GetRealHeight(1368) - halfRoundHeigth - btnTile.Bottom - Application.GetRealHeight(17);
- detailBackFrame.AddChidren(listview);
}
#endregion
@@ -229,6 +212,12 @@
}
else
{
+ //娣诲姞銆愮粦瀹氱洰鏍囥�戣(pir浼犳劅鍣ㄤ笓鐢�)
+ this.AddPirSensorBindRow();
+ //娣诲姞銆愭柟鍚戜笌闄愪綅銆戣(寮�鍚堝笜,鍗峰笜涓撶敤)
+ this.AddDirectionAndLimitRow();
+ //娣诲姞銆愭墜鎷夋帶鍒躲�戣(寮�鍚堝笜涓撶敤)
+ this.AddHandPullControlRow();
//娣诲姞銆愭寜閿缃�戣(闈㈡澘涓撶敤)
this.AddPanelSettionRow();
//娣诲姞銆愬姛鑳借缃�戣
@@ -246,13 +235,13 @@
}
}
- #endregion
+ #endregion
#region 鈻� 鐢ㄦ埛绠$悊(闂ㄩ攣)_____________________
/// <summary>
/// 娣诲姞銆愮敤鎴风鐞嗐�戣锛堥棬閿佷笓鐢級
- /// </summary>
+ /// </summary>
private void AddUserManageRow()
{
//濡傛灉鏄櫤鑳介棬閿�
@@ -264,11 +253,16 @@
listview.AddChidren(btnRow);
btnRow.AddLeftCaption(caption, 600);
//鍚戝彸鍥炬爣
- btnRow.AddRightIconControl();
+ btnRow.AddRightArrow();
//搴曠嚎
btnRow.AddBottomLine();
+ var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock;
btnRow.ButtonClickEvent += (sender, e) =>
{
+ var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock);
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ userManagement.Show();
};
}
}
@@ -279,7 +273,7 @@
/// <summary>
/// 娣诲姞銆愯繙绋嬪紑閿併�戣锛堥棬閿佷笓鐢級
- /// </summary>
+ /// </summary>
private void AddRemoteUnLocksRow()
{
//濡傛灉鏄櫤鑳介棬閿�
@@ -291,17 +285,27 @@
btnRow.UseClickStatu = false;
listview.AddChidren(btnRow);
btnRow.AddLeftCaption(caption, 600);
- //鍚戝彸鍥炬爣
- var btnswitch = btnRow.AddMostRightEmptyIcon(104, 63);
- btnRow.ChangedChidrenBindMode(btnswitch, ChidrenBindMode.NotBind);
- btnswitch.UnSelectedImagePath = "Item/Switch.png";
- btnswitch.SelectedImagePath = "Item/SwitchSelected.png";
+ //寮�鍏冲浘鏍�
+ var btnswitch = btnRow.AddMostRightSwitchIcon();
//搴曠嚎
btnRow.AddBottomLine();
+ if (string.IsNullOrEmpty(ZigBee.Device.DoorLock.RemoteUnlockPassword) == false)
+ {
+ btnswitch.IsSelected = true;
+ }
+ var doorLock= (ZigBee.Device.DoorLock)listNewDevice[0];
btnswitch.ButtonClickEvent += (sender, e) =>
{
- btnswitch.IsSelected = !btnswitch.IsSelected;
+ if (btnswitch.IsSelected == true)
+ {
+ btnswitch.IsSelected = false;
+ ZigBee.Device.DoorLock.RemoteUnlockPassword = string.Empty;
+ return;
+ }
+ var frame = new DoorLock.DoorLockCommonLayout();
+ frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon);
+ frame = null;
};
}
}
@@ -312,7 +316,7 @@
/// <summary>
/// 娣诲姞銆愰棬閿佹椂闂淬�戣锛堥棬閿佷笓鐢級
- /// </summary>
+ /// </summary>
private void AddDoorLocksTimeRow()
{
//濡傛灉鏄櫤鑳介棬閿�
@@ -324,11 +328,16 @@
listview.AddChidren(btnRow);
btnRow.AddLeftCaption(caption, 600);
//鍚戝彸鍥炬爣
- btnRow.AddRightIconControl();
+ 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();
};
}
}
@@ -339,7 +348,7 @@
/// <summary>
/// 娣诲姞銆愭寜閿缃�戣
- /// </summary>
+ /// </summary>
private void AddPanelSettionRow()
{
//蹇呴』鏄渤涓滆澶�,蹇呴』鏄潰鏉匡紝骞朵笖鏈夊共鎺ョ偣鎵嶈
@@ -353,57 +362,23 @@
listview.AddChidren(btnFunction);
btnFunction.AddLeftCaption(caption, 600);
//鍚戝彸鍥炬爣
- btnFunction.AddRightIconControl();
+ btnFunction.AddRightArrow();
//搴曠嚎
btnFunction.AddBottomLine();
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.AddRightIconControl();
- //搴曠嚎
- 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 鈻� 骞叉帴鐐硅缃�(骞叉帴鐐�)_________________
/// <summary>
/// 娣诲姞銆愬共鎺ョ偣璁剧疆銆戣
- /// </summary>
+ /// </summary>
private void AddDryContactSettionRow()
{
if (this.listDeviceType.Contains(DeviceType.OnOffSwitch) == false)
@@ -424,17 +399,188 @@
listview.AddChidren(btnBackLight);
btnBackLight.AddLeftCaption(caption, 600);
//鍚戝彸鍥炬爣
- btnBackLight.AddRightIconControl();
+ btnBackLight.AddRightArrow();
//搴曠嚎
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 鈻� 閫氱敤淇℃伅___________________________
@@ -448,7 +594,7 @@
listview.AddChidren(btnGeneral);
btnGeneral.AddLeftCaption(caption, 600);
//鍚戝彸鍥炬爣
- btnGeneral.AddRightIconControl();
+ btnGeneral.AddRightArrow();
//搴曠嚎
btnGeneral.AddBottomLine();
btnGeneral.ButtonClickEvent += (sender, e) =>
@@ -464,7 +610,7 @@
/// <summary>
/// 娣诲姞銆愬浐浠跺崌绾с�戣
- /// </summary>
+ /// </summary>
private void AddFirmwareUpdateRow()
{
//鎷ユ湁200绔彛杩欎釜涓滆タ鐨勬椂鍊欙紝鎵嶄細鏄剧ず杩欎竴琛�
@@ -480,7 +626,7 @@
listview.AddChidren(rowUpDate);
rowUpDate.AddLeftCaption(caption, 600);
//鍚戝彸鍥炬爣
- rowUpDate.AddRightIconControl();
+ rowUpDate.AddRightArrow();
//搴曠嚎
rowUpDate.AddBottomLine();
@@ -510,7 +656,7 @@
/// <param name="oTADevice">ota璁惧</param>
private void SetDeviceVersionInfo(PicViewControl btnNewVersion, OTADevice oTADevice)
{
- new System.Threading.Thread(async () =>
+ HdlThreadLogic.Current.RunThread(async () =>
{
bool receiveImageInfo = false;
//璁剧疆璁惧鍏ㄩ儴鐨勯暅鍍忎俊鎭�
@@ -548,53 +694,52 @@
}
});
}
- })
- { IsBackground = true }.Start();
+ });
}
- #endregion
+ #endregion
#region 鈻� 淇敼鍚嶅瓧___________________________
- /// <summary>
- /// 璁惧閲嶅懡鍚�
- /// </summary>
- /// <param name="i_deviceName">deviceName.</param>
- private async void DeviceReName(string i_deviceName,bool closeForm)
- {
- //寮�鍚繘搴︽潯
- this.ShowProgressBar();
-
- //淇敼MAC鍚�
- string deviceName = i_deviceName.Trim();
+ /// <summary>
+ /// 璁惧閲嶅懡鍚�
+ /// </summary>
+ /// <param name="i_deviceName">deviceName.</param>
+ private async void DeviceReName(string i_deviceName,bool closeForm)
+ {
+ //寮�鍚繘搴︽潯
+ this.ShowProgressBar();
+
+ //淇敼MAC鍚�
+ string deviceName = i_deviceName.Trim();
var result = await Common.LocalDevice.Current.ReMacName(this.listNewDevice, deviceName);
//鍏抽棴杩涘害鏉�
this.CloseProgressBar();
- if (result == false)
+ if (result == false)
{
return;
- }
+ }
if (closeForm == true)
{
//鍏抽棴鐣岄潰
this.CloseForm();
- }
+ }
else
{
//璁惧澶囨敞淇敼鎴愬姛!
string msg = Language.StringByID(R.MyInternationalizationString.uDeviceReNoteSuccess);
this.ShowMassage(ShowMsgType.Tip, msg);
- }
+ }
}
- #endregion
+ #endregion
- #region 鈻� 鍙充笂瑙掕彍鍗昣________________________
-
+ #region 鈻� 鍙充笂瑙掕彍鍗昣________________________
+
/// <summary>
/// 鍒濆鍖栧彸涓婅鑿滃崟
- /// </summary>
+ /// </summary>
private void InitTopRightMenu()
{
var btnIcon = new MostRightIconControl(69, 69);
@@ -606,11 +751,11 @@
//鏄剧ず鍙充笂瑙掕彍鍗曠晫闈�
this.ShowTopRightMenu();
});
- }
-
+ }
+
/// <summary>
/// 鏄剧ず鍙充笂瑙掕彍鍗曠晫闈�
- /// </summary>
+ /// </summary>
private void ShowTopRightMenu()
{
int menuCount = 1;
@@ -621,7 +766,7 @@
{
menuCount = 2;
}
- var frame = new TopRightMenuControl(this, menuCount);
+ var frame = new TopRightMenuControl(menuCount);
if (canTest == true)
{
//瀹氫綅
@@ -648,45 +793,46 @@
}
- /// <summary>
- /// 鍒犻櫎鎸囧畾璁惧
- /// </summary>
- private async void DoDeleteDevice()
+ /// <summary>
+ /// 鍒犻櫎鎸囧畾璁惧
+ /// </summary>
+ private async void DoDeleteDevice()
{
//寮�鍚繘搴︽潯
- this.ShowProgressBar();
- //鍒犻櫎璁惧
+ this.ShowProgressBar();
+ //鍒犻櫎璁惧
bool result = await Common.LocalDevice.Current.DeleteDevice(listNewDevice);
- this.CloseProgressBar();
-
+ this.CloseProgressBar();
+
if (result == false)
{
return;
- }
-
- Application.RunOnMainThread(() =>
+ }
+
+ Application.RunOnMainThread(() =>
{
//鍏抽棴鐣岄潰
this.CloseForm();
- });
+ });
}
- #endregion
+ #endregion
- #region 鈻� 鍏抽棴鐣岄潰___________________________
+ #region 鈻� 鍏抽棴鐣岄潰___________________________
/// <summary>
/// 鐢婚潰鍏抽棴
- /// </summary>
- public override void CloseForm()
+ /// </summary>
+ public override void CloseForm()
{
+ HdlDeviceAttributeLogic.Current.RemoveEvent("HandPullControl");
//绉婚櫎鑾峰彇璁惧纭欢淇℃伅鐨勭洃鍚嚎绋�
- HdlDeviceHardInfoLogic.Current.RemoveDeviceHardInfoThread(listNewDevice[0]);
-
- base.CloseForm();
+ HdlDeviceHardInfoLogic.Current.RemoveDeviceHardInfoThread(listNewDevice[0]);
+
+ base.CloseForm();
}
- #endregion
+ #endregion
#region 鈻� 纭欢淇℃伅___________________________
@@ -714,8 +860,8 @@
#endregion
- #region 鈻� 涓�鑸柟娉昣__________________________
-
- #endregion
- }
-}
+ #region 鈻� 涓�鑸柟娉昣__________________________
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0