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/Device/Category/Category.cs | 266 +++++++++++++++++++++++++++++-----------------------
1 files changed, 148 insertions(+), 118 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
old mode 100755
new mode 100644
index 9ed8a71..4405a9a
--- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -162,10 +162,10 @@
{
case DeviceType.OnOffOutput:
//寮�鍏冲姛鑳�
- if (common.DeviceStatusReport.CluterID == 6)
+ if ((common as ToggleLight).DeviceStatusReport.CluterID == 6)
{
var light = deviceUI.CommonDevice as ToggleLight;
- light.DeviceStatusReport = common.DeviceStatusReport;
+ light.DeviceStatusReport = (common as ToggleLight).DeviceStatusReport;
for (int j = 0; j < rowLayout.ChildrenCount; j++)
{
var tempView = rowLayout.GetChildren(j);
@@ -187,7 +187,7 @@
}
}
}
- if (common.DeviceStatusReport.CluterID == 3)
+ if ((common as ToggleLight).DeviceStatusReport.CluterID == 3)
{
var light = deviceUI.CommonDevice as ToggleLight;
light.IsOnline = 1;
@@ -210,10 +210,10 @@
case DeviceType.AirSwitch:
//寮�鍏冲姛鑳�
- if (common.DeviceStatusReport.CluterID == 6)
+ if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 6)
{
var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
- airSwitch.DeviceStatusReport = common.DeviceStatusReport;
+ airSwitch.DeviceStatusReport = (common as ZigBee.Device.AirSwitch).DeviceStatusReport;
for (int j = 0; j < rowLayout.ChildrenCount; j++)
{
var tempView = rowLayout.GetChildren(j);
@@ -235,7 +235,7 @@
}
}
}
- if (common.DeviceStatusReport.CluterID == 3)
+ if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 3)
{
var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
airSwitch.IsOnline = 1;
@@ -256,7 +256,7 @@
}
break;
case DeviceType.WindowCoveringDevice:
- if (common.DeviceStatusReport.CluterID == 3)
+ if ((common as Rollershade).DeviceStatusReport.CluterID == 3)
{
var rollerShape = deviceUI.CommonDevice as Rollershade;
//璁板綍鍥炲鏃堕棿
@@ -279,15 +279,15 @@
case DeviceType.Thermostat:
//AC鍔熻兘
- if (common.DeviceStatusReport.CluterID == 513)
+ if ((common as ZigBee.Device.AC).DeviceStatusReport.CluterID == 513)
{
- var attriButeList = common.DeviceStatusReport.AttriBute;
+ var attriButeList = (common as ZigBee.Device.AC).DeviceStatusReport.AttriBute;
if (attriButeList == null || attriButeList.Count == 0)
{
return;
}
var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
- ac.DeviceStatusReport = common.DeviceStatusReport;
+ ac.DeviceStatusReport = (common as ZigBee.Device.AC).DeviceStatusReport;
switch (attriButeList[0].AttributeId)
{
case 0:
@@ -336,7 +336,7 @@
}
}
- if (common.DeviceStatusReport.CluterID == 3)
+ if ((common as ZigBee.Device.AC).DeviceStatusReport.CluterID == 3)
{
var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
ac.IsOnline = 1;
@@ -358,10 +358,10 @@
break;
case DeviceType.DimmableLight:
//璋冨厜鐏姛鑳�
- if (common.DeviceStatusReport.CluterID == 6)
+ if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 6)
{
var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
- dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
+ dimmableLight.DeviceStatusReport = (common as ZigBee.Device.DimmableLight).DeviceStatusReport;
for (int j = 0; j < rowLayout.ChildrenCount; j++)
{
var tempView = rowLayout.GetChildren(j);
@@ -383,7 +383,7 @@
}
}
}
- if (common.DeviceStatusReport.CluterID == 3)
+ if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 3)
{
var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
dimmableLight.IsOnline = 1;
@@ -543,7 +543,7 @@
/// <param name="selectedBtn">閫変腑閭d釜鐣岄潰 0--鍔熻兘 1--鍦烘櫙 2--鑷姩鍖� </param>
public void Show(int selectedBtn = 1)
{
-
+
ZbGateway.StatusList.Add(this);
RemoveAll();
@@ -585,7 +585,7 @@
var midFL = new FrameLayout
{
Y = topView.Bottom,
- Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.TabbarHeight) - topView.Bottom,
+ Height = Application.GetRealHeight(1549),
BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
};
AddChidren(midFL);
@@ -596,18 +596,17 @@
BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
};
midFL.AddChidren(functionSceneAutoBG);
- //鍔熻兘
- functionBtn = new ButtonLineForm(CommonFormResouce.X_Left, 34, 150, 68);
- functionSceneAutoBG.AddChidren(functionBtn);
- functionBtn.Init();
- functionBtn.SetTitle(R.MyInternationalizationString.Function);
//鍦烘櫙
- sceneBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 + 20, 34, 150, 68);
+ sceneBtn = new ButtonLineForm(CommonFormResouce.X_Left, 34, 150, 68);
functionSceneAutoBG.AddChidren(sceneBtn);
sceneBtn.Init();
sceneBtn.SetTitle(R.MyInternationalizationString.Scence);
-
+ //鍔熻兘
+ functionBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 + 20, 34, 150, 68);
+ functionSceneAutoBG.AddChidren(functionBtn);
+ functionBtn.Init();
+ functionBtn.SetTitle(R.MyInternationalizationString.Function);
//鑷姩鍖�
automationBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 * 2 + 20, 34, 150, 68);
automationBtn.Init();
@@ -895,11 +894,10 @@
deviceListScrolView = new VerticalScrolViewLayout
{
X = Application.GetRealWidth(CommonFormResouce.X_Left),
- Y = functionTypeScrowView.Bottom + Application.GetRealHeight(50),
+ Y = Application.GetRealHeight(35+275),
Width = Application.GetRealWidth(1028),
- Height = functionSceneBodyView.Height - Application.GetRealHeight(279 + 50) - 1,
+ Height = Application.GetRealHeight(938) - 1,
BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
-
};
functionSceneBodyView.AddChidren(deviceListScrolView);
tempFunctionTypeBtn = new FunctionButton();
@@ -987,18 +985,18 @@
var deviceTypeRowLayout = new RowLayout()
{
- Height = Application.GetRealHeight(127 + 35),
+ Height = Application.GetRealHeight(129 + 35),
LineColor = ZigbeeColor.Current.GXCBackgroundColor,
Tag = deviceUI
};
deviceListScrolView.AddChidren(deviceTypeRowLayout);
- var deviceRow = new FunctionRow(0, 35);
+ var deviceRow = new CategoryFunctionRow(0, 35);
deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
deviceRow.SetStatu(light.IsOnline == 1);
+ deviceRow.SetZoneText(deviceUI.GetZone());
deviceTypeRowLayout.AddChidren(deviceRow);
-
deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
{
@@ -1007,6 +1005,7 @@
zbGateway.ReportAction += UpdateDeviceControllStatu;
AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
(send2 as Button).IsSelected = !(send2 as Button).IsSelected;
+ deviceRow.IsSelected = (send2 as Button).IsSelected;
if ((send2 as Button).IsSelected)
{
light.SwitchControl(1);
@@ -1028,6 +1027,15 @@
DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
}
});
+ };
+
+ deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
+ {
+ var lightControl = new Phone.Device.Light.LightControl();
+ UserView.HomePage.Instance.AddChidren(lightControl);
+ UserView.HomePage.Instance.PageIndex += 1;
+ lightControl.action = RefreshBodyView;
+ lightControl.Show(deviceUI, room);
};
var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1080,10 +1088,11 @@
};
deviceListScrolView.AddChidren(deviceTypeRowLayout);
- var deviceRow = new FunctionRow(0, 35);
+ var deviceRow = new CategoryFunctionRow(0, 35);
deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
deviceRow.SetStatu(airSwitch.IsOnline == 1);
+ deviceRow.SetZoneText(deviceUI.GetZone());
deviceTypeRowLayout.AddChidren(deviceRow);
deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
@@ -1093,8 +1102,8 @@
zbGateway.ReportAction += UpdateDeviceControllStatu;
AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
- (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected;
- if ((send2 as CommonForm.SelectedStatuButton).IsSelected)
+ (send2 as Button).IsSelected = !(send2 as Button).IsSelected;
+ if ((send2 as Button).IsSelected)
{
airSwitch.SwitchControl(1);
}
@@ -1115,6 +1124,15 @@
DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
}
});
+ };
+
+ deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
+ {
+ var lightControl = new Phone.Device.Light.LightControl();
+ UserView.HomePage.Instance.AddChidren(lightControl);
+ UserView.HomePage.Instance.PageIndex += 1;
+ lightControl.action = RefreshBodyView;
+ lightControl.Show(deviceUI, room);
};
var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1163,16 +1181,17 @@
var deviceTypeRowLayout = new RowLayout()
{
- Height = Application.GetRealHeight(127 + 35),
+ Height = Application.GetRealHeight(129 + 35),
LineColor = ZigbeeColor.Current.GXCBackgroundColor,
Tag = deviceUI
};
deviceListScrolView.AddChidren(deviceTypeRowLayout);
- var deviceRow = new FunctionRow(0, 35);
+ var deviceRow = new CategoryFunctionRow(0, 35);
deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
deviceRow.SetStatu(dimmableLight.IsOnline == 1);
+ deviceRow.SetZoneText(deviceUI.GetZone());
deviceTypeRowLayout.AddChidren(deviceRow);
deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
@@ -1182,8 +1201,8 @@
zbGateway.ReportAction += UpdateDeviceControllStatu;
AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
- (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected;
- if ((send2 as CommonForm.SelectedStatuButton).IsSelected)
+ (send2 as Button).IsSelected = !(send2 as Button).IsSelected;
+ if ((send2 as Button).IsSelected)
{
dimmableLight.SwitchControl(1);
}
@@ -1204,6 +1223,16 @@
DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
}
});
+ };
+
+ deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
+ {
+ var dimmableLightControl = new Phone.Device.Light.DimmableLightControl();
+ UserView.HomePage.Instance.AddChidren(dimmableLightControl);
+ UserView.HomePage.Instance.PageIndex += 1;
+ UserView.HomePage.Instance.ScrollEnabled = false;
+ dimmableLightControl.action = RefreshBodyView;
+ dimmableLightControl.Show(deviceUI, room);
};
var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1434,7 +1463,7 @@
typeRowLayout.AddChidren(functionTypeIMG);
functionTypeIMG.ClickBtn.MouseUpEventHandler += ShowSameTypeFunction;
-
+
if (deviceType == room.DeviceUIList[0].CommonDevice.Type)
{
@@ -1452,7 +1481,7 @@
var roomFL = new HorizontalScrolViewLayout()
{
X = Application.GetRealWidth(CommonFormResouce.X_Left),
- Height = Application.GetRealHeight(167),
+ Height = Application.GetRealHeight(170),
Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonFormResouce.X_Left),
BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
};
@@ -1462,7 +1491,7 @@
functionSceneBodyView = new FrameLayout()
{
Y = roomFL.Bottom,
- Height = Application.GetRealHeight(1316),
+ Height = Application.GetRealHeight(973+279),
BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
};
functionSceneAutoBodyView.AddChidren(functionSceneBodyView);
@@ -1505,7 +1534,7 @@
{
RefreshFunction(room);
}
-
+
}
roomBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -1526,7 +1555,7 @@
}
};
}
-
+
}
#endregion
@@ -1556,7 +1585,7 @@
{
var sceneScrolView = new VerticalScrolViewLayout
{
- Y = Application.GetRealHeight(58)
+ //Y = Application.GetRealHeight(58)
};
functionSceneBodyView.AddChidren(sceneScrolView);
foreach (var scene in sceneList)
@@ -1611,7 +1640,7 @@
Tag = scene
};
leftFL.AddChidren(collectionBtn);
-
+
var sceneNameBtn = new Button()
{
Width = Application.GetRealWidth(176),
@@ -1760,7 +1789,7 @@
}
};
}
-
+
};
deleteBtn.MouseUpEventHandler += delEvent;
//缂栬緫鍦烘櫙
@@ -1816,6 +1845,7 @@
#endregion
+
#region 鈼� 鑷姩鍖朹_________________________
/// <summary>
@@ -1825,7 +1855,7 @@
{
functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
-
+
var bjFrameLayout = new FrameLayout
{
Width = Application.GetRealWidth(1080 - 58),
@@ -1992,7 +2022,7 @@
var Idlist = await Logic.Send.GetLogicId(0);
if (Idlist.Count != 0)
{
- var listlogic = await Logic.Send.ReadList(Idlist.Count,0);
+ var listlogic = await Logic.Send.ReadList(Idlist.Count, 0);
//foreach鍙兘闆嗗悎宸茶淇敼,鏋氫妇鎿嶄綔鍙兘涓嶄細鎵ц,鍙兘鍑虹幇宕╂簝(寤鸿for)銆�
for (int j = 0; j < listlogic.Count; j++)
{
@@ -2145,78 +2175,6 @@
}
-
- #region 鈼� 鎺у埗鐘舵�乢________________________
-
- /// <summary>
- /// 鏄剧ず璁惧鎺у埗鐘舵��
- /// </summary>
- /// <param name="command">Command.</param>
- /// <param name="objValue">Object value.</param>
- private void UpdateDeviceControllStatu(string command, object objValue)
- {
- if (command != "DeviceDefaultAck" || objValue == null)
- {
- return;
- }
- var tempDevice = (CommonDevice)objValue;
- if (null == commonDeviceList.Find((obj) => obj.DeviceEpoint == tempDevice.DeviceEpoint && obj.DeviceAddr == tempDevice.DeviceAddr))
- {
- return;
- }
- //鏍囪宸茬粡鍙戦�佹帶鍒跺懡浠ゅ埌缃戝叧
- sendedControlCommand = true;
- //DeviceUI.ShowStatuTip(R.MyInternationalizationString.Success);
- }
-
- /// <summary>
- /// 绉婚櫎鍏ㄩ儴鏇存柊鎺у埗璁惧鐨刟ction
- /// </summary>
- private void RemoveAllUpdateControlDeviceStatuAction()
- {
- foreach (var gateway in zbGatewayList)
- {
- //绉婚櫎action
- if (gateway != null)
- {
- gateway.ReportAction -= UpdateDeviceControllStatu;
- }
- }
- }
-
- /// <summary>
- /// 绉婚櫎鍗曚釜鎺у埗璁惧鐨勬洿鏂扮姸鎬乤ction
- /// </summary>
- /// <param name="gateway">Gateway.</param>
- private void RemoveUpdateControlDeviceStatuAction(ZbGateway gateway)
- {
- //绉婚櫎action
- if (gateway != null)
- {
- gateway.ReportAction -= UpdateDeviceControllStatu;
- }
- }
-
- /// <summary>
- /// 娣诲姞闇�瑕佺洃鎺у洖璋冪姸鎬佺殑缃戝叧鍜岃澶�
- /// </summary>
- /// <param name="gatewayList">Gateway list.</param>
- /// <param name="gateway">Gateway.</param>
- /// <param name="deviceList">Device list.</param>
- /// <param name="common">Common.</param>
- private void AddZbGateway(List<ZbGateway> gatewayList, ZbGateway gateway, List<CommonDevice> deviceList, CommonDevice common)
- {
- if (null == gatewayList.Find((obj) => obj.getGatewayBaseInfo.gwID == gateway.getGatewayBaseInfo.gwID))
- {
- gatewayList.Add(gateway);
- }
- if (null == commonDeviceList.Find((obj) => obj.DeviceEpoint == common.DeviceEpoint && obj.DeviceAddr == common.DeviceAddr))
- {
- commonDeviceList.Add(common);
- }
- }
-
- #endregion
private void StatusColor(Common.Logic logic, RowLayout logicRowlayout, int intvalue)
{
@@ -2612,5 +2570,77 @@
}
}
#endregion
+
+ #region 鈼� 鎺у埗鐘舵�乢________________________
+
+ /// <summary>
+ /// 鏄剧ず璁惧鎺у埗鐘舵��
+ /// </summary>
+ /// <param name="command">Command.</param>
+ /// <param name="objValue">Object value.</param>
+ private void UpdateDeviceControllStatu(string command, object objValue)
+ {
+ if (command != "DeviceDefaultAck" || objValue == null)
+ {
+ return;
+ }
+ var tempDevice = (CommonDevice)objValue;
+ if (null == commonDeviceList.Find((obj) => obj.DeviceEpoint == tempDevice.DeviceEpoint && obj.DeviceAddr == tempDevice.DeviceAddr))
+ {
+ return;
+ }
+ //鏍囪宸茬粡鍙戦�佹帶鍒跺懡浠ゅ埌缃戝叧
+ sendedControlCommand = true;
+ //DeviceUI.ShowStatuTip(R.MyInternationalizationString.Success);
+ }
+
+ /// <summary>
+ /// 绉婚櫎鍏ㄩ儴鏇存柊鎺у埗璁惧鐨刟ction
+ /// </summary>
+ private void RemoveAllUpdateControlDeviceStatuAction()
+ {
+ foreach (var gateway in zbGatewayList)
+ {
+ //绉婚櫎action
+ if (gateway != null)
+ {
+ gateway.ReportAction -= UpdateDeviceControllStatu;
+ }
+ }
+ }
+
+ /// <summary>
+ /// 绉婚櫎鍗曚釜鎺у埗璁惧鐨勬洿鏂扮姸鎬乤ction
+ /// </summary>
+ /// <param name="gateway">Gateway.</param>
+ private void RemoveUpdateControlDeviceStatuAction(ZbGateway gateway)
+ {
+ //绉婚櫎action
+ if (gateway != null)
+ {
+ gateway.ReportAction -= UpdateDeviceControllStatu;
+ }
+ }
+
+ /// <summary>
+ /// 娣诲姞闇�瑕佺洃鎺у洖璋冪姸鎬佺殑缃戝叧鍜岃澶�
+ /// </summary>
+ /// <param name="gatewayList">Gateway list.</param>
+ /// <param name="gateway">Gateway.</param>
+ /// <param name="deviceList">Device list.</param>
+ /// <param name="common">Common.</param>
+ private void AddZbGateway(List<ZbGateway> gatewayList, ZbGateway gateway, List<CommonDevice> deviceList, CommonDevice common)
+ {
+ if (null == gatewayList.Find((obj) => obj.getGatewayBaseInfo.gwID == gateway.getGatewayBaseInfo.gwID))
+ {
+ gatewayList.Add(gateway);
+ }
+ if (null == commonDeviceList.Find((obj) => obj.DeviceEpoint == common.DeviceEpoint && obj.DeviceAddr == common.DeviceAddr))
+ {
+ commonDeviceList.Add(common);
+ }
+ }
+
+ #endregion
}
}
--
Gitblit v1.8.0