From 52005ed57f3f7bc796fdd1a878e4f298a126f1e8 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期二, 29 十月 2019 16:48:47 +0800
Subject: [PATCH] 2019.10.29-3
---
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs | 177 ++++++++++++++---------------------------------------------
1 files changed, 42 insertions(+), 135 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
index ad78427..6d2082c 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
@@ -1,5 +1,4 @@
-锘縰sing Shared.Common;
-using System;
+锘縰sing System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
@@ -214,10 +213,7 @@
rowMenu.InitControl();
rowInfo.MenuRow = rowMenu;
//鍚戝彸鍥炬爣
- var btnRight = rowMenu.frameTable.AddMostRightEmptyIcon(58, 58);
- rowMenu.frameTable.ChangedChidrenBindMode(btnRight, ChidrenBindMode.NotBind);
- btnRight.UseClickStatu = false;
- btnRight.UnSelectedImagePath = "Item/Next.png";
+ var btnRight = rowMenu.frameTable.AddRightArrow();
btnRight.SelectedImagePath = "Item/Down.png";
//鎻愮ず鏂扮増鏈�
@@ -245,21 +241,22 @@
};
}
- //灞曞紑,鎶樺彔
- btnRight.ButtonClickEvent += (sender, e) =>
- {
- btnRight.IsSelected = !btnRight.IsSelected;
- //灞曞紑鎴栬�呮姌鍙犳槑缁嗗垪琛�
- this.ShowDetailList(deviceMac, btnRight.IsSelected);
- };
-
rowMenu.frameTable.ButtonClickEvent += (sender, e) =>
{
- btnNew.Visible = false;
- var form = new DeviceMacInfoEditorForm();
- form.AddForm(deviceMac);
- //鐣岄潰璺宠浆,璁板綍褰撳墠鐨勬鍦ㄦ搷浣滅殑璁惧鐨凪ac鍦板潃
- this.nowActionDeviceMac = deviceMac;
+ //澶氬洖璺殑鎯呭喌涓嬶紝鎵嶄細灞曞紑
+ if (Common.LocalDevice.Current.GetDevicesByMac(deviceMac).Count == 1)
+ {
+ var form = new DeviceMacInfoEditorForm();
+ form.AddForm(deviceMac);
+ //鐣岄潰璺宠浆,璁板綍褰撳墠鐨勬鍦ㄦ搷浣滅殑璁惧鐨凪ac鍦板潃
+ this.nowActionDeviceMac = deviceMac;
+ }
+ else
+ {
+ btnRight.IsSelected = !btnRight.IsSelected;
+ //灞曞紑鎴栬�呮姌鍙犳槑缁嗗垪琛�
+ this.ShowDetailList(deviceMac, btnRight.IsSelected);
+ }
};
}
@@ -287,12 +284,10 @@
//鏍囬鑷繁灏辨槸涓�涓瓙鎺т欢
if (rowInfo.frameTable.ChildrenCount == 1)
{
- //鑾峰彇杩欎竴鍫嗚澶囨椂灞炰簬浠�涔堢被鍨嬬殑
- var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
foreach (CommonDevice info in listDevice)
{
//鍔犺浇瀹冪殑鍒楄〃
- this.AddDeviceDetailRow(rowInfo.frameTable, info, deviceEnumInfo);
+ this.AddDeviceDetailRow(rowInfo.frameTable, info);
}
}
}
@@ -305,8 +300,7 @@
/// </summary>
/// <param name="frame">瀹瑰櫒</param>
/// <param name="device"></param>
- /// <param name="deviceEnumInfo"></param>
- private void AddDeviceDetailRow(FrameListControl frame, CommonDevice device, DeviceEnumInfo deviceEnumInfo)
+ private void AddDeviceDetailRow(FrameListControl frame, CommonDevice device)
{
var rowInfo = this.dicRowInfo[device.DeviceAddr];
if (rowInfo.dicDetailRow == null)
@@ -350,99 +344,11 @@
rowDevice.frameTable.ButtonClickEvent += (sender, e) =>
{
+ var form = new DeviceMacInfoEditorForm();
+ form.AddForm(device.DeviceAddr);
//鐣岄潰璺宠浆,璁板綍褰撳墠鐨勬鍦ㄦ搷浣滅殑璁惧鐨凪ac鍦板潃
this.nowActionDeviceMac = device.DeviceAddr;
- //鏄剧ず璁惧鍔熻兘閰嶇疆鐣岄潰
- this.ShowDeviceFunctionSettionForm(device, deviceEnumInfo);
};
- }
-
- /// <summary>
- /// 鏄剧ず璁惧鍔熻兘閰嶇疆鐣岄潰
- /// </summary>
- /// <param name="device"></param>
- /// <param name="deviceEnumInfo"></param>
- private void ShowDeviceFunctionSettionForm(CommonDevice device, DeviceEnumInfo deviceEnumInfo)
- {
- //鏅鸿兘闂ㄩ攣
- if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鏅鸿兘闂ㄩ攣)
- {
- var form = new DeviceMacInfoEditorForm();
- form.AddForm(device.DeviceAddr);
- }
- else if (deviceEnumInfo.BeloneType == DeviceBeloneType.A绐楀笜)
- {
- var form = new DeviceMacInfoEditorForm();
- form.AddForm(device.DeviceAddr);
- }
- //pir浼犳劅鍣�
- else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.Sensor_Pir)
- {
- var form = new DevicePirSensor.PirSensorBindTargetSettionForm();
- form.AddForm((IASZone)device);
- }
- //涓ぎ绌鸿皟
- else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.AirConditioner_ZbGateway)
- {
- var form = new DeviceAirConditioner.IndoorUnitSettionForm();
- form.AddForm((AC)device);
- }
- //闈㈡澘璁惧
- else if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鎸夐敭闈㈡澘)
- {
- //骞叉帴鐐�
- if (device.Type == DeviceType.OnOffSwitch)
- {
- //娌充笢璁惧
- if (deviceEnumInfo.IsHdlDevice == true)
- {
- var form = new DevicePanel.PanelButtonSettionForm();
- form.AddForm(device);
- }
- else
- {
- var form = new DeviceDryContactSettionForm();
- form.AddForm(device);
- }
- }
- //缁х數鍣�
- else if (device.Type == DeviceType.OnOffOutput)
- {
- //娌充笢璁惧
- if (deviceEnumInfo.IsHdlDevice == true)
- {
- var form = new DevicePanel.PanelFunctionSettionForm();
- form.AddForm(device);
- }
- else
- {
- var form = new DeviceFunctionSettionForm();
- form.AddForm(device, true);
- }
- }
- //娓╂箍搴�
- else if (device.Type == DeviceType.TemperatureSensor)
- {
- var form = new DeviceFunctionSettionForm();
- form.AddForm(device, true);
- }
- else
- {
- var form = new DeviceFunctionSettionForm();
- form.AddForm(device, true);
- }
- }
- //濡傛灉鏄共鎺ョ偣
- else if (device.Type == DeviceType.OnOffSwitch)
- {
- var form = new DeviceDryContactSettionForm();
- form.AddForm(device);
- }
- else
- {
- var form = new DeviceFunctionSettionForm();
- form.AddForm(device, true);
- }
}
#endregion
@@ -616,11 +522,11 @@
return;
}
string gwId = HdlGatewayLogic.Current.GetGatewayId(GatewayResourse.NowSelectGateway);
- HdlThreadLogic.Current.RunThread(() =>
+ HdlThreadLogic.Current.RunThread(async () =>
{
//杩欓噷涓昏鍙槸鑾峰彇鍦ㄧ嚎鐘舵��
var zbway = HdlGatewayLogic.Current.GetLocalGateway(gwId);
- var result = Common.LocalDevice.Current.GetDeviceListFromGateway(zbway, false, this.ReceiveDeviceStatuPush, ShowErrorMode.NO);
+ var result = await Common.LocalDevice.Current.GetDeviceListFromGateway(zbway, false, this.ReceiveDeviceStatuPush, ShowErrorMode.NO);
});
}
@@ -864,29 +770,30 @@
/// </summary>
public override int FormActionAgainEvent()
{
- if (this.nowActionDeviceMac != null)
+ if (this.nowActionDeviceMac == null)
{
- var rowInfo = this.dicRowInfo[nowActionDeviceMac];
- //妫�娴嬭繖涓澶囨槸鍚﹁鍒犻櫎
- if (Common.LocalDevice.Current.GetDevicesByMac(nowActionDeviceMac).Count == 0)
- {
- //绉婚櫎鎺т欢
- rowInfo.dicDetailRow = null;
- rowInfo.frameTable.RemoveFromParent();
+ return 1;
+ }
+ var rowInfo = this.dicRowInfo[nowActionDeviceMac];
+ //妫�娴嬭繖涓澶囨槸鍚﹁鍒犻櫎
+ if (Common.LocalDevice.Current.GetDevicesByMac(nowActionDeviceMac).Count == 0)
+ {
+ //绉婚櫎鎺т欢
+ rowInfo.dicDetailRow = null;
+ rowInfo.frameTable.RemoveFromParent();
- this.dicRowInfo.Remove(nowActionDeviceMac);
- rowInfo = null;
- }
- else
+ this.dicRowInfo.Remove(nowActionDeviceMac);
+ rowInfo = null;
+ }
+ else
+ {
+ //鍒锋柊璁惧淇℃伅
+ rowInfo.MenuRow?.RefreshControlInfo(true);
+ if (rowInfo.dicDetailRow != null)
{
- //鍒锋柊璁惧淇℃伅
- rowInfo.MenuRow?.RefreshControlInfo(true);
- if (rowInfo.dicDetailRow != null)
+ foreach (var contr in rowInfo.dicDetailRow.Values)
{
- foreach (var contr in rowInfo.dicDetailRow.Values)
- {
- contr?.RefreshControlInfo();
- }
+ contr?.RefreshControlInfo();
}
}
}
--
Gitblit v1.8.0