From 1f4cec0e3b571e7541f0c7f3a5ea302ed586d9fb Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 24 十月 2019 16:47:06 +0800
Subject: [PATCH] 2019-10-24-5
---
ZigbeeApp/Shared/Phone/Device/Category/Category.cs | 1388 ++++++++++++++++++++++++++++-----------------------------
1 files changed, 692 insertions(+), 696 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
old mode 100644
new mode 100755
index 250eeb9..01dd736
--- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -22,7 +22,7 @@
/// <summary>
/// low_High
/// </summary>
- private const int low_High = 127;
+ private const int low_High= 127;
/// <summary>
/// 鍔熻兘
/// </summary>
@@ -36,9 +36,13 @@
/// </summary>
private ButtonLineForm automationBtn;
/// <summary>
- /// 涓儴鑳屾櫙bodyView
+ /// 鍦烘櫙鍔熻兘涓儴鑳屾櫙bodyView
/// </summary>
public FrameLayout functionSceneBodyView;
+ /// <summary>
+ /// 涓儴鑳屾櫙bodyView
+ /// </summary>
+ public FrameLayout functionSceneAutoBodyView;
/// <summary>
/// 鐩稿悓鐨勮澶囧垪琛�
/// </summary>
@@ -533,35 +537,13 @@
instance = this;
}
- public void InitFloor()
- {
- Config.Instance.Home.FloorDics.Clear();
- Config.Instance.Home.FloorDics.Add("Floor1", "涓�妤�");
- Config.Instance.Home.FloorDics.Add("Floor2", "浜屾ゼ");
- Config.Instance.Home.FloorDics.Add("Floor3", "涓夋ゼ");
- Config.Instance.Home.FloorDics.Add("Floor4", "鍥涙ゼ");
- Config.Instance.Home.FloorDics.Add("Floor5", "鈶ゆゼ");
- if (string.IsNullOrEmpty(Config.Instance.Home.CurrentFloorId))
- {
- if (Config.Instance.Home.FloorDics.Count > 0)
- {
- foreach (var floor in Config.Instance.Home.FloorDics)
- {
- Config.Instance.Home.CurrentFloorId = floor.Key;
- break;
- }
- }
- }
- //Config.Instance.Save();
- }
-
/// <summary>
/// 鏄剧ず鐣岄潰--榛樿鍦烘櫙鐣岄潰
/// </summary>
/// <param name="selectedBtn">閫変腑閭d釜鐣岄潰 0--鍔熻兘 1--鍦烘櫙 2--鑷姩鍖� </param>
public void Show(int selectedBtn = 1)
{
-
+
ZbGateway.StatusList.Add(this);
RemoveAll();
@@ -662,80 +644,13 @@
functionSceneAutoBG.AddChidren(selectFloorBtn);
}
- var roomFL = new HorizontalScrolViewLayout()
+ functionSceneAutoBodyView = new FrameLayout
{
- X = Application.GetRealWidth(CommonFormResouce.X_Left),
Y = functionSceneAutoBG.Bottom,
- Height = Application.GetRealHeight(167),
- Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonFormResouce.X_Left),
+ Height = Application.GetRealHeight(1423),
BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
};
- midFL.AddChidren(roomFL);
-
- Button curBtn = new Button();
- for (int i = 0; i < Config.Instance.Home.RoomFilePathList.Count; i++)
- {
- var roomFilePath = Config.Instance.Home.RoomFilePathList[i];
- var room = Shared.Common.Room.GetRoomByFilePath(roomFilePath);
- if (room == null)
- {
- continue;
- }
- var row = new RowLayout()
- {
- Width = Application.GetRealWidth(187 + 50),
- Height = Application.GetRealHeight(167),
- LineColor = ZigbeeColor.Current.GXCGrayBackgroundColor
- };
- roomFL.AddChidren(row);
-
- var roomBtn = new Button()
- {
- Width = Application.GetRealWidth(187),
- Height = Application.GetRealHeight(78),
- Radius = (uint)Application.GetRealHeight(78 / 2),
- Gravity = Gravity.Center,
- Text = room.Name,
- TextColor = ZigbeeColor.Current.GXCTextGrayColor,
- SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
- BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor3,
- SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor,
- BorderColor = ZigbeeColor.Current.GXCBorderUnSelectedColor,
- BorderWidth = 1
- };
- row.AddChidren(roomBtn);
- if (Shared.Common.Room.CurrentRoom == null)
- {
- continue;
- }
- if (Shared.Common.Room.CurrentRoom.FileName == roomFilePath)
- {
- roomBtn.IsSelected = true;
- curBtn = roomBtn;
- }
-
- roomBtn.MouseUpEventHandler += (sender, e) =>
- {
- if ((sender as Button) == curBtn)
- {
- return;
- }
- (sender as Button).IsSelected = true;
- curBtn.IsSelected = false;
- curBtn = (sender as Button);
- Shared.Common.Room.CurrentRoom = room;
- };
- }
-
-
- //鍔熻兘鍜屽満鏅痓odyView
- functionSceneBodyView = new FrameLayout()
- {
- Y = roomFL.Bottom,
- Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.TabbarHeight) - functionBtn.Height - topView.Height - roomFL.Height - CommonPage.LineHeight,
- BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
- };
- midFL.AddChidren(functionSceneBodyView);
+ midFL.AddChidren(functionSceneAutoBodyView);
if (selectedBtn == 0)
{
@@ -777,7 +692,7 @@
addBtn.MouseUpEventHandler += AddBtn_MouseUpEventHandler;
selectFloorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler;
- floorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler;
+ floorBtn.MouseUpEventHandler+= SelectedFloor_MouseUpEventHandler;
}
@@ -788,12 +703,13 @@
/// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
private void SelectedFloor_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs)
{
- var floors = new SelectFloor();
+ var floors = new SelectFloor ();
AddChidren(floors);
- floors.Init(599, 357);
+ floors.Init(599,357,Direction.Right);
floors.FloorAction += (floorName) =>
{
floorBtn.Text = floorName;
+ RefreshBodyView();
};
}
@@ -870,12 +786,6 @@
var scene = new CategoryAddScene();
UserView.HomePage.Instance.AddChidren(scene);
UserView.HomePage.Instance.PageIndex += 1;
- CategoryAddScene.sceneTargetDevicesList?.Clear();
- CategoryAddScene.SceneText = "";
- CategoryAddScene.CurrentRoom = Shared.Common.Room.CurrentRoom;
- CategoryAddScene.ModifySceneUI = null;
- CategoryAddScene.Modify = false;
- CategoryAddScene.ImagePath = "Scene/Scene0.png";
scene.Show();
}
@@ -902,7 +812,7 @@
/// </summary>
public void RefreshBodyView()
{
- functionSceneBodyView.RemoveAll();
+ functionSceneAutoBodyView.RemoveAll();
if (functionBtn.IsSelected)
{
ShowFunction();
@@ -925,16 +835,49 @@
/// </summary>
public void ShowFunction()
{
+ AddRoomView();
+ }
+
+ /// <summary>
+ /// 鎻愮ず娌℃湁鍔熻兘
+ /// </summary>
+ private void ShowNoFunctionTip()
+ {
+ var noFunction = new Button()
+ {
+ Y=Application.GetRealHeight(320),
+ Width=Application.GetMinRealAverage(757),
+ Height = Application.GetMinRealAverage(435),
+ UnSelectedImagePath="Item/NoFunction.png",
+ Gravity = Gravity.CenterHorizontal
+ };
+ functionSceneBodyView.AddChidren(noFunction);
+
+ var noFunctionTip = new Button()
+ {
+ Y = noFunction.Bottom + Application.GetRealHeight(32),
+ Height = Application.GetRealHeight(200),
+ Width = Application.GetRealWidth(700),
+ Gravity = Gravity.CenterHorizontal,
+ Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}","\r\n"),
+ TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
+ TextAlignment = TextAlignment.Center,
+ IsMoreLines=true
+ };
+ functionSceneBodyView.AddChidren(noFunctionTip);
+ }
+
+ /// <summary>
+ /// RefreshFunction
+ /// </summary>
+ /// <param name="room"></param>
+ private void RefreshFunction(Common.Room room)
+ {
//绉婚櫎鐩戝惉
RemoveAllUpdateControlDeviceStatuAction();
- //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙�
- Shared.Common.Room.GetAllRoomDeviceUIList();
- Shared.Common.Room.GetAllRoomDeviceTypeList();
- if (Common.Room.AllRoomDeviceUIList == null)
- {
- return;
- }
- if (Common.Room.AllRoomDeviceUIList.Count == 0)
+ functionSceneBodyView.RemoveAll();
+
+ if (room.DeviceUIList.Count == 0)
{
ShowNoFunctionTip();
}
@@ -961,7 +904,519 @@
functionSceneBodyView.AddChidren(deviceListScrolView);
tempFunctionTypeBtn = new FunctionButton();
- foreach (var deviceType in Common.Room.AllRoomDeviceTypeList)
+ EventHandler<MouseEventArgs> ShowSameTypeFunction = (object typeSender, MouseEventArgs mouseEventArgs) =>
+ {
+ tempFunctionTypeBtn.IsSelected = false;
+ tempFunctionTypeBtn = (typeSender as Button).Parent as FunctionButton;
+ ((typeSender as Button).Parent as FunctionButton).IsSelected = true;
+
+ deviceListScrolView.RemoveAll();
+
+ var sameTypeList = new List<DeviceUI> { };
+ foreach (var devieceUI in room.DeviceUIList)
+ {
+ if (devieceUI == null || devieceUI.CommonDevice == null)
+ {
+ continue;
+ }
+ if (devieceUI.CommonDevice.Type.ToString() == (typeSender as Button).Tag.ToString())
+ {
+ if (!sameTypeList.Contains(devieceUI))
+ {
+ sameTypeList.Add(devieceUI);
+ }
+ }
+ }
+ foreach (var deviceUI in sameTypeList)
+ {
+ //鍒犻櫎璁惧
+ EventHandler<MouseEventArgs> delEvent = (delSender, delE) =>
+ {
+ var alert = new CustomAlert();
+ AddChidren(alert);
+ alert.Show(Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
+ alert.ResultEventHandler += (e2) =>
+ {
+ if (e2)
+ {
+ Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.CommonDevice);
+ deviceListScrolView.RemoveViewByTag((delSender as Button).Tag);
+ sameTypeList.Remove(deviceUI);
+ if (sameTypeList.Count == 0)
+ {
+ RefreshBodyView();
+ }
+ }
+ };
+ };
+ EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) =>
+ {
+ var detailInfo = new Device.CommonForm.DeviceDetailInfo { };
+ UserView.HomePage.Instance.AddChidren(detailInfo);
+ UserView.HomePage.Instance.PageIndex += 1;
+ detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
+ detailInfo.action = RefreshBodyView;
+ };
+
+ if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput)
+ {
+ //鐏�
+ var light = deviceUI.CommonDevice as ZigBee.Device.ToggleLight;
+ //琛ヤ笂闈炶繙绋�
+ if (light.Gateway == null)
+ {
+ continue;
+ }
+ if (light.Gateway.IsVirtual)
+ {
+ UserHomeView.ReadStatus(light, () =>
+ {
+ light.ReadOnOffStatus();
+ light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ });
+ }
+ else
+ {
+ //闃叉鐭椂闂村唴澶氭璇诲彇鐘舵��
+ if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds)
+ {
+ light.ReadOnOffStatus();
+ light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ }
+ }
+
+ var deviceTypeRowLayout = new RowLayout()
+ {
+ Height = Application.GetRealHeight(127 + 35),
+ LineColor = ZigbeeColor.Current.GXCBackgroundColor,
+ Tag = deviceUI
+ };
+ deviceListScrolView.AddChidren(deviceTypeRowLayout);
+
+ var deviceRow = new FunctionRow(0, 35);
+ deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
+ deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
+ deviceRow.SetStatu(light.IsOnline == 1);
+ deviceTypeRowLayout.AddChidren(deviceRow);
+
+
+ deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
+ {
+ zbGateway = deviceUI.CommonDevice.Gateway;
+ sendedControlCommand = false;
+ 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)
+ {
+ light.SwitchControl(1);
+ }
+ else
+ {
+ light.SwitchControl(0);
+ }
+ //鎺у埗寤舵椂鍥炶皟
+ DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ };
+
+ var editBtn = new CommonForm.RowLayoutEditButton()
+ {
+ Tag = deviceUI,
+ Radius = 0
+ };
+ deviceTypeRowLayout.AddRightView(editBtn);
+ editBtn.MouseUpEventHandler += deviceDetailHandler;
+
+ var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
+ {
+ Tag = deviceUI,
+ Radius = 0
+ };
+ deviceTypeRowLayout.AddRightView(delBtn);
+ delBtn.MouseUpEventHandler += delEvent;
+ }
+ else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch)
+ {
+ //绌烘皵寮�鍏�
+ var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
+ //琛ヤ笂闈炶繙绋�
+ if (airSwitch.Gateway == null)
+ {
+ continue;
+ }
+ if (airSwitch.Gateway.IsVirtual)
+ {
+ UserHomeView.ReadStatus(airSwitch, () =>
+ {
+ airSwitch.ReadOnOffStatus();
+ airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ });
+ }
+ else
+ {
+ if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
+ {
+ airSwitch.ReadOnOffStatus();
+ airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ }
+ }
+
+ var deviceTypeRowLayout = new RowLayout()
+ {
+ Height = Application.GetRealHeight(127 + 35),
+ LineColor = ZigbeeColor.Current.GXCBackgroundColor,
+ Tag = deviceUI
+ };
+ deviceListScrolView.AddChidren(deviceTypeRowLayout);
+
+ var deviceRow = new FunctionRow(0, 35);
+ deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
+ deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
+ deviceRow.SetStatu(airSwitch.IsOnline == 1);
+ deviceTypeRowLayout.AddChidren(deviceRow);
+
+ deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
+ {
+ zbGateway = deviceUI.CommonDevice.Gateway;
+ sendedControlCommand = false;
+ 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)
+ {
+ airSwitch.SwitchControl(1);
+ }
+ else
+ {
+ airSwitch.SwitchControl(0);
+ }
+ //鎺у埗寤舵椂鍥炶皟
+ DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ };
+
+ var editBtn = new CommonForm.RowLayoutEditButton()
+ {
+ Tag = deviceUI,
+ Radius = 0
+ };
+ deviceTypeRowLayout.AddRightView(editBtn);
+ editBtn.MouseUpEventHandler += deviceDetailHandler;
+
+ var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
+ {
+ Tag = deviceUI,
+ Radius = 0
+ };
+ deviceTypeRowLayout.AddRightView(delBtn);
+ delBtn.MouseUpEventHandler += delEvent;
+ }
+ else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight)
+ {
+ //璋冨厜鐏�
+ var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
+ //琛ヤ笂闈炶繙绋�
+ if (dimmableLight.Gateway == null)
+ {
+ continue;
+ }
+ if (dimmableLight.Gateway.IsVirtual)
+ {
+ UserHomeView.ReadStatus(dimmableLight, () =>
+ {
+ dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ dimmableLight.ReadOnOffStatus();
+ dimmableLight.ReadLevel();
+ });
+ }
+ else
+ {
+ if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
+ {
+ dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ dimmableLight.ReadOnOffStatus();
+ dimmableLight.ReadLevel();
+ }
+ }
+
+ var deviceTypeRowLayout = new RowLayout()
+ {
+ Height = Application.GetRealHeight(127 + 35),
+ LineColor = ZigbeeColor.Current.GXCBackgroundColor,
+ Tag = deviceUI
+ };
+ deviceListScrolView.AddChidren(deviceTypeRowLayout);
+
+ var deviceRow = new FunctionRow(0, 35);
+ deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
+ deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
+ deviceRow.SetStatu(dimmableLight.IsOnline == 1);
+ deviceTypeRowLayout.AddChidren(deviceRow);
+
+ deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
+ {
+ zbGateway = deviceUI.CommonDevice.Gateway;
+ sendedControlCommand = false;
+ 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)
+ {
+ dimmableLight.SwitchControl(1);
+ }
+ else
+ {
+ dimmableLight.SwitchControl(0);
+ }
+ //鎺у埗寤舵椂鍥炶皟
+ DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ };
+
+ var editBtn = new CommonForm.RowLayoutEditButton()
+ {
+ Tag = deviceUI,
+ Radius = 0
+ };
+ deviceTypeRowLayout.AddRightView(editBtn);
+ editBtn.MouseUpEventHandler += deviceDetailHandler;
+
+ var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
+ {
+ Tag = deviceUI,
+ Radius = 0
+ };
+ deviceTypeRowLayout.AddRightView(delBtn);
+ delBtn.MouseUpEventHandler += delEvent;
+
+ }
+ else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat)
+ {
+ //绌鸿皟
+ var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
+ //琛ヤ笂闈炶繙绋�
+ if (ac.Gateway == null)
+ {
+ continue;
+ }
+ if (ac.Gateway.IsVirtual)
+ {
+ //鍙戦�佽鍙栫姸鎬佸懡浠�
+ UserView.UserHomeView.ReadStatus(ac, () =>
+ {
+ ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ ac.ReadFanMode();
+ ac.ReadSystemMode();
+ ac.ReadLocalTemperature();
+ ac.ReadCoolingSetpoint();
+ ac.ReadHeatingSetpoint();
+ });
+ }
+ else
+ {
+ //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵��
+ if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
+ {
+ ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ ac.ReadFanMode();
+ ac.ReadSystemMode();
+ ac.ReadLocalTemperature();
+ ac.ReadCoolingSetpoint();
+ ac.ReadHeatingSetpoint();
+ }
+ }
+
+ var deviceTypeRowLayout = new RowLayout()
+ {
+ Height = Application.GetRealHeight(127 + 35),
+ LineColor = ZigbeeColor.Current.GXCBackgroundColor,
+ Tag = deviceUI
+ };
+ deviceListScrolView.AddChidren(deviceTypeRowLayout);
+
+ var deviceRow = new FunctionRow(0, 35);
+ deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
+ deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
+ deviceRow.SetStatu(ac.IsOnline == 1);
+ deviceTypeRowLayout.AddChidren(deviceRow);
+
+ deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
+ {
+ zbGateway = deviceUI.CommonDevice.Gateway;
+ sendedControlCommand = false;
+ 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)
+ {
+ ac.Open();
+ }
+ else
+ {
+ ac.Close();
+ }
+ //鎺у埗寤舵椂鍥炶皟
+ DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ };
+
+ var editBtn = new CommonForm.RowLayoutEditButton()
+ {
+ Tag = deviceUI,
+ Radius = 0
+ };
+ deviceTypeRowLayout.AddRightView(editBtn);
+ editBtn.MouseUpEventHandler += deviceDetailHandler;
+
+ var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
+ {
+ Tag = deviceUI,
+ Radius = 0
+ };
+ deviceTypeRowLayout.AddRightView(delBtn);
+ delBtn.MouseUpEventHandler += delEvent;
+ }
+ else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice)
+ {
+ //鍗峰笜
+ var rollerShade = deviceUI.CommonDevice as ZigBee.Device.Rollershade;
+ //涓嶄笂闈炶繙绋�
+ if (rollerShade.Gateway == null)
+ {
+ continue;
+ }
+ if (rollerShade.Gateway.IsVirtual)
+ {
+ UserHomeView.ReadStatus(rollerShade, () =>
+ {
+ rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ });
+ }
+ else
+ {
+ //闃叉鐭椂闂村唴澶氭璇诲彇
+ if ((DateTime.Now - rollerShade.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
+ {
+ rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ }
+ }
+
+
+ var deviceTypeRowLayout = new RowLayout()
+ {
+ Height = Application.GetRealHeight(127 + 35),
+ LineColor = ZigbeeColor.Current.GXCLineColor,
+ Tag = deviceUI
+ };
+ deviceListScrolView.AddChidren(deviceTypeRowLayout);
+
+ var deviceRow = new FunctionRow(0, 35);
+ deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
+ deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
+ deviceRow.SetStatu(rollerShade.IsOnline == 1);
+ deviceTypeRowLayout.AddChidren(deviceRow);
+
+ var editBtn = new CommonForm.RowLayoutEditButton()
+ {
+ Tag = deviceUI,
+ Radius = 0
+ };
+ deviceTypeRowLayout.AddRightView(editBtn);
+ editBtn.MouseUpEventHandler += deviceDetailHandler;
+
+ var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
+ {
+ Tag = deviceUI,
+ Radius = 0
+ };
+ deviceTypeRowLayout.AddRightView(delBtn);
+ delBtn.MouseUpEventHandler += delEvent;
+
+
+ deviceRow.SwitchBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ zbGateway = deviceUI.CommonDevice.Gateway;
+ sendedControlCommand = false;
+ zbGateway.ReportAction += UpdateDeviceControllStatu;
+ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
+
+ (sender as CommonForm.SelectedStatuButton).IsSelected = !(sender as CommonForm.SelectedStatuButton).IsSelected;
+ if ((sender as CommonForm.SelectedStatuButton).IsSelected)
+ {
+ rollerShade.CurtainUpDownStopControl(0);
+ }
+ else
+ {
+ rollerShade.CurtainUpDownStopControl(1);
+ }
+
+ //鎺у埗寤舵椂鍥炶皟
+ DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ };
+ }
+ else
+ {
+
+ }
+ }
+ };
+
+ foreach (var deviceType in Common.Room.GetdeviceTypes(room))
{
typeRowLayout = new RowLayout()
{
@@ -984,561 +1439,101 @@
functionTypeIMG.NameBtn.MouseUpEventHandler += ShowSameTypeFunction;
functionTypeIMG.ImageBG.MouseUpEventHandler += ShowSameTypeFunction;
- if (deviceType == Shared.Common.Room.AllRoomDeviceUIList[0].CommonDevice.Type)
+ if (deviceType == room.DeviceUIList[0].CommonDevice.Type)
{
ShowSameTypeFunction(functionTypeIMG.ImageBtn, null);
}
+
}
+
+
}
}
/// <summary>
- /// 鏄剧ず鐩稿悓绫诲瀷鐨勫姛鑳�
+ /// AddRoomView
/// </summary>
- /// <param name="typeSender">typeSender.</param>
- /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
- private void ShowSameTypeFunction(object typeSender, MouseEventArgs mouseEventArgs)
+ private void AddRoomView()
{
- //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙�
- Shared.Common.Room.GetAllRoomDeviceUIList();
- tempFunctionTypeBtn.IsSelected = false;
- tempFunctionTypeBtn = (typeSender as Button).Parent as FunctionButton;
- ((typeSender as Button).Parent as FunctionButton).IsSelected = true;
-
- deviceListScrolView.RemoveAll();
-
- var sameTypeList = new List<DeviceUI> { };
- foreach (var devieceUI in Common.Room.AllRoomDeviceUIList)
+ var roomFL = new HorizontalScrolViewLayout()
{
- if (devieceUI == null || devieceUI.CommonDevice == null)
- {
- continue;
- }
- if (devieceUI.CommonDevice.Type.ToString() == (typeSender as Button).Tag.ToString())
- {
- if (!sameTypeList.Contains(devieceUI))
- {
- sameTypeList.Add(devieceUI);
- }
- }
- }
- foreach (var deviceUI in sameTypeList)
- {
- //鍒犻櫎璁惧
- EventHandler<MouseEventArgs> delEvent = (delSender, delE) =>
- {
- var alert = new CustomAlert();
- AddChidren(alert);
- alert.Show(Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
- alert.ResultEventHandler += (e2) =>
- {
- if (e2)
- {
- Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.CommonDevice);
- deviceListScrolView.RemoveViewByTag((delSender as Button).Tag);
- sameTypeList.Remove(deviceUI);
- if (sameTypeList.Count == 0)
- {
- RefreshBodyView();
- }
- }
- };
- };
- EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) =>
- {
- var detailInfo = new Device.CommonForm.DeviceDetailInfo { };
- UserView.HomePage.Instance.AddChidren(detailInfo);
- UserView.HomePage.Instance.PageIndex += 1;
- detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
- detailInfo.action = RefreshBodyView;
- };
-
- if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput)
- {
- //鐏�
- var light = deviceUI.CommonDevice as ZigBee.Device.ToggleLight;
- //琛ヤ笂闈炶繙绋�
- if (light.Gateway == null)
- {
- continue;
- }
- if (light.Gateway.IsVirtual)
- {
- UserHomeView.ReadStatus(light, () =>
- {
- light.ReadOnOffStatus();
- light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
- });
- }
- else
- {
- //闃叉鐭椂闂村唴澶氭璇诲彇鐘舵��
- if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds)
- {
- light.ReadOnOffStatus();
- light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
- }
- }
-
- var deviceTypeRowLayout = new RowLayout()
- {
- Height = Application.GetRealHeight(127 + 35),
- LineColor = ZigbeeColor.Current.GXCBackgroundColor,
- Tag = deviceUI
- };
- deviceListScrolView.AddChidren(deviceTypeRowLayout);
-
- var deviceRow = new FunctionRow(0, 35);
- deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
- deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
- deviceRow.SetStatu(light.IsOnline == 1);
- deviceTypeRowLayout.AddChidren(deviceRow);
-
-
- deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
- {
- zbGateway = deviceUI.CommonDevice.Gateway;
- sendedControlCommand = false;
- 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)
- {
- light.SwitchControl(1);
- }
- else
- {
- light.SwitchControl(0);
- }
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- };
-
- var editBtn = new CommonForm.RowLayoutEditButton()
- {
- Tag = deviceUI,
- Radius = 0
- };
- deviceTypeRowLayout.AddRightView(editBtn);
- editBtn.MouseUpEventHandler += deviceDetailHandler;
-
- var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
- {
- Tag = deviceUI,
- Radius = 0
- };
- deviceTypeRowLayout.AddRightView(delBtn);
- delBtn.MouseUpEventHandler += delEvent;
- }
- else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch)
- {
- //绌烘皵寮�鍏�
- var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
- //琛ヤ笂闈炶繙绋�
- if (airSwitch.Gateway == null)
- {
- continue;
- }
- if (airSwitch.Gateway.IsVirtual)
- {
- UserHomeView.ReadStatus(airSwitch, () =>
- {
- airSwitch.ReadOnOffStatus();
- airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
- });
- }
- else
- {
- if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
- {
- airSwitch.ReadOnOffStatus();
- airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
- }
- }
-
- var deviceTypeRowLayout = new RowLayout()
- {
- Height = Application.GetRealHeight(127 + 35),
- LineColor = ZigbeeColor.Current.GXCBackgroundColor,
- Tag = deviceUI
- };
- deviceListScrolView.AddChidren(deviceTypeRowLayout);
-
- var deviceRow = new FunctionRow(0, 35);
- deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
- deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
- deviceRow.SetStatu(airSwitch.IsOnline == 1);
- deviceTypeRowLayout.AddChidren(deviceRow);
-
- deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
- {
- zbGateway = deviceUI.CommonDevice.Gateway;
- sendedControlCommand = false;
- 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)
- {
- airSwitch.SwitchControl(1);
- }
- else
- {
- airSwitch.SwitchControl(0);
- }
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- };
-
- var editBtn = new CommonForm.RowLayoutEditButton()
- {
- Tag = deviceUI,
- Radius = 0
- };
- deviceTypeRowLayout.AddRightView(editBtn);
- editBtn.MouseUpEventHandler += deviceDetailHandler;
-
- var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
- {
- Tag = deviceUI,
- Radius = 0
- };
- deviceTypeRowLayout.AddRightView(delBtn);
- delBtn.MouseUpEventHandler += delEvent;
- }
- else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight)
- {
- //璋冨厜鐏�
- var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
- //琛ヤ笂闈炶繙绋�
- if (dimmableLight.Gateway == null)
- {
- continue;
- }
- if (dimmableLight.Gateway.IsVirtual)
- {
- UserHomeView.ReadStatus(dimmableLight, () =>
- {
- dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
- dimmableLight.ReadOnOffStatus();
- dimmableLight.ReadLevel();
- });
- }
- else
- {
- if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
- {
- dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
- dimmableLight.ReadOnOffStatus();
- dimmableLight.ReadLevel();
- }
- }
-
- var deviceTypeRowLayout = new RowLayout()
- {
- Height = Application.GetRealHeight(127 + 35),
- LineColor = ZigbeeColor.Current.GXCBackgroundColor,
- Tag = deviceUI
- };
- deviceListScrolView.AddChidren(deviceTypeRowLayout);
-
- var deviceRow = new FunctionRow(0, 35);
- deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
- deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
- deviceRow.SetStatu(dimmableLight.IsOnline == 1);
- deviceTypeRowLayout.AddChidren(deviceRow);
-
- deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
- {
- zbGateway = deviceUI.CommonDevice.Gateway;
- sendedControlCommand = false;
- 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)
- {
- dimmableLight.SwitchControl(1);
- }
- else
- {
- dimmableLight.SwitchControl(0);
- }
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- };
-
- var editBtn = new CommonForm.RowLayoutEditButton()
- {
- Tag = deviceUI,
- Radius = 0
- };
- deviceTypeRowLayout.AddRightView(editBtn);
- editBtn.MouseUpEventHandler += deviceDetailHandler;
-
- var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
- {
- Tag = deviceUI,
- Radius = 0
- };
- deviceTypeRowLayout.AddRightView(delBtn);
- delBtn.MouseUpEventHandler += delEvent;
-
- }
- else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat)
- {
- //绌鸿皟
- var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
- //琛ヤ笂闈炶繙绋�
- if (ac.Gateway == null)
- {
- continue;
- }
- if (ac.Gateway.IsVirtual)
- {
- //鍙戦�佽鍙栫姸鎬佸懡浠�
- UserView.UserHomeView.ReadStatus(ac, () =>
- {
- ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
- ac.ReadFanMode();
- ac.ReadSystemMode();
- ac.ReadLocalTemperature();
- ac.ReadCoolingSetpoint();
- ac.ReadHeatingSetpoint();
- });
- }
- else
- {
- //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵��
- if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
- {
- ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
- ac.ReadFanMode();
- ac.ReadSystemMode();
- ac.ReadLocalTemperature();
- ac.ReadCoolingSetpoint();
- ac.ReadHeatingSetpoint();
- }
- }
-
- var deviceTypeRowLayout = new RowLayout()
- {
- Height = Application.GetRealHeight(127 + 35),
- LineColor = ZigbeeColor.Current.GXCBackgroundColor,
- Tag = deviceUI
- };
- deviceListScrolView.AddChidren(deviceTypeRowLayout);
-
- var deviceRow = new FunctionRow(0, 35);
- deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
- deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
- deviceRow.SetStatu(ac.IsOnline == 1);
- deviceTypeRowLayout.AddChidren(deviceRow);
-
- deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
- {
- zbGateway = deviceUI.CommonDevice.Gateway;
- sendedControlCommand = false;
- 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)
- {
- ac.Open();
- }
- else
- {
- ac.Close();
- }
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- };
-
- var editBtn = new CommonForm.RowLayoutEditButton()
- {
- Tag = deviceUI,
- Radius = 0
- };
- deviceTypeRowLayout.AddRightView(editBtn);
- editBtn.MouseUpEventHandler += deviceDetailHandler;
-
- var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
- {
- Tag = deviceUI,
- Radius = 0
- };
- deviceTypeRowLayout.AddRightView(delBtn);
- delBtn.MouseUpEventHandler += delEvent;
- }
- else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice)
- {
- //鍗峰笜
- var rollerShade = deviceUI.CommonDevice as ZigBee.Device.Rollershade;
- //涓嶄笂闈炶繙绋�
- if (rollerShade.Gateway == null)
- {
- continue;
- }
- if (rollerShade.Gateway.IsVirtual)
- {
- UserHomeView.ReadStatus(rollerShade, () =>
- {
- rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
- });
- }
- else
- {
- //闃叉鐭椂闂村唴澶氭璇诲彇
- if ((DateTime.Now - rollerShade.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
- {
- rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
- }
- }
-
-
- var deviceTypeRowLayout = new RowLayout()
- {
- Height = Application.GetRealHeight(127 + 35),
- LineColor = ZigbeeColor.Current.GXCLineColor,
- Tag = deviceUI
- };
- deviceListScrolView.AddChidren(deviceTypeRowLayout);
-
- var deviceRow = new FunctionRow(0, 35);
- deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
- deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
- deviceRow.SetStatu(rollerShade.IsOnline == 1);
- deviceTypeRowLayout.AddChidren(deviceRow);
-
- var editBtn = new CommonForm.RowLayoutEditButton()
- {
- Tag = deviceUI,
- Radius = 0
- };
- deviceTypeRowLayout.AddRightView(editBtn);
- editBtn.MouseUpEventHandler += deviceDetailHandler;
-
- var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
- {
- Tag = deviceUI,
- Radius = 0
- };
- deviceTypeRowLayout.AddRightView(delBtn);
- delBtn.MouseUpEventHandler += delEvent;
-
-
- deviceRow.SwitchBtn.MouseUpEventHandler += (sender, e) =>
- {
- zbGateway = deviceUI.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
-
- (sender as CommonForm.SelectedStatuButton).IsSelected = !(sender as CommonForm.SelectedStatuButton).IsSelected;
- if ((sender as CommonForm.SelectedStatuButton).IsSelected)
- {
- rollerShade.CurtainUpDownStopControl(0);
- }
- else
- {
- rollerShade.CurtainUpDownStopControl(1);
- }
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- };
- }
- else
- {
-
- }
- }
- }
-
- /// <summary>
- /// 鎻愮ず娌℃湁鍔熻兘
- /// </summary>
- private void ShowNoFunctionTip()
- {
- var noFunction = new Button()
- {
- Y = Application.GetRealHeight(320),
- Width = Application.GetMinRealAverage(757),
- Height = Application.GetMinRealAverage(435),
- UnSelectedImagePath = "Item/NoFunction.png",
- Gravity = Gravity.CenterHorizontal
+ X = Application.GetRealWidth(CommonFormResouce.X_Left),
+ Height = Application.GetRealHeight(167),
+ Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonFormResouce.X_Left),
+ BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
};
- functionSceneBodyView.AddChidren(noFunction);
+ functionSceneAutoBodyView.AddChidren(roomFL);
- var noFunctionTip = new Button()
+ //鍔熻兘鍜屽満鏅痓odyView
+ functionSceneBodyView = new FrameLayout()
{
- Y = noFunction.Bottom + Application.GetRealHeight(32),
- Height = Application.GetRealHeight(200),
- Width = Application.GetRealWidth(700),
- Gravity = Gravity.CenterHorizontal,
- TextID = R.MyInternationalizationString.NoFunction,
- //Text = "娌℃湁鍔熻兘 \n 璇峰湪涓汉涓績涓�--璁惧绠$悊澶勬坊鍔�",
- TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
- TextAlignment = TextAlignment.Center,
- IsMoreLines = true
+ Y = roomFL.Bottom,
+ Height = Application.GetRealHeight(1316),
+ BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
};
- functionSceneBodyView.AddChidren(noFunctionTip);
+ functionSceneAutoBodyView.AddChidren(functionSceneBodyView);
+
+ Button curBtn = new Button();
+ foreach (var room in Common.Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom())
+ {
+ var row = new RowLayout()
+ {
+ Width = Application.GetRealWidth(187 + 50),
+ Height = Application.GetRealHeight(167),
+ LineColor = ZigbeeColor.Current.GXCGrayBackgroundColor
+ };
+ roomFL.AddChidren(row);
+
+ var roomBtn = new Button()
+ {
+ Width = Application.GetRealWidth(187),
+ Height = Application.GetRealHeight(78),
+ Radius = (uint)Application.GetRealHeight(78 / 2),
+ Gravity = Gravity.Center,
+ Text = room.Name,
+ TextColor = ZigbeeColor.Current.GXCTextGrayColor,
+ SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+ BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor3,
+ SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor,
+ BorderColor = ZigbeeColor.Current.GXCBorderUnSelectedColor,
+ BorderWidth = 1
+ };
+ row.AddChidren(roomBtn);
+ if (room.IsLove)
+ {
+ roomBtn.IsSelected = true;
+ curBtn = roomBtn;
+
+ if(sceneBtn.IsSelected)
+ {
+ RefreshScene(room);
+ }
+ else
+ {
+ RefreshFunction(room);
+ }
+
+ }
+ roomBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ if ((sender as Button) == curBtn)
+ {
+ return;
+ }
+ (sender as Button).IsSelected = true;
+ curBtn.IsSelected = false;
+ curBtn = sender as Button;
+ if (sceneBtn.IsSelected)
+ {
+ RefreshScene(room);
+ }
+ else
+ {
+ RefreshFunction(room);
+ }
+ };
+ }
+
}
#endregion
@@ -1549,15 +1544,16 @@
/// </summary>
public void ShowScene()
{
- //鍒锋柊鍦烘櫙
- //var reFreshResult=await Shared.Common.Room.RefreshSceneUIList();
- Shared.Common.SceneRoomUI.GetAllSceneRoomUIList();
- if (SceneRoomUI.AllSceneRoomUIList == null)
- {
- return;
- }
- var sceneList = SceneRoomUI.AllSceneRoomUIList;
- Shared.Common.Room.GetAllRoomDeviceUIList();
+ AddRoomView();
+ }
+
+ /// <summary>
+ /// RefreshScene
+ /// </summary>
+ /// <param name="room"></param>
+ public void RefreshScene(Common.Room room)
+ {
+ var sceneList = room.SceneUIList;
if (sceneList.Count == 0)
{
ShowNoSceneTip();
@@ -1569,21 +1565,19 @@
Y = Application.GetRealHeight(58)
};
functionSceneBodyView.AddChidren(sceneScrolView);
- foreach (var sceneRoomUI in sceneList)
+ foreach (var scene in sceneList)
{
var sceneFL = new FrameLayout()
{
Height = Application.GetRealHeight(446),
- Gravity = Gravity.CenterHorizontal,
BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
- Tag = sceneRoomUI
+ Tag = scene
};
sceneScrolView.AddChidren(sceneFL);
- var sceneRowLayout = new RowLayout()
+ var sceneRowLayout = new RowLayout
{
Y = Application.GetRealHeight(46),
Height = Application.GetRealHeight(446 - 46),
- Gravity = Gravity.CenterHorizontal,
LineColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
Radius = CommonPage.BigFormRadius
};
@@ -1592,21 +1586,22 @@
var sceneImg = new Button()
{
X = Application.GetRealWidth(179),
- Width = Application.GetMinReal(844),
- Height = Application.GetMinReal(400),
- Gravity = Gravity.CenterVertical,
- UnSelectedImagePath = sceneRoomUI.sceneUI.IconPath,
- Radius = (uint)Application.GetRealHeight(CommonFormResouce.BigFormRadius)
+ Width = Application.GetRealWidth(844),
+ Height = Application.GetRealHeight(400),
+ BackgroundColor = ZigbeeColor.Current.GXCRedColor,
+ UnSelectedImagePath = scene.IconPath,
+ Radius = (uint)Application.GetRealHeight(17)
};
sceneRowLayout.AddChidren(sceneImg);
var leftFL = new FrameLayout
{
X = Application.GetRealWidth(CommonFormResouce.X_Left),
+ Y = Application.GetRealHeight(58),
Width = Application.GetRealWidth(251),
Height = Application.GetRealHeight(282),
- Gravity = Gravity.CenterVertical,
- BackgroundColor = ZigbeeColor.Current.GXCBlackBackgroundColor2
+ BackgroundColor = ZigbeeColor.Current.GXCBlackBackgroundColor2,
+ Radius = (uint)Application.GetRealHeight(17)
};
sceneRowLayout.AddChidren(leftFL);
@@ -1626,7 +1621,7 @@
Width = Application.GetRealWidth(176),
Height = Application.GetRealHeight(200),
TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
- Text = sceneRoomUI.sceneUI.Name,
+ Text = scene.Name,
Gravity = Gravity.Center,
IsMoreLines = true
};
@@ -1636,7 +1631,7 @@
var delayBtn = new RowLayoutDeleteButton
{
TextID = R.MyInternationalizationString.Delay,
- Tag = sceneRoomUI.sceneUI.SceneDelayTime
+ Tag = scene.SceneDelayTime
};
sceneRowLayout.AddLeftView(delayBtn);
@@ -1644,28 +1639,27 @@
var settingBtn = new Device.CommonForm.RowLayoutEditButton()
{
TextID = R.MyInternationalizationString.Setting,
- Tag = sceneRoomUI.sceneUI.SceneDelayTime
+ Tag = scene.SceneDelayTime
};
//鍒犻櫎
var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton
{
- Tag = sceneRoomUI
+ Tag = scene
};
- if (!sceneRoomUI.room.IsSharedRoom)
+ if (!room.IsSharedRoom)
{
sceneRowLayout.AddRightView(settingBtn);
sceneRowLayout.AddRightView(deleteBtn);
}
//璋冪敤鍦烘櫙
-
EventHandler<MouseEventArgs> sceneUpHandler = async (sender, e) =>
{
//1鎴愬姛 0澶辫触
//鍚庨潰琛ヤ笂鐩稿叧鎻愮ず
//瑕佸厛浠庣綉鍏宠鍙栧欢鏃舵槸鍚︽鍦ㄦ墽琛岋紝濡傛灉鏄繘琛屽�掕鏃讹紝涓嶅厑璁稿湪鐐瑰嚮
- var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(sceneRoomUI.sceneUI.Id, sceneRoomUI.sceneUI.SceneDelayTime);
+ var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(scene.Id, scene.SceneDelayTime);
//涓荤綉鍏充笉鍦ㄧ嚎
if (sceneOpenAllData == null)
{
@@ -1697,7 +1691,7 @@
var tip = new CustomAlert { };
AddChidren(tip);
tip.Show(Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
-
+
//var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDelete), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
//alert.Show();
tip.ResultEventHandler += async (e1) =>
@@ -1705,7 +1699,7 @@
if (e1)
{
//0 绉婚櫎澶辫触 1 绉婚櫎鎴愬姛 2 娌℃湁璇ュ満鏅�
- var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(sceneRoomUI.sceneUI.Id);
+ var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id);
if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null)
{
//CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheMainGatewayIsNotOnLine);
@@ -1715,7 +1709,7 @@
//1鎴愬姛
if (removeSceneAllData.removeSceneData.Result == 1)
{
- sceneRoomUI.room.RemoveScene(sceneRoomUI.sceneUI);
+ room.RemoveScene(scene);
//RefreshBodyView();
sceneScrolView.RemoveViewByTag((sender as Button).Tag);
}
@@ -1728,7 +1722,7 @@
//2 娌℃湁璇ュ満鏅�
else if (removeSceneAllData.removeSceneData.Result == 2)
{
- sceneRoomUI.room.RemoveScene(sceneRoomUI.sceneUI);
+ room.RemoveScene(scene);
//RefreshBodyView();
sceneScrolView.RemoveViewByTag((sender as Button).Tag);
CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneIsNull);
@@ -1741,7 +1735,7 @@
//缂栬緫鍦烘櫙
settingBtn.MouseUpEventHandler += (sender, e) =>
{
- SceneRoomUI.EditScene(sceneRoomUI.sceneUI, sceneRoomUI.room);
+ SceneRoomUI.EditScene(scene,room);
};
//缂栬緫寤舵椂
delayBtn.MouseUpEventHandler += (sender, e) =>
@@ -1764,7 +1758,7 @@
// {
// if (ss.Id == sceneRoomUI.sceneUI.Id)
// {
- // ss.SceneDelayTime = int.Parse(obj.Split(' ')[0]);
+ // //ss.SceneDelayTime = int.Parse(obj.Split(' ')[0]);
// sceneRoomUI.room.Save();
// RefreshBodyView();
// return;
@@ -1797,7 +1791,7 @@
Height = Application.GetRealHeight(200),
Width = Application.GetRealWidth(700),
Gravity = Gravity.CenterHorizontal,
- TextID = R.MyInternationalizationString.NoScene,
+ Text = Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}","\r\n"),
TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
TextAlignment = TextAlignment.Center,
IsMoreLines = true
@@ -1814,9 +1808,10 @@
/// 鑷姩鍖�
/// </summary>
public async void ShowAutotion()
- {
- functionSceneBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
-
+ {
+
+ functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
+
var bjFrameLayout = new FrameLayout
{
Width = Application.GetRealWidth(1080 - 58),
@@ -1826,7 +1821,7 @@
Radius = (uint)Application.GetRealHeight(50),
Y = Application.GetRealHeight(30),
};
- functionSceneBodyView.AddChidren(bjFrameLayout);
+ functionSceneAutoBodyView.AddChidren(bjFrameLayout);
var sigBtn = new Button
{
@@ -1870,17 +1865,17 @@
Y = bjFrameLayout.Bottom + Application.GetRealHeight(30),
Height = Application.GetRealHeight(0),
};
- functionSceneBodyView.AddChidren(scenehorizontalScrol);
+ functionSceneAutoBodyView.AddChidren(scenehorizontalScrol);
var logicScrolView = new VerticalScrolViewLayout
{
- Height = functionSceneBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30),
+ Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30),
BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
X = Application.GetRealWidth(58),
Radius = (uint)Application.GetRealHeight(50),
Y = scenehorizontalScrol.Bottom,
};
- functionSceneBodyView.AddChidren(logicScrolView);
+ functionSceneAutoBodyView.AddChidren(logicScrolView);
recommendswitchBtn.MouseUpEventHandler += (sender, e) =>
@@ -1954,6 +1949,7 @@
{
Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
}
+ Common.Logic.CurrentLogic.LogicType = 2;
Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text;
Logic.TemplatePage templatePage = new Logic.TemplatePage();
Logic.TemplatePage.s = logiciocnBtn.Tag.ToString();
--
Gitblit v1.8.0