From 081ea8d273048fd03756718ac6fb48a3c09218e9 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期二, 29 十月 2019 13:10:00 +0800 Subject: [PATCH] Merge branch 'dev-tzy' into DEV_GXC --- ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs | 1384 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 895 insertions(+), 489 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs index 13af081..59e67bb 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs @@ -9,104 +9,159 @@ namespace Shared.Phone.Device.Logic { - public class DeviceStateCondition :FrameLayout + public class DeviceStateCondition : FrameLayout { public DeviceStateCondition() { Tag = "Logic"; } - Button SelectedButton = new Button(); - HorizontalScrolViewLayout horizontalScrol; + Button roombjButton = new Button(); + Button roomTextButton = new Button(); + Button devicetypeButton = new Button(); VerticalScrolViewLayout middle; + FrameLayout clickframeLayout = new FrameLayout(); + Button clickbutton = new Button(); + Button clicktextcolcrbutton = new Button(); + public void Show() { - - UserView.HomePage.Instance.ScrollEnabled = false; - this.BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor; - var topFrameLayout = new RowLayout + UserView.HomePage.Instance.ScrollEnabled = false; + this.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; + #region 鏈�涓婇潰鐨勫竷灞�浠g爜 + var topRowLayout = new RowLayout { - Height = Application.GetRealHeight(220), - Y = Application.GetRealHeight(80), - BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor, + BackgroundColor = ZigbeeColor.Current.LogicTopBackgroundColor, + Height = Application.GetRealHeight(184), + LineColor = ZigbeeColor.Current.LogicRowLayoutTopLineColor, }; - AddChidren(topFrameLayout); - + this.AddChidren(topRowLayout); + var titleName = new Button { - TextID = MyInternationalizationString.devicestate, - TextSize = 17, + TextSize = 16, TextColor = ZigbeeColor.Current.LogicTextBlackColor, TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(150), + X = Application.GetRealWidth(160), + Width = Application.GetRealWidth(300), + Height = Application.GetRealHeight(69), + Y = Application.GetRealHeight(92), + TextID = MyInternationalizationString.devicestate, }; - topFrameLayout.AddChidren(titleName); + topRowLayout.AddChidren(titleName); + + var clickBtn = new Button + { + Width = Application.GetRealWidth(81 + 51), + Height = Application.GetRealHeight(58 + 40), + Y = Application.GetRealHeight(98 - 40), + }; + topRowLayout.AddChidren(clickBtn); + clickBtn.MouseDownEventHandler += (sender, e) => + { + RemoveFromParent(); + UserView.HomePage.Instance.ScrollEnabled = true; + }; var back = new Button { - Width = Application.GetRealWidth(110), - Height = Application.GetRealHeight(110), - X = Application.GetRealWidth(20), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "ZigeeLogic/Back.png", + Width = Application.GetRealWidth(30), + Height = Application.GetRealHeight(51), + X = Application.GetRealWidth(81), + Y = Application.GetRealHeight(98), + //Gravity = Gravity.CenterVertical; + UnSelectedImagePath = "ZigeeLogic/back.png", }; - topFrameLayout.AddChidren(back); + topRowLayout.AddChidren(back); back.MouseDownEventHandler += (sender, e) => { RemoveFromParent(); UserView.HomePage.Instance.ScrollEnabled = true; }; - var roomname = new Button + var foolrname = new Button { - Width = Application.GetMinRealAverage(300 + 300-30), - Height = Application.GetMinRealAverage(80), - X = Application.GetRealWidth(1080 - 300 - 30 - 300), - Y = Application.GetRealHeight(120), - TextAlignment = TextAlignment.CenterRight, - //Text = "鑷畾涔夋埧闂�", TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextID=MyInternationalizationString.customroom, + TextAlignment = TextAlignment.CenterRight, + X = Application.GetRealWidth(1080 - 400 - 120), + Width = Application.GetRealWidth(400), + Height = Application.GetRealHeight(69), + Y = Application.GetRealHeight(92), + //TextID = MyInternationalizationString.customroom, + Text = Config.Instance.Home.GetCurrentFloorName, }; - topFrameLayout.AddChidren(roomname); - - var horizontalScrolfl = new FrameLayout + topRowLayout.AddChidren(foolrname); + var dropdown = new Button { - Height = Application.GetRealHeight(220 + 30), - Y = topFrameLayout.Bottom, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + TextAlignment = TextAlignment.CenterRight, + X = foolrname.Right, + Width = Application.GetRealWidth(72), + Height = Application.GetRealHeight(72), + Y = Application.GetRealHeight(92), + UnSelectedImagePath = "ZigeeLogic/drop-down.png", + }; + topRowLayout.AddChidren(dropdown); + + #endregion + + ///娌℃湁鎴块棿鐩存帴杩斿洖鍘伙紱 + if (Common.Room.Lists.Count == 0) + { + return; + } + ///鎴块棿婊戝姩鎺т欢 + var roomhorizontalScrol = new HorizontalScrolViewLayout() + { + Width = Application.GetRealWidth(1080 - 58), + Height = Application.GetRealHeight(200), + Y = topRowLayout.Bottom, + X = Application.GetRealWidth(58), + }; + this.AddChidren(roomhorizontalScrol); + + var devicetypehorizontalScrol1 = new HorizontalScrolViewLayout() + { + Width = Application.GetRealWidth(1080 - 58 - 200), + Height = Application.GetRealHeight(280), + Y = roomhorizontalScrol.Bottom, BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, + X = Application.GetRealWidth(58 + 200), }; - AddChidren(horizontalScrolfl); - - - horizontalScrol = new HorizontalScrolViewLayout() + this.AddChidren(devicetypehorizontalScrol1); + ///璁惧绫诲瀷婊戝姩鎺т欢 + var devicetypehorizontalScrol = new HorizontalScrolViewLayout() { - Width = Application.GetRealWidth(1080 - 40), - Height = Application.GetRealHeight(180 + 30), - Y = Application.GetRealHeight(40), - X = Application.GetRealWidth(40), - Radius = (uint)Application.GetRealHeight(30), - }; - horizontalScrolfl.AddChidren(horizontalScrol); + Width = Application.GetRealWidth(1080 - 58), + Height = Application.GetRealHeight(280), + Y = roomhorizontalScrol.Bottom, + BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, + X = Application.GetRealWidth(58), + Radius = (uint)Application.GetRealHeight(50), - middle = new VerticalScrolViewLayout(); - middle.Y = horizontalScrolfl.Bottom; - middle.Height = Application.GetRealHeight(1920 - 300 - 250); + }; + this.AddChidren(devicetypehorizontalScrol); + + middle = new VerticalScrolViewLayout(); + middle.Y = devicetypehorizontalScrol.Bottom + Application.GetRealHeight(40); + middle.Height = Application.GetRealHeight(1920) - devicetypehorizontalScrol.Y; middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; + middle.X = Application.GetRealWidth(58); + middle.Radius = (uint)Application.GetRealHeight(50); this.AddChidren(middle); ///鐩墠鏀寔鐨勮澶� - List<DeviceType> deviceTypeList = new List<DeviceType> { + var deviceTypeList = new List<DeviceType> { DeviceType.IASZone, DeviceType.OnOffSwitch, - //DeviceType.ColorDimmableLight, - // DeviceType.OnOffOutput, - // DeviceType.WindowCoveringDevice, - // DeviceType.AirSwitch, + DeviceType.OnOffOutput,//妤兼鐏� + DeviceType.DoorLock, + DeviceType.TemperatureSensor, }; - ///鎴块棿鐐瑰嚮浜嬩欢 - roomname.MouseUpEventHandler += (sender, e) => + + ///妤煎眰鐐瑰嚮浜嬩欢 + EventHandler<MouseEventArgs> foorlclick = (sender, e) => { var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; @@ -115,95 +170,187 @@ { flMain.RemoveFromParent(); }; - var roombj = new VerticalScrolViewLayout + var foolrbj = new VerticalScrolViewLayout { Width = Application.GetRealWidth(400), Height = Application.GetRealHeight(600), X = Application.GetRealWidth(1080 - 400 - 60), - Y = Application.GetRealHeight(220 + 30 + 80), + Y = Application.GetRealHeight(184 + 50), BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, Radius = (uint)Application.GetRealHeight(30), }; - flMain.AddChidren(roombj); - List<Common.Room> roomlist = new List<Common.Room>(); - roomlist.Clear(); - Common.Room customroom = new Common.Room(); - customroom.Name =Language.StringByID(MyInternationalizationString.customroom); - foreach (var device in Common.Logic.LogicDviceList) + flMain.AddChidren(foolrbj); + foreach (var foolr in Config.Instance.Home.FloorDics) { - - var deviceui = customroom.GetDeviceUI(device); - if (deviceui != null) - { - customroom.DeviceUIList.Add(deviceui); - } - } - roomlist.Add(customroom); - roomlist.AddRange(Common.Room.Lists); - foreach (var room in roomlist) - { - var rowLayout = new RowLayout + var foolrRowLayout = new FrameLayout { Height = Application.GetRealHeight(150), }; - roombj.AddChidren(rowLayout); + foolrbj.AddChidren(foolrRowLayout); - var btnroomname = new Button + var btnfoolrname = new Button { - Width = Application.GetRealWidth(300), - Text = room.Name, - TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(30), + Width = Application.GetRealWidth(250), + Height = Application.GetRealHeight(160), + Text = foolr.Value, + TextAlignment = TextAlignment.Center, TextColor = ZigbeeColor.Current.LogicTextBlackColor, + //SelectedTextColor=0xfffc744b, + Tag = foolr.Key, }; - rowLayout.AddChidren(btnroomname); + foolrRowLayout.AddChidren(btnfoolrname); - EventHandler<MouseEventArgs> roomclick = (sender1, e1) => + + EventHandler<MouseEventArgs> foolrnameclick = (sender13, e13) => { - + roomhorizontalScrol.RemoveAll(); + devicetypehorizontalScrol.RemoveAll(); + middle.RemoveAll(); + foolrname.Text = btnfoolrname.Text; flMain.RemoveFromParent(); - roomname.Text = room.Name; - var list = new List<DeviceUI>(); - foreach (var device in room.DeviceUIList) - { - if (!deviceTypeList.Contains(device.CommonDevice.Type)) - { - continue; - } - list.Add(device); - } - AllDeviceTypeView(list); + var list = Send.GetRoomList(btnfoolrname.Tag.ToString()); + AllRoomView(list, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol); }; - rowLayout.MouseUpEventHandler += roomclick; - btnroomname.MouseUpEventHandler += roomclick; + foolrRowLayout.MouseUpEventHandler += foolrnameclick; + btnfoolrname.MouseUpEventHandler += foolrnameclick; + } + }; - - Common.Room room1= new Common.Room(); - foreach (var device in Common.Logic.LogicDviceList) + foolrname.MouseUpEventHandler += foorlclick; + dropdown.MouseUpEventHandler += foorlclick; + ///绗竴娆¤繘鏉� + var roomlists = new List<Common.Room>(); + roomlists.Clear(); + if (Config.Instance.Home.FloorDics.Count < 2) { - - if (!deviceTypeList.Contains(device.Type)) + foolrname.Visible = false; + dropdown.Visible = false; + if (Config.Instance.Home.FloorDics.Count == 0) { - continue; + roomlists.AddRange(Common.Room.Lists); } - var deviceui = room1.GetDeviceUI(device); - if (deviceui != null) + else { - room1.DeviceUIList.Add(deviceui); + roomlists = Send.GetRoomList(Config.Instance.Home.CurrentFloorId); } + } + else + { + roomlists = Send.GetRoomList(Config.Instance.Home.CurrentFloorId); } - AllDeviceTypeView(room1.DeviceUIList); + + AllRoomView(roomlists, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol); + } + /// <summary> + /// 鍔犺浇鎵�鏈夋埧闂寸殑瑙嗗浘鏂规硶 + /// </summary> + void AllRoomView(List<Common.Room> roomlist, List<DeviceType> deviceTypeList, HorizontalScrolViewLayout roomhorizontalScrol, HorizontalScrolViewLayout devicetypehorizontalScrol) + { + for (int i = 0; i < roomlist.Count; i++) + { + var room = roomlist[i]; + + var fra = new FrameLayout + { + Height = Application.GetRealHeight(200), + Width = Application.GetRealWidth(255), + }; + roomhorizontalScrol.AddChidren(fra); + + var roombjBtn = new Button + { + Height = Application.GetRealHeight(158), + Width = Application.GetRealWidth(255), + UnSelectedImagePath = "ZigeeLogic/iconBackgroundColor.png", + SelectedImagePath = "ZigeeLogic/iconSelectedBackgroundColor.png", + Y=Application.GetRealHeight(21), + }; + fra.AddChidren(roombjBtn); + + var roomnameBtn= new Button + { + + Height = Application.GetRealHeight(152-26-20), + Width = Application.GetRealWidth(255-20-50), + Text = room.Name, + TextColor = ZigbeeColor.Current.LogicBtnCancelColor, + SelectedTextColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + Y=Application.GetRealHeight(21 +13+10), + X=Application.GetRealWidth(10+25), + + }; + fra.AddChidren(roomnameBtn); + + if (i == 0)// + { + roombjButton.IsSelected = false; + roombjButton = roombjBtn; + roombjBtn.IsSelected = true; + + roomTextButton.IsSelected = false; + roomTextButton = roomnameBtn; + roomnameBtn.IsSelected = true; + + var list = new List<DeviceUI>(); + foreach (var device in room.DeviceUIList) + { + if (device.CommonDevice==null) { + continue; + } + if (!deviceTypeList.Contains(device.CommonDevice.Type)) + { + continue; + } + list.Add(device); + } + AllDeviceTypeView(list, devicetypehorizontalScrol); + + } + + + EventHandler<MouseEventArgs> roomclick = (sender, e) => + { + + + roombjButton.IsSelected = false; + roombjButton = roombjBtn; + roombjBtn.IsSelected = true; + + roomTextButton.IsSelected = false; + roomTextButton = roomnameBtn; + roomnameBtn.IsSelected = true; + + var list = new List<DeviceUI>(); + foreach (var device in room.DeviceUIList) + { + if (device.CommonDevice==null) { + continue; + } + if (!deviceTypeList.Contains(device.CommonDevice.Type)) + { + continue; + } + list.Add(device); + } + AllDeviceTypeView(list, devicetypehorizontalScrol); + + + }; + roomnameBtn.MouseUpEventHandler += roomclick; + roombjBtn.MouseUpEventHandler += roomclick; + + } } /// <summary> /// 鍔犺浇璇ュ尯鍩熸墍鏈夎澶囪鍥炬柟娉� /// </summary>0 /// <param name="devicelist">Devicelist.</param> - void AllDeviceTypeView(List<DeviceUI> devicelist) + void AllDeviceTypeView(List<DeviceUI> devicelist, HorizontalScrolViewLayout devicetypehorizontalScrol) { List<string> devicetypelist = new List<string>(); devicetypelist.Clear(); @@ -220,7 +367,7 @@ devicetypelist.Add(Language.StringByID(MyInternationalizationString.Curtains)); } - var iASZonejosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.IASZone); + var iASZonejosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.IASZone|| device.CommonDevice.Type == DeviceType.TemperatureSensor); if (iASZonejosn != null) { devicetypelist.Add(Language.StringByID(MyInternationalizationString.sensor)); @@ -230,65 +377,100 @@ { devicetypelist.Add(Language.StringByID(MyInternationalizationString.OnOffSwitch)); } - #endregion - - horizontalScrol.RemoveAll(); - foreach (var devicetype in devicetypelist) + var doorLock = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.DoorLock); + if (doorLock != null) { + devicetypelist.Add(Language.StringByID(MyInternationalizationString.doorLock)); + } + #endregion + + devicetypehorizontalScrol.RemoveAll(); + for (int i = 0; i < devicetypelist.Count; i++) + { + + var devicetype = devicetypelist[i]; + + var spaceRowLayout = new FrameLayout(); + devicetypehorizontalScrol.AddChidren(spaceRowLayout); + if (i == 0) + { + spaceRowLayout.Width = Application.GetRealWidth(37); + } + else + { + spaceRowLayout.Width = Application.GetRealWidth(80); + } var deviceRowLayout = new FrameLayout { - Height = Application.GetRealHeight(180 + 30), - Width = Application.GetRealWidth(250), + Width = Application.GetRealWidth(156 + 20), + Height = Application.GetRealHeight(280 - 30), + Y = Application.GetRealHeight(30), }; - horizontalScrol.AddChidren(deviceRowLayout); + devicetypehorizontalScrol.AddChidren(deviceRowLayout); + + var backgroundColor = new Button + { + Width = Application.GetRealWidth(156), + Height = Application.GetRealHeight(180), + X = Application.GetRealWidth(10), + UnSelectedImagePath = "ZigeeLogic/deviceunselectedbackgroundcolor.png", + SelectedImagePath = "ZigeeLogic/deviceselectedbackgroundcolor.png", + }; + deviceRowLayout.AddChidren(backgroundColor); + var devicetypeicon = new Button { - Width = Application.GetRealWidth(110), - Height = Application.GetRealHeight(110), - X = Application.GetRealWidth(70), + Width = Application.GetRealWidth(84), + Height = Application.GetRealHeight(84), + X = Application.GetRealWidth(46), + Y = Application.GetRealHeight(30), }; deviceRowLayout.AddChidren(devicetypeicon); - if (devicetype == Language.StringByID(MyInternationalizationString.Lights)) - { - devicetypeicon.UnSelectedImagePath = "ZigeeLogic/Light.png"; - devicetypeicon.SelectedImagePath = "ZigeeLogic/LightSelected.png"; - } - else if (devicetype == Language.StringByID(MyInternationalizationString.Curtains)) - { - devicetypeicon.UnSelectedImagePath = "ZigeeLogic/Curtain.png"; - devicetypeicon.SelectedImagePath = "ZigeeLogic/CurtainSelected.png"; - } - else if (devicetype == Language.StringByID(MyInternationalizationString.OnOffSwitch)) - { - devicetypeicon.UnSelectedImagePath = "ZigeeLogic/OnOffSwitch.png"; - devicetypeicon.SelectedImagePath = "ZigeeLogic/OnOffSwitchSelected.png"; - } - else if (devicetype == Language.StringByID(MyInternationalizationString.sensor)) - { - devicetypeicon.UnSelectedImagePath = "ZigeeLogic/Sensor.png"; - devicetypeicon.SelectedImagePath = "ZigeeLogic/SensorSelected.png"; - } var devicetypename = new Button { - Width = Application.GetRealWidth(250), - Height = Application.GetRealHeight(50), + Width = Application.GetRealWidth(176), + Height = Application.GetRealHeight(40), Text = devicetype, TextAlignment = TextAlignment.Center, - Y = devicetypeicon.Bottom + Application.GetRealHeight(20), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, + Y = backgroundColor.Bottom, + TextColor = ZigbeeColor.Current.LogicAddColor, + TextSize = 10, }; deviceRowLayout.AddChidren(devicetypename); - + if (devicetype == Language.StringByID(MyInternationalizationString.Lights)) + { + devicetypeicon.UnSelectedImagePath = "ZigeeLogic/selectedlight.png"; + // devicetypeicon.SelectedImagePath = "ZigeeLogic/LightSelected.png"; + } + else if (devicetype == Language.StringByID(MyInternationalizationString.Curtains)) + { + devicetypeicon.UnSelectedImagePath = "ZigeeLogic/selectedcurtain.png"; + //devicetypeicon.SelectedImagePath = "ZigeeLogic/CurtainSelected.png"; + } + else if (devicetype == Language.StringByID(MyInternationalizationString.OnOffSwitch)) + { + devicetypeicon.UnSelectedImagePath = "ZigeeLogic/selectedpanel.png"; + // devicetypeicon.SelectedImagePath = "ZigeeLogic/OnOffSwitchSelected.png"; + } + else if (devicetype == Language.StringByID(MyInternationalizationString.sensor)) + { + devicetypeicon.UnSelectedImagePath = "ZigeeLogic/selectedsenor.png"; + // devicetypeicon.SelectedImagePath = "ZigeeLogic/SensorSelected.png"; + } + else if (devicetype == Language.StringByID(MyInternationalizationString.doorLock)) + { + devicetypeicon.UnSelectedImagePath = "ZigeeLogic/selecteddoorlock.png"; + } EventHandler<MouseEventArgs> devicetypeclick = (sender13, e13) => { List<DeviceType> list = new List<DeviceType>(); list.Clear(); - SelectedButton.IsSelected = false; - SelectedButton = devicetypeicon; - SelectedButton.IsSelected = true; + devicetypeButton.IsSelected = false; + devicetypeButton = backgroundColor; + backgroundColor.IsSelected = true; ///鍒嗙被鏄剧ず锛堜緥濡傜伅鍏夛細{鐏厜1锛岀伅鍏�2...}锛� if (devicetype == Language.StringByID(MyInternationalizationString.Lights)) { @@ -305,6 +487,11 @@ else if (devicetype == Language.StringByID(MyInternationalizationString.sensor)) { list.Add(DeviceType.IASZone); + list.Add(DeviceType.TemperatureSensor); + } + else if (devicetype == Language.StringByID(MyInternationalizationString.doorLock)) + { + list.Add(DeviceType.DoorLock); } ConditionDeviceView(list, devicelist); @@ -313,6 +500,7 @@ deviceRowLayout.MouseUpEventHandler += devicetypeclick; devicetypename.MouseUpEventHandler += devicetypeclick; devicetypeicon.MouseUpEventHandler += devicetypeclick; + backgroundColor.MouseUpEventHandler += devicetypeclick; } ///鏄剧ず鎴块棿鎵�鏈夎澶� @@ -336,44 +524,123 @@ continue; } - var row = new RowLayout + + var deviceFramelayout = new FrameLayout { - Height = Application.GetRealHeight(180), + Height = Application.GetRealHeight(160), + }; + middle.AddChidren(deviceFramelayout); + + var bjFramelayout = new FrameLayout + { + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(112), + X = Application.GetRealWidth(58), + Y = Application.GetRealHeight(30 + 9), + Radius = (uint)Application.GetRealHeight(56), + BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; + deviceFramelayout.AddChidren(bjFramelayout); + + var deviceIconBtn = new Button + { + Width = Application.GetRealWidth(82), + Height = Application.GetRealHeight(82), + Gravity = Gravity.Center, }; - middle.AddChidren(row); + bjFramelayout.AddChidren(deviceIconBtn); + + var deviceRow = new RowLayout + { + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(850), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(176 + 10), + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, + + }; + deviceFramelayout.AddChidren(deviceRow); var devicename = new Button { - Gravity = Gravity.CenterVertical, - TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(600), - //SelectedBackgroundColor = 0xFFE9652D, Text = common.CommonDevice.DeviceEpointName, + TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.LogicTextBlackColor, + SelectedTextColor = ZigbeeColor.Current.LogicAddColor, }; - row.AddChidren(devicename); - - var btndeviceback = new Button + deviceRow.AddChidren(devicename); + switch (common.CommonDevice.Type) { - Width = Application.GetRealWidth(110), - Height = Application.GetRealHeight(110), - UnSelectedImagePath = "ZigeeLogic/Next.png", - X = Application.GetRealWidth(1080 - 140), - Gravity = Gravity.CenterVertical, - }; - row.AddChidren(btndeviceback); + case DeviceType.OnOffOutput: + { + deviceIconBtn.UnSelectedImagePath = "ZigeeLogic/light.png"; + deviceIconBtn.SelectedImagePath = "ZigeeLogic/selectedlight.png"; + } + break; + case DeviceType.IASZone: + { + var iASZonedevice = common.CommonDevice as IASZone; + if (iASZonedevice.DeviceID != 1026) + { + break; + } + deviceIconBtn.UnSelectedImagePath = $"ZigeeLogic/sensor{iASZonedevice.IasDeviceType}.png"; + deviceIconBtn.SelectedImagePath = $"ZigeeLogic/selectedsensor{iASZonedevice.IasDeviceType}.png"; + + + } + break; + case DeviceType.TemperatureSensor: + { + var temperatureSensor = common.CommonDevice as TemperatureSensor; + if (temperatureSensor.SensorDiv == 1) + { + deviceIconBtn.UnSelectedImagePath = $"ZigeeLogic/temperature.png"; + deviceIconBtn.SelectedImagePath = $"ZigeeLogic/selectedtemperature.png"; + } + else + { + deviceIconBtn.UnSelectedImagePath = "ZigeeLogic/humidity.png"; + deviceIconBtn.SelectedImagePath = "ZigeeLogic/selectedhumidity.png"; + } + } + break; + case DeviceType.OnOffSwitch: + { + deviceIconBtn.UnSelectedImagePath = "ZigeeLogic/panel.png"; + deviceIconBtn.SelectedImagePath = "ZigeeLogic/selectedpanel.png"; + } + break; + case DeviceType.DoorLock: + { + deviceIconBtn.UnSelectedImagePath = "ZigeeLogic/doorlock.png"; + deviceIconBtn.SelectedImagePath = "ZigeeLogic/selecteddoorlock.png"; + } + break; + } EventHandler<MouseEventArgs> devicclick = (sen, e) => { + clickbutton.IsSelected = false; + clickbutton = deviceIconBtn; + deviceIconBtn.IsSelected = true; + clickframeLayout.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; + clickframeLayout = bjFramelayout; + bjFramelayout.BackgroundColor = ZigbeeColor.Current.LogicIconBackgroundColor; + clicktextcolcrbutton.IsSelected = false; + clicktextcolcrbutton = devicename; + devicename.IsSelected = true; var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; this.AddChidren(flMain); CurrentDeviceView(flMain, common.CommonDevice, false); }; - row.MouseUpEventHandler += devicclick; + deviceFramelayout.MouseUpEventHandler += devicclick; + bjFramelayout.MouseUpEventHandler += devicclick; + deviceIconBtn.MouseUpEventHandler += devicclick; + deviceRow.MouseUpEventHandler += devicclick; devicename.MouseUpEventHandler += devicclick; - btndeviceback.MouseUpEventHandler += devicclick; + } } @@ -381,59 +648,95 @@ /// 閫変腑璇ヨ澶囧姛鑳戒綔涓烘潯浠剁殑瑙嗗浘鏂规硶 /// </summary> /// <param name="common">Common.</param> - public static void CurrentDeviceView(FrameLayout flMain,CommonDevice common,bool edit) + public async static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit) { //涓嶈褰撳墠鐣岄潰婊戝姩 UserView.HomePage.Instance.ScrollEnabled = false; + List<Dictionary<string, string>> doorlockConditionsInfo= new List<Dictionary<string, string>>(); Dictionary<string, string> deviceConditionsInfo = new Dictionary<string, string>(); + dictionary(deviceConditionsInfo, "Type", "1"); + dictionary(deviceConditionsInfo, "IsValid", "1"); + dictionary(deviceConditionsInfo, "MacAddr", common.DeviceAddr); + dictionary(deviceConditionsInfo, "Epoint", common.DeviceEpoint.ToString()); //var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; //this.AddChidren(flMain); flMain.MouseUpEventHandler += (sender, e) => { flMain.RemoveFromParent(); + + }; + + var devicefra1 = new FrameLayout + { + Width = Application.GetRealWidth(1080), + Height = Application.GetRealHeight(100), + Y = Application.GetRealHeight(1920 - 100), + BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, + }; + flMain.AddChidren(devicefra1); + var devicefra = new FrameLayout { - Width = Application.GetRealWidth(1080 - 80), - X = Application.GetRealWidth(40), + Width = Application.GetRealWidth(1080), + Height = Application.GetRealHeight(530), + Y = Application.GetRealHeight(1920 - 530), BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, - Radius = (uint)Application.GetRealHeight(50), + Radius = (uint)Application.GetRealHeight(60), }; flMain.AddChidren(devicefra); - var devicename = new Button + #region -------鍙栨秷 瀹屾垚 + var timetype = new RowLayout { - Y = Application.GetRealHeight(20), - Text = common.DeviceEpointName, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - Height = Application.GetRealHeight(150), - Width = Application.GetRealWidth(1080 - 80), + Height = Application.GetRealHeight(140), + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, }; - devicefra.AddChidren(devicename); + devicefra.AddChidren(timetype); + var Btncancel = new Button + { + TextID = MyInternationalizationString.cancel, + TextColor = ZigbeeColor.Current.LogicBtnCancelColor, + Height = Application.GetRealHeight(140), + Width = Application.GetRealWidth(200), + X = Application.GetRealWidth(80), + TextAlignment = TextAlignment.CenterLeft, + }; + timetype.AddChidren(Btncancel); + Btncancel.MouseUpEventHandler += (sender16, e16) => + { + flMain.RemoveFromParent(); + UserView.HomePage.Instance.ScrollEnabled = true; + }; - string SelectedDeviceStatuscondition = "no"; + var Btntitle = new Button + { + TextID = MyInternationalizationString.security, + TextColor = ZigbeeColor.Current.LogicBtnTypeColor, + Height = Application.GetRealHeight(140), + Width = Application.GetRealWidth(320), + TextAlignment = TextAlignment.Center, + X = Btncancel.Right + Application.GetRealWidth(100), + TextSize = 16, + Text = common.DeviceEpointName, + }; + timetype.AddChidren(Btntitle); + var Btncomplete = new Button + { + TextID = MyInternationalizationString.complete, + TextColor = ZigbeeColor.Current.LogicBtnCompleteColor, + Height = Application.GetRealHeight(140), + Width = Application.GetRealWidth(200), + TextAlignment = TextAlignment.CenterRight, + X = Btntitle.Right + Application.GetRealWidth(100), - if (deviceConditionsInfo.ContainsKey("Type")) - { - deviceConditionsInfo.Remove("Type"); - } - if (deviceConditionsInfo.ContainsKey("IsValid")) - { - deviceConditionsInfo.Remove("IsValid"); - } - if (deviceConditionsInfo.ContainsKey("MacAddr")) - { - deviceConditionsInfo.Remove("MacAddr"); - } - if (deviceConditionsInfo.ContainsKey("Epoint")) - { - deviceConditionsInfo.Remove("Epoint"); - } - deviceConditionsInfo.Add("Type", "1"); - deviceConditionsInfo.Add("IsValid", "1"); - deviceConditionsInfo.Add("MacAddr", common.DeviceAddr); - deviceConditionsInfo.Add("Epoint",common.DeviceEpoint.ToString()); + }; + timetype.AddChidren(Btncomplete); + #endregion + + string SelectedDeviceStatuscondition = ""; + Dictionary<string, string> devices = null; if (edit) { @@ -455,101 +758,72 @@ ///鐏厜 case DeviceType.OnOffOutput: { - - if (deviceConditionsInfo.ContainsKey("Cluster_ID")) - { - deviceConditionsInfo.Remove("Cluster_ID"); - } - if (deviceConditionsInfo.ContainsKey("AttriButeId")) - { - deviceConditionsInfo.Remove("AttriButeId"); - } - if (deviceConditionsInfo.ContainsKey("Range")) - { - deviceConditionsInfo.Remove("Range"); - } - if (deviceConditionsInfo.ContainsKey("AttriButeData2")) - { - deviceConditionsInfo.Remove("AttriButeData2"); - } - deviceConditionsInfo.Add("Cluster_ID", "6"); - deviceConditionsInfo.Add("AttriButeId", "0"); - deviceConditionsInfo.Add("Range", "1"); - deviceConditionsInfo.Add("AttriButeData2", "0"); - + dictionary(deviceConditionsInfo, "Cluster_ID", "6"); + dictionary(deviceConditionsInfo, "AttriButeId", "0"); + dictionary(deviceConditionsInfo, "Range", "1"); + dictionary(deviceConditionsInfo, "AttriButeData2", "0"); #region 鐏厜View - devicefra.Y = Application.GetRealHeight(1920 - 30 - 720); - devicefra.Height = Application.GetRealHeight(720); - var OnOffOutputfra = new FrameLayout + + var openframelayout = new FrameLayout { - Y = Application.GetRealHeight(180), - Height = Application.GetRealHeight(180 * 2 + 30), + Height = Application.GetRealHeight(160), + Y = timetype.Bottom + Application.GetRealHeight(20), }; - devicefra.AddChidren(OnOffOutputfra); + devicefra.AddChidren(openframelayout); var openrowlayout = new RowLayout { - Height = Application.GetRealHeight(180), + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(920), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(80), + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, }; - OnOffOutputfra.AddChidren(openrowlayout); + openframelayout.AddChidren(openrowlayout); var btnopen = new Button { - //Text = "寮�", + Width = Application.GetRealWidth(600), TextID = MyInternationalizationString.open, TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(180), - //SelectedBackgroundColor = 0xfffe5e00, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, + TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, }; openrowlayout.AddChidren(btnopen); - var openBtnSelected = new Button - { - X = Application.GetRealWidth(1000 - 150), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = "Item/YesSelected.png", - Visible = false, - Gravity = Gravity.CenterVertical - }; + var openBtnSelected = new SelectedButton(); openrowlayout.AddChidren(openBtnSelected); - + var closeframelayout = new FrameLayout + { + Height = Application.GetRealHeight(160), + Y = openframelayout.Bottom, + }; + devicefra.AddChidren(closeframelayout); var closerowlayout = new RowLayout { - Y = openrowlayout.Bottom, - Height = Application.GetRealHeight(180), + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(920), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(80), + LineColor = ZigbeeColor.Current.LogicBackgroundColor, }; - OnOffOutputfra.AddChidren(closerowlayout); + closeframelayout.AddChidren(closerowlayout); var btnclose = new Button { //Text = "鍏�", TextID = MyInternationalizationString.close, + Width = Application.GetRealWidth(600), TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(180), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, + TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, }; closerowlayout.AddChidren(btnclose); - var closeBtnSelected = new Button - { - X = Application.GetRealWidth(1000 - 150), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = "Item/YesSelected.png", - Visible = false, - Gravity = Gravity.CenterVertical, - }; + var closeBtnSelected = new SelectedButton(); closerowlayout.AddChidren(closeBtnSelected); #endregion @@ -558,44 +832,47 @@ { openBtnSelected.Visible = true; closeBtnSelected.Visible = false; - SelectedDeviceStatuscondition = "yes"; - if (deviceConditionsInfo.ContainsKey("AttriButeData1")) - { - deviceConditionsInfo.Remove("AttriButeData1"); - } - deviceConditionsInfo.Add("AttriButeData1", "1");//榛樿鍊� + btnopen.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + btnclose.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + SelectedDeviceStatuscondition = "OnOffOutput"; + dictionary(deviceConditionsInfo, "AttriButeData1", "1");//榛樿鍊� + }; openrowlayout.MouseUpEventHandler += openclick; btnopen.MouseUpEventHandler += openclick; openBtnSelected.MouseUpEventHandler += openclick; + openframelayout.MouseUpEventHandler += openclick; ///鐐瑰嚮鍙栨秷浜嬩欢 EventHandler<MouseEventArgs> closeclick = (sender, e) => { + btnopen.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnclose.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; openBtnSelected.Visible = false; closeBtnSelected.Visible = true; - SelectedDeviceStatuscondition = "yes"; - if (deviceConditionsInfo.ContainsKey("AttriButeData1")) - { - deviceConditionsInfo.Remove("AttriButeData1"); - } - deviceConditionsInfo.Add("AttriButeData1", "0");//榛樿鍊� + SelectedDeviceStatuscondition = "OnOffOutput"; + dictionary(deviceConditionsInfo, "AttriButeData1", "0");//榛樿鍊� }; closerowlayout.MouseUpEventHandler += closeclick; btnclose.MouseUpEventHandler += closeclick; - closeBtnSelected.MouseUpEventHandler += openclick; + closeBtnSelected.MouseUpEventHandler += closeclick; + closeframelayout.MouseUpEventHandler += closeclick; if (edit && devices != null) { if (devices["AttriButeId"] == "0") { if (devices["AttriButeData1"] == "1") { + btnopen.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + btnclose.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; openBtnSelected.Visible = true; closeBtnSelected.Visible = false; } else { + btnopen.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnclose.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; openBtnSelected.Visible = false; closeBtnSelected.Visible = true; @@ -607,29 +884,10 @@ case DeviceType.WindowCoveringDevice: { - - if (deviceConditionsInfo.ContainsKey("Cluster_ID")) - { - deviceConditionsInfo.Remove("Cluster_ID"); - } - if (deviceConditionsInfo.ContainsKey("AttriButeId")) - { - deviceConditionsInfo.Remove("AttriButeId"); - } - if (deviceConditionsInfo.ContainsKey("Range")) - { - deviceConditionsInfo.Remove("Range"); - } - if (deviceConditionsInfo.ContainsKey("AttriButeData2")) - { - deviceConditionsInfo.Remove("AttriButeData2"); - } - deviceConditionsInfo.Add("Cluster_ID", "258"); - deviceConditionsInfo.Add("AttriButeId", "8"); - deviceConditionsInfo.Add("Range", "0"); - deviceConditionsInfo.Add("AttriButeData2", "0"); - - + dictionary(deviceConditionsInfo, "Cluster_ID", "258"); + dictionary(deviceConditionsInfo, "AttriButeId", "8"); + dictionary(deviceConditionsInfo, "Range", "0"); + dictionary(deviceConditionsInfo, "AttriButeData2", "0"); #region 绐楀笜View devicefra.Y = Application.GetRealHeight(1920 - 30 - 720); @@ -652,7 +910,7 @@ //Text = "寮�", TextID = MyInternationalizationString.open, TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), + X = Application.GetRealWidth(50), Width = Application.GetRealWidth(300), Height = Application.GetRealHeight(180), //SelectedBackgroundColor = 0xfffe5e00, @@ -683,7 +941,7 @@ //Text = "鍏�", TextID = MyInternationalizationString.close, TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), + X = Application.GetRealWidth(50), Width = Application.GetRealWidth(300), Height = Application.GetRealHeight(180), TextColor = ZigbeeColor.Current.LogicTextBlackColor, @@ -705,15 +963,10 @@ ///鐐瑰嚮纭浜嬩欢 EventHandler<MouseEventArgs> openclick = (sender, e) => { - SelectedDeviceStatuscondition = "yes"; + SelectedDeviceStatuscondition = "WindowCoveringDevice"; openBtnSelected.Visible = true; closeBtnSelected.Visible = false; - if (deviceConditionsInfo.ContainsKey("AttriButeData1")) - { - deviceConditionsInfo.Remove("AttriButeData1"); - } - deviceConditionsInfo.Add("AttriButeData1", "95");//榛樿鍊� - + dictionary(deviceConditionsInfo, "AttriButeData1", "95");//榛樿鍊� }; openrowlayout.MouseUpEventHandler += openclick; @@ -722,14 +975,10 @@ ///鐐瑰嚮鍙栨秷浜嬩欢 EventHandler<MouseEventArgs> closeclick = (sender, e) => { - SelectedDeviceStatuscondition = "yes"; + SelectedDeviceStatuscondition = "WindowCoveringDevice"; openBtnSelected.Visible = false; closeBtnSelected.Visible = true; - if (deviceConditionsInfo.ContainsKey("AttriButeData1")) - { - deviceConditionsInfo.Remove("AttriButeData1"); - } - deviceConditionsInfo.Add("AttriButeData1", "5");//榛樿鍊� + dictionary(deviceConditionsInfo, "AttriButeData1", "5");//榛樿鍊� }; closerowlayout.MouseUpEventHandler += closeclick; @@ -762,141 +1011,126 @@ { break; } - if (deviceConditionsInfo.ContainsKey("Cluster_ID")) - { - deviceConditionsInfo.Remove("Cluster_ID"); - } - if (deviceConditionsInfo.ContainsKey("AttriButeId")) - { - deviceConditionsInfo.Remove("AttriButeId"); - } - if (deviceConditionsInfo.ContainsKey("AttriButeData2")) - { - deviceConditionsInfo.Remove("AttriButeData2"); - } - deviceConditionsInfo.Add("Cluster_ID", "1280"); - deviceConditionsInfo.Add("AttriButeId", "1281"); - - deviceConditionsInfo.Add("AttriButeData2", "0"); + dictionary(deviceConditionsInfo, "Cluster_ID", "1280"); + dictionary(deviceConditionsInfo, "AttriButeId", "1281"); + dictionary(deviceConditionsInfo, "AttriButeData2", "0"); #region 瀹夐槻璁惧View - devicefra.Y = Application.GetRealHeight(1920 - 30 - 720); - devicefra.Height = Application.GetRealHeight(720); - var iASZonedevicefra = new FrameLayout + var openframelayout = new FrameLayout { - Y = Application.GetRealHeight(180), - Height = Application.GetRealHeight(180 * 2 + 30), + Height = Application.GetRealHeight(160), + Y = timetype.Bottom + Application.GetRealHeight(20), }; - devicefra.AddChidren(iASZonedevicefra); + devicefra.AddChidren(openframelayout); var openrowlayout = new RowLayout { - Height = Application.GetRealHeight(180), + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(920), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(80), + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, }; - + openframelayout.AddChidren(openrowlayout); var btnopen = new Button { - - //TextID = MyInternationalizationString.open, + Width = Application.GetRealWidth(600), + TextID = MyInternationalizationString.open, TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(180), - SelectedBackgroundColor = 0xfffe5e00, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, + TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, }; openrowlayout.AddChidren(btnopen); - var openBtnSelected = new Button - { - X = Application.GetRealWidth(1000 - 150), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = "Item/YesSelected.png", - Visible = false, - Gravity = Gravity.CenterVertical - }; + var openBtnSelected = new SelectedButton(); openrowlayout.AddChidren(openBtnSelected); + var closeframelayout = new FrameLayout + { + Height = Application.GetRealHeight(160), + Y = openframelayout.Bottom, + }; + devicefra.AddChidren(closeframelayout); var closerowlayout = new RowLayout { - Height = Application.GetRealHeight(180), - Y = openrowlayout.Bottom, + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(920), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(80), + LineColor = ZigbeeColor.Current.LogicBackgroundColor, }; - /// + closeframelayout.AddChidren(closerowlayout); var btnclose = new Button { - - //TextID = MyInternationalizationString.close, + //Text = "鍏�", + TextID = MyInternationalizationString.close, + Width = Application.GetRealWidth(600), TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(180), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, + TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, }; closerowlayout.AddChidren(btnclose); - var closeBtnSelected = new Button - { - X = Application.GetRealWidth(1000 - 150), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = "Item/YesSelected.png", - Visible = false, - Gravity = Gravity.CenterVertical - }; + var closeBtnSelected = new SelectedButton(); closerowlayout.AddChidren(closeBtnSelected); #endregion + + int timevalue = 0; ///鐐瑰嚮纭浜嬩欢 EventHandler<MouseEventArgs> openclick = (sender, e) => { - SelectedDeviceStatuscondition = "yes"; + SelectedDeviceStatuscondition = "IASZone"; + btnopen.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + btnclose.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; openBtnSelected.Visible = true; closeBtnSelected.Visible = false; - if (deviceConditionsInfo.ContainsKey("Range")) + if (iASZonedevice.IasDeviceType == 13) { - deviceConditionsInfo.Remove("Range"); + closeBtnSelected.Visible = true; } - deviceConditionsInfo.Add("Range", "5"); - if (deviceConditionsInfo.ContainsKey("AttriButeData1")) - { - deviceConditionsInfo.Remove("AttriButeData1"); - } - deviceConditionsInfo.Add("AttriButeData1", "1");//榛樿鍊� + dictionary(deviceConditionsInfo, "Range", "5"); + dictionary(deviceConditionsInfo, "AttriButeData1", "1"); }; openrowlayout.MouseUpEventHandler += openclick; btnopen.MouseUpEventHandler += openclick; openBtnSelected.MouseUpEventHandler += openclick; + openframelayout.MouseUpEventHandler += openclick; ///鐐瑰嚮鍙栨秷浜嬩欢 EventHandler<MouseEventArgs> closeclick = (sender, e) => { - SelectedDeviceStatuscondition = "yes"; + SelectedDeviceStatuscondition = "IASZone"; + btnopen.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnclose.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; openBtnSelected.Visible = false; closeBtnSelected.Visible = true; - if (deviceConditionsInfo.ContainsKey("Range")) + dictionary(deviceConditionsInfo, "Range", "1"); + dictionary(deviceConditionsInfo, "AttriButeData1", "0"); + if (iASZonedevice.IasDeviceType == 13) { - deviceConditionsInfo.Remove("Range"); + SelectedDeviceStatuscondition = "no"; + btnopen.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnclose.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + openBtnSelected.Visible = false; + closeBtnSelected.Visible = true; + var ignoreTime = new IgnoreTime(); + UserView.HomePage.Instance.AddChidren(ignoreTime); + UserView.HomePage.Instance.PageIndex += 1; + ignoreTime.Show(common, btnclose.Text, edit, timevalue); } - deviceConditionsInfo.Add("Range", "1"); - if (deviceConditionsInfo.ContainsKey("AttriButeData1")) - { - deviceConditionsInfo.Remove("AttriButeData1"); - } - deviceConditionsInfo.Add("AttriButeData1", "0");//榛樿鍊� + }; closerowlayout.MouseUpEventHandler += closeclick; btnclose.MouseUpEventHandler += closeclick; closeBtnSelected.MouseUpEventHandler += closeclick; + closeframelayout.MouseUpEventHandler += closeclick; @@ -905,69 +1139,140 @@ case 13: { btnopen.TextID = MyInternationalizationString.someone; - //btnclose.TextID = MyInternationalizationString.unmanned; - iASZonedevicefra.AddChidren(openrowlayout); - //iASZonedevicefra.AddChidren(closerowlayout); + btnclose.TextID = MyInternationalizationString.unattendedtime1; + closeBtnSelected.UnSelectedImagePath = "ZigeeLogic/next.png"; + closeBtnSelected.Visible = true; + openframelayout.AddChidren(openrowlayout); + closeframelayout.AddChidren(closerowlayout); } break; case 21: - { - btnopen.TextID = MyInternationalizationString.logicopen; - btnclose.TextID = MyInternationalizationString.logicclose; - iASZonedevicefra.AddChidren(openrowlayout); - iASZonedevicefra.AddChidren(closerowlayout); - } - break; case 22: { + #region + devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 * 3 - 20 - 50); + devicefra.Height = Application.GetRealHeight(140 + 160 * 3 + 20 + 50); btnopen.TextID = MyInternationalizationString.logicopen; btnclose.TextID = MyInternationalizationString.logicclose; - iASZonedevicefra.AddChidren(openrowlayout); - iASZonedevicefra.AddChidren(closerowlayout); + closerowlayout.LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor; + openframelayout.AddChidren(openrowlayout); + closeframelayout.AddChidren(closerowlayout); + + + + var timeoutframelayout = new FrameLayout + { + Height = Application.GetRealHeight(160), + Y = closeframelayout.Bottom, + }; + devicefra.AddChidren(timeoutframelayout); + var timeoutrowlayout = new RowLayout + { + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(920), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(80), + LineColor = ZigbeeColor.Current.LogicBackgroundColor, + }; + timeoutframelayout.AddChidren(timeoutrowlayout); + + var btntimeout = new Button + { + TextID = MyInternationalizationString.closetimeout, + Width = Application.GetRealWidth(600), + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, + }; + timeoutrowlayout.AddChidren(btntimeout); + + var timeoutBtnSelected = new Button + { + X = Application.GetRealWidth(860), + Width = Application.GetMinRealAverage(60), + Height = Application.GetMinRealAverage(60), + UnSelectedImagePath = "ZigeeLogic/next.png", + Gravity = Gravity.CenterVertical, + }; + timeoutrowlayout.AddChidren(timeoutBtnSelected); + EventHandler<MouseEventArgs> timeoutclick = (sender, e) => + { + SelectedDeviceStatuscondition = "no"; + btnopen.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnclose.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + openBtnSelected.Visible = false; + closeBtnSelected.Visible = false; + var ignoreTime = new IgnoreTime(); + UserView.HomePage.Instance.AddChidren(ignoreTime); + UserView.HomePage.Instance.PageIndex += 1; + ignoreTime.Show(common, btntimeout.Text, edit, timevalue); + + }; + timeoutframelayout.MouseUpEventHandler += timeoutclick; + timeoutrowlayout.MouseUpEventHandler += timeoutclick; + btntimeout.MouseUpEventHandler += timeoutclick; + timeoutBtnSelected.MouseUpEventHandler += timeoutclick; + + #endregion } break; case 40: { + devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 - 20 - 50); + devicefra.Height = Application.GetRealHeight(140 + 160 + 20 + 50); btnopen.TextID = MyInternationalizationString.smokescreen; //btnclose.TextID = MyInternationalizationString.nosmokescreen; - iASZonedevicefra.AddChidren(openrowlayout); + openframelayout.AddChidren(openrowlayout); + openrowlayout.LineColor = ZigbeeColor.Current.LogicBackgroundColor; } break; case 42: { btnopen.TextID = MyInternationalizationString.waterleakage; btnclose.TextID = MyInternationalizationString.noleakage; - iASZonedevicefra.AddChidren(openrowlayout); - iASZonedevicefra.AddChidren(closerowlayout); + openframelayout.AddChidren(openrowlayout); + closeframelayout.AddChidren(closerowlayout); + } break; case 43: { + devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 - 20 - 50); + devicefra.Height = Application.GetRealHeight(140 + 160 + 20 + 50); btnopen.TextID = MyInternationalizationString.gas; //btnclose.TextID = MyInternationalizationString.nogas; - iASZonedevicefra.AddChidren(openrowlayout); + openframelayout.AddChidren(openrowlayout); + openrowlayout.LineColor = ZigbeeColor.Current.LogicBackgroundColor; } break; case 44: { + devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 - 20 - 50); + devicefra.Height = Application.GetRealHeight(140 + 160 + 20 + 50); btnopen.TextID = MyInternationalizationString.emergencybutton; //btnclose.TextID = MyInternationalizationString.nosmokescreen; - iASZonedevicefra.AddChidren(openrowlayout); + openframelayout.AddChidren(openrowlayout); + openrowlayout.LineColor = ZigbeeColor.Current.LogicBackgroundColor; } break; case 277: { + devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 - 20 - 50); + devicefra.Height = Application.GetRealHeight(140 + 160 + 20 + 50); btnopen.TextID = MyInternationalizationString.callthepolice; //btnclose.TextID = MyInternationalizationString.nosmokescreen; - iASZonedevicefra.AddChidren(openrowlayout); + openframelayout.AddChidren(openrowlayout); + openrowlayout.LineColor = ZigbeeColor.Current.LogicBackgroundColor; } break; default: { + devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 - 20 - 50); + devicefra.Height = Application.GetRealHeight(140 + 160 + 20 + 50); btnopen.TextID = MyInternationalizationString.callthepolice; - iASZonedevicefra.AddChidren(openrowlayout); + openframelayout.AddChidren(openrowlayout); + openrowlayout.LineColor = ZigbeeColor.Current.LogicBackgroundColor; } break; } @@ -977,138 +1282,229 @@ { if (devices["AttriButeData1"] == "1") { + btnopen.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + btnclose.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; openBtnSelected.Visible = true; closeBtnSelected.Visible = false; } else { - openBtnSelected.Visible = false; - closeBtnSelected.Visible = true; + if (devices.ContainsKey("IgnoreTime")) + { + timevalue = int.Parse(devices["IgnoreTime"]); + } + else + { + btnopen.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnclose.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + openBtnSelected.Visible = false; + closeBtnSelected.Visible = true; + } } } + + } } break; case DeviceType.OnOffSwitch: { - if (deviceConditionsInfo.ContainsKey("Cluster_ID")) - { - deviceConditionsInfo.Remove("Cluster_ID"); - } - if (deviceConditionsInfo.ContainsKey("AttriButeId")) - { - deviceConditionsInfo.Remove("AttriButeId"); - } - if (deviceConditionsInfo.ContainsKey("Range")) - { - deviceConditionsInfo.Remove("Range"); - } - if (deviceConditionsInfo.ContainsKey("AttriButeData1")) - { - deviceConditionsInfo.Remove("AttriButeData1"); - } - if (deviceConditionsInfo.ContainsKey("AttriButeData2")) - { - deviceConditionsInfo.Remove("AttriButeData2"); - } - deviceConditionsInfo.Add("Cluster_ID", "1282"); - deviceConditionsInfo.Add("AttriButeId", "1283"); - deviceConditionsInfo.Add("Range", "0");//鎸夐敭鐗规畩 - deviceConditionsInfo.Add("AttriButeData1", "0"); - deviceConditionsInfo.Add("AttriButeData2", "0"); - devicefra.Y = Application.GetRealHeight(1920 - 30 - 720); - devicefra.Height = Application.GetRealHeight(720); + dictionary(deviceConditionsInfo, "Cluster_ID", "1282"); + dictionary(deviceConditionsInfo, "AttriButeId", "1283"); + dictionary(deviceConditionsInfo, "Range", "0");//鎸夐敭鐗规畩 + dictionary(deviceConditionsInfo, "AttriButeData1", "0"); + dictionary(deviceConditionsInfo, "AttriButeData2", "0"); + + devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 - 20 - 50); + devicefra.Height = Application.GetRealHeight(140 + 160 + 20 + 50); var OnOffOutputfra = new FrameLayout { - Y = Application.GetRealHeight(180), - Height = Application.GetRealHeight(180 * 2 + 30), + Height = Application.GetRealHeight(160), + Y = timetype.Bottom + Application.GetRealHeight(20), }; devicefra.AddChidren(OnOffOutputfra); var buttonRow = new RowLayout { - Height = Application.GetRealHeight(180), + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(920), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(80), + LineColor = ZigbeeColor.Current.LogicBackgroundColor, }; OnOffOutputfra.AddChidren(buttonRow); var button = new Button { - //TextID = MyInternationalizationString.button1, + Width = Application.GetRealWidth(600), TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(180), - Text=Language.StringByID(MyInternationalizationString.OnOffSwitch)+common.DeviceEpoint.ToString(), + TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, + Text = Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString(), //SelectedBackgroundColor = 0xfffe5e00, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, }; buttonRow.AddChidren(button); - var buttonSelected = new Button - { - X = Application.GetRealWidth(1000 - 150), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = "Item/YesSelected.png", - Visible = false, - Gravity = Gravity.CenterVertical - }; + var buttonSelected = new SelectedButton(); buttonRow.AddChidren(buttonSelected); - EventHandler<MouseEventArgs> buttonclick = (sender, e) => + EventHandler<MouseEventArgs> buttonclick = (sender, e) => { buttonSelected.Visible = true; - SelectedDeviceStatuscondition = "yes"; + SelectedDeviceStatuscondition = "OnOffSwitch"; + button.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; }; buttonRow.MouseUpEventHandler += buttonclick; button.MouseUpEventHandler += buttonclick; buttonSelected.MouseUpEventHandler += buttonclick; + OnOffOutputfra.MouseUpEventHandler += buttonclick; if (edit && devices != null) { buttonSelected.Visible = true; + button.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; } - + + } + break; + case DeviceType.DoorLock: + { + #region ------ + var doorlockifonlist = Send.ReadDoorLockIfon("ccccccfffe300347"); + //var list = Send.ReadDoorLockIfon(common.DeviceAddr); + var pra = new UserCenter.MemberListInfoPra(); + string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra); + var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result); + Send.UserList.Clear(); + for (int i = 0; i < listInfo.Count; i++) + { + var membership = new Send.MembershipIfon(); + var membershipifon = listInfo[i]; + for (int j = 0; j < doorlockifonlist.Count; j++) + { + ///鏌ユ壘鎴愬憳浠ュ強鎴愬憳闂ㄩ攣瑙﹀彂婧�(1鎸夐敭/3鍗�/15鎸囩汗) + if (doorlockifonlist[j].CloudAccountId == membershipifon.SubAccountDistributedMark) + { + membership.UserIdMode.Add(doorlockifonlist[j].UserIdMode); + membership.MembershipName = membershipifon.UserName; + membership.MembershipId = membershipifon.SubAccountDistributedMark; + + } + + } + if (membership.UserIdMode.Count != 0) + { + ///杩囨护鎺夐噸澶嶆暟鎹紱 + var str = Send.UserList.Find((c) => { return c.MembershipId == membership.MembershipId; }); + if (str == null) + { + Send.UserList.Add(membership); + } + } + + } + #endregion + + var memberList = new MemberList(); + UserView.HomePage.Instance.AddChidren(memberList); + UserView.HomePage.Instance.PageIndex += 1; + MemberList.action += () => { flMain.RemoveFromParent(); }; + memberList.Show(common); } break; + case DeviceType.TemperatureSensor: + { + devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 * 2 - 20 - 50); + devicefra.Height = Application.GetRealHeight(140 + 160 * 2 + 20 + 50); + var temperatureSensor = common as TemperatureSensor; + var Btntemperaturevalue = new Button + { + TextColor = ZigbeeColor.Current.LogicBtnCancelColor, + Height = Application.GetRealHeight(60), + Width = Application.GetRealWidth(400), + TextAlignment = TextAlignment.CenterLeft, + X = Application.GetRealWidth(80), + Y = timetype.Bottom + Application.GetRealHeight(70), + }; + devicefra.AddChidren(Btntemperaturevalue); + + var horizontalSeekBarVol = new HorizontalSeekBar + { + Width = Application.GetRealWidth(920), + Height = Application.GetRealHeight(80), + Radius = (uint)Application.GetRealHeight(25), + Y = timetype.Bottom + Application.GetRealHeight(70 + 60 + 70), + X = Application.GetRealWidth(80), + ProgressColor = ZigbeeColor.Current.LogicProgressColorSelected, + Max = 100, + SleepTime = 1000, + ThumbRadius = 9, + }; + devicefra.AddChidren(horizontalSeekBarVol); + horizontalSeekBarVol.MouseUpEventHandler += (sender, e) => + { + SelectedDeviceStatuscondition = "TemperatureSensor"; + if (temperatureSensor.SensorDiv == 1) + { + dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString()); + + Btntemperaturevalue.Text = "褰撳墠>" + horizontalSeekBarVol.Progress.ToString() + "鈩�"; + + } + else + { + Btntemperaturevalue.Text = "褰撳墠<" + horizontalSeekBarVol.Progress.ToString() + "%"; + dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString());//娓╁害鍊� + } + }; + + + + if (temperatureSensor.SensorDiv == 1) + { + dictionary(deviceConditionsInfo, "Cluster_ID", "1026"); + dictionary(deviceConditionsInfo, "AttriButeId", "0"); + dictionary(deviceConditionsInfo, "Range", "0");//0澶т簬AttriButeData1鏃惰Е鍙戝姩浣� + dictionary(deviceConditionsInfo, "AttriButeData1", "0"); + dictionary(deviceConditionsInfo, "AttriButeData2", "0"); + Btntemperaturevalue.Text = "褰撳墠>0鈩�"; + + } + else + { + Btntemperaturevalue.Text = "褰撳墠<0%"; + dictionary(deviceConditionsInfo, "Cluster_ID", "1029"); + dictionary(deviceConditionsInfo, "AttriButeId", "0"); + dictionary(deviceConditionsInfo, "Range", "2");//2灏忎簬AttriButeData1鏃惰Е鍙戝姩浣� + dictionary(deviceConditionsInfo, "AttriButeData1", "0");//娓╁害鍊� + dictionary(deviceConditionsInfo, "AttriButeData2", "0"); + } + + if (edit && devices != null) + { + horizontalSeekBarVol.Progress = int.Parse(devices["AttriButeData1"]); + if (temperatureSensor.SensorDiv == 1) + { + + Btntemperaturevalue.Text = "褰撳墠>" + devices["AttriButeData1"] + "鈩�"; + + } + else + { + Btntemperaturevalue.Text = "褰撳墠<" + devices["AttriButeData1"] + "%"; + } + } + + } + break; } - - var cancel = new Button - { - Height = Application.GetRealHeight(160), - TextID = MyInternationalizationString.cancel, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextSize = 16, - BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor, - Y = devicefra.Height - Application.GetRealHeight(160), - - }; - devicefra.AddChidren(cancel); - cancel.MouseUpEventHandler += (sender, e) => - { - flMain.RemoveFromParent(); - UserView.HomePage.Instance.ScrollEnabled = true; - }; - - - var btnSave = new Button - { - Y = Application.GetRealHeight(20), - Width = Application.GetRealWidth(200), - Height = Application.GetRealHeight(150), - Text = Language.StringByID(MyInternationalizationString.complete), - TextColor = ZigbeeColor.Current.LogicTextBlueColor, - X = Application.GetRealWidth(1000 - 200), - }; - devicefra.AddChidren(btnSave); - btnSave.MouseUpEventHandler += (sender2, e2) => + Btncomplete.MouseUpEventHandler += (sender2, e2) => { //UserView.HomePage.Instance.ScrollEnabled = true; - if (SelectedDeviceStatuscondition == "yes") + if (SelectedDeviceStatuscondition != "") { LogicIfon.AddDeviceconditions(common, deviceConditionsInfo); } @@ -1135,6 +1531,16 @@ } + public static void dictionary(Dictionary<string, string> deviceConditionsInfo, string Key, string Value) + { + if (deviceConditionsInfo.ContainsKey(Key)) + { + deviceConditionsInfo.Remove(Key); + } + deviceConditionsInfo.Add(Key, Value); + } + + } } -- Gitblit v1.8.0