From 2ed75b8b337048e5d75e6d9ec8307633134f02fd Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 10 十月 2019 11:33:04 +0800 Subject: [PATCH] 个人中心添加楼层和创建房间,实装二级验证 --- ZigbeeApp/Shared/Phone/Device/Category/Category.cs | 1189 ++++++++++++++++++++++------------------------------------ 1 files changed, 459 insertions(+), 730 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs index c41f1d2..14cb8c3 100755 --- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs @@ -4,6 +4,7 @@ using Shared.Phone.UserView; using Shared.R; using ZigBee.Device; +using Shared.Phone.Device.CommonForm; namespace Shared.Phone.Device.Category { @@ -19,17 +20,21 @@ /// </summary> public static Category instance; /// <summary> + /// low_High + /// </summary> + private const int low_High= 127; + /// <summary> /// 鍔熻兘 /// </summary> - public Button functionBtn; + private ButtonLineForm functionBtn; /// <summary> /// 鍦烘櫙 /// </summary> - public Button sceneBtn; + private ButtonLineForm sceneBtn; /// <summary> /// 鑷姩鍖� /// </summary> - public Button automationBtn; + private ButtonLineForm automationBtn; /// <summary> /// 涓儴鑳屾櫙bodyView /// </summary> @@ -51,10 +56,6 @@ /// </summary> private Device.CommonForm.SelectedStatuButton addBtn; /// <summary> - /// 鍒嗘爮搴曢儴绾挎潯. - /// </summary> - private Button line; - /// <summary> /// 缃戝叧 /// </summary> private ZbGateway zbGateway = null; @@ -73,11 +74,11 @@ /// <summary> /// 褰撳墠鍔熻兘绫诲瀷鎸夐挳 /// </summary> - private Button tempFunctionTypeBtn; + private FunctionButton tempFunctionTypeBtn; /// <summary> /// 鍔熻兘绫诲瀷鎸夐挳 /// </summary> - private Button functionTypeIMG; + private FunctionButton functionTypeIMG; /// <summary> /// 鍔熻兘绫诲瀷 /// </summary> @@ -86,6 +87,14 @@ /// 璁惧绫诲瀷RowLayout /// </summary> private RowLayout typeRowLayout; + /// <summary> + /// 妤煎眰 + /// </summary> + private Button floorBtn; + /// <summary> + /// 閫夋嫨妤煎眰 + /// </summary> + private Button selectFloorBtn; #endregion @@ -455,13 +464,13 @@ } } break; - case DeviceType.WindowCoveringDevice: + case DeviceType.WindowCoveringDevice: var rollerShape = deviceUI.CommonDevice as Rollershade; //璁板綍鍥炲鏃堕棿 rollerShape.LastDateTime = DateTime.Now; rollerShape.IsOnline = (common as Rollershade).IsOnline; for (int j = 0; j < rowLayout.ChildrenCount; j++) - { + { var tempView = rowLayout.GetChildren(j); if (tempView.Tag == null) { @@ -520,8 +529,30 @@ /// </summary> public Category() { - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; + BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor; 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> @@ -530,133 +561,175 @@ /// <param name="selectedBtn">閫変腑閭d釜鐣岄潰 0--鍔熻兘 1--鍦烘櫙 2--鑷姩鍖� </param> public void Show(int selectedBtn = 1) { + InitFloor(); ZbGateway.StatusList.Add(this); RemoveAll(); + #region topview var topView = new FrameLayout() { - Height = Application.GetRealHeight(CommonPage.Navigation_Height), - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, + Y = Application.GetRealHeight(104), + Height = Application.GetRealHeight(low_High), + BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor, }; this.AddChidren(topView); var title = new Button() { - Y = Application.GetRealHeight(CommonPage.NavigationTitle_Y), - Height = Application.GetRealHeight(CommonPage.Navigation_Height - CommonPage.NavigationTitle_Y), - TextAlignment = TextAlignment.Center, + X = Application.GetRealWidth(CommonFormResouce.X_Left), + Height = Application.GetRealHeight(95), + Width = Application.GetRealWidth(CommonFormResouce.TopTitle_Width), + Gravity = Gravity.CenterVertical, + TextAlignment = TextAlignment.CenterLeft, TextID = R.MyInternationalizationString.Category, TextSize = 20, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - Width = Application.GetRealWidth(CommonPage.AppRealWidth - 500), - Gravity = Gravity.CenterHorizontal + TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor, }; topView.AddChidren(title); - addBtn = new Device.CommonForm.SelectedStatuButton() + addBtn = new SelectedStatuButton() { - Y = Application.GetRealHeight(CommonPage.NavigationTitle_Y), - Width = Application.GetMinRealAverage(100), - Height = Application.GetMinRealAverage(100), - UnSelectedImagePath = "Item/Add.png", - SelectedImagePath = "Item/AddSelected.png", - X = Application.GetRealWidth(CommonPage.AppRealWidth - 150), + X = Application.GetRealWidth(953), + Width = Application.GetMinRealAverage(104), + Height = Application.GetMinRealAverage(104), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "Item/Add_Category.png", + SelectedImagePath = "Item/Add_Category.png" }; topView.AddChidren(addBtn); #endregion #region midFL - int functionSceneAuto_width; - //鎴愬憳娌℃湁鏉冮檺灞曠ず鑷姩鍖栫晫闈� - if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 3) - { - functionSceneAuto_width = 1080 / 2; - } - else - { - functionSceneAuto_width = 1080 / 3; - } - var functionSceneAuto_height = 120; var midFL = new FrameLayout { Y = topView.Bottom, - Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.TabbarHeight) - topView.Bottom + Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.TabbarHeight) - topView.Bottom, + BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; AddChidren(midFL); + var functionSceneAutoBG = new FrameLayout() { - Height = Application.GetRealHeight(functionSceneAuto_height), - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor + Height = Application.GetRealHeight(low_High), + BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; midFL.AddChidren(functionSceneAutoBG); //鍔熻兘 - functionBtn = new Button() - { - Width = Application.GetRealWidth(functionSceneAuto_width), - Height = Application.GetRealHeight(functionSceneAuto_height), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - SelectedTextColor = ZigbeeColor.Current.GXCTextBlueColor, - TextAlignment = TextAlignment.Center, - TextSize = 16, - TextID = R.MyInternationalizationString.Function, - IsSelected = false - }; - midFL.AddChidren(functionBtn); + functionBtn = new ButtonLineForm(CommonFormResouce.X_Left, 34, 150, 68); + functionSceneAutoBG.AddChidren(functionBtn); + functionBtn.Init(); + functionBtn.SetTitle(R.MyInternationalizationString.Function); + //鍦烘櫙 - sceneBtn = new Button() - { - X = functionBtn.Right, - Width = Application.GetRealWidth(functionSceneAuto_width), - Height = Application.GetRealHeight(functionSceneAuto_height), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - SelectedTextColor = ZigbeeColor.Current.GXCTextBlueColor, - TextAlignment = TextAlignment.Center, - TextSize = 16, - TextID = R.MyInternationalizationString.Scence, - IsSelected = false - }; - midFL.AddChidren(sceneBtn); + sceneBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 + 20, 34, 150, 68); + functionSceneAutoBG.AddChidren(sceneBtn); + sceneBtn.Init(); + sceneBtn.SetTitle(R.MyInternationalizationString.Scence); + //鑷姩鍖� - automationBtn = new Button() - { - X = sceneBtn.Right, - Width = Application.GetRealWidth(functionSceneAuto_width), - Height = Application.GetRealHeight(functionSceneAuto_height), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - SelectedTextColor = ZigbeeColor.Current.GXCTextBlueColor, - TextAlignment = TextAlignment.Center, - TextSize = 16, - TextID = R.MyInternationalizationString.Automation, - IsSelected = false - }; + automationBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 * 2 + 20, 34, 150, 68); + automationBtn.Init(); + automationBtn.SetTitle(R.MyInternationalizationString.Automation); //闅愯棌鑷姩鍖� if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo != 3) { - midFL.AddChidren(automationBtn); + functionSceneAutoBG.AddChidren(automationBtn); } - var functionSceneBottomLine = new Button() + floorBtn = new Button() { - Y = functionBtn.Bottom, - Height = CommonPage.LineHeight, - X = functionBtn.X, - BackgroundColor = ZigbeeColor.Current.GXCLineColor + X = Application.GetRealWidth(750), + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(60), + Gravity = Gravity.CenterVertical, + TextAlignment = TextAlignment.CenterRight, + TextColor = ZigbeeColor.Current.GXCTextBlackColor, }; - midFL.AddChidren(functionSceneBottomLine); - line = new Button() + + selectFloorBtn = new Button() { - Y = functionBtn.Bottom, - Height = CommonPage.LineHeight, - X = sceneBtn.X, - Width = Application.GetRealWidth(functionSceneAuto_width), - BackgroundColor = ZigbeeColor.Current.GXCButtonBlueColor + X = Application.GetRealWidth(950), + Width = Application.GetMinRealAverage(69), + Height = Application.GetMinRealAverage(69), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "Item/Drop_Down.png" }; - midFL.AddChidren(line); + + if (Config.Instance.Home.FloorDics.Count > 0) + { + floorBtn.Text = Config.Instance.Home.GetCurrentFloorName(); + functionSceneAutoBG.AddChidren(floorBtn); + functionSceneAutoBG.AddChidren(selectFloorBtn); + } + + var roomFL = new HorizontalScrolViewLayout() + { + X= Application.GetRealWidth(CommonFormResouce.X_Left), + Y = functionSceneAutoBG.Bottom, + Height = Application.GetRealHeight(167), + Width=Application.GetRealWidth(CommonPage.AppRealWidth-CommonFormResouce.X_Left), + 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.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 = line.Bottom, - Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.TabbarHeight) - functionBtn.Height - topView.Height - CommonPage.LineHeight, + 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); @@ -664,22 +737,18 @@ { addBtn.Visible = false; functionBtn.IsSelected = true; - line.X = functionBtn.X; } else if (selectedBtn == 1) { addBtn.Visible = true; sceneBtn.IsSelected = true; - line.X = sceneBtn.X; } else if (selectedBtn == 2) { addBtn.Visible = true; automationBtn.IsSelected = true; - line.X = automationBtn.X; } RefreshBodyView(); - #endregion //缁戝畾鎸夐挳浜嬩欢 @@ -695,13 +764,33 @@ private void BindEvent() { //閫夋嫨鍔熻兘鍒嗘爮 - functionBtn.MouseUpEventHandler += FunctionBtn_MouseUpEventHandler; + functionBtn.NameBtn.MouseUpEventHandler += FunctionBtn_MouseUpEventHandler; //閫夋嫨鍦烘櫙鍒嗘爮 - sceneBtn.MouseUpEventHandler += SceneBtn_MouseUpEventHandler; + sceneBtn.NameBtn.MouseUpEventHandler += SceneBtn_MouseUpEventHandler; //閫変腑鑷姩鍖� - automationBtn.MouseUpEventHandler += AutomationBtn_MouseUpEventHandler; + automationBtn.NameBtn.MouseUpEventHandler += AutomationBtn_MouseUpEventHandler; //鍙充笂瑙掓坊鍔犳寜閽� addBtn.MouseUpEventHandler += AddBtn_MouseUpEventHandler; + + selectFloorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler; + floorBtn.MouseUpEventHandler+= SelectedFloor_MouseUpEventHandler; + + } + + /// <summary> + /// 閫夋嫨妤煎眰 + /// </summary> + /// <param name="sender">Sender.</param> + /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> + private void SelectedFloor_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs) + { + var floors = new SelectFloor (); + AddChidren(floors); + floors.Init(599,357); + floors.FloorAction += (floorName) => + { + floorBtn.Text = floorName; + }; } /// <summary> @@ -714,7 +803,6 @@ functionBtn.IsSelected = true; sceneBtn.IsSelected = false; automationBtn.IsSelected = false; - line.X = functionBtn.X; addBtn.Visible = false; RefreshBodyView(); } @@ -729,7 +817,6 @@ functionBtn.IsSelected = false; sceneBtn.IsSelected = true; automationBtn.IsSelected = false; - line.X = sceneBtn.X; addBtn.Visible = true; RefreshBodyView(); } @@ -744,7 +831,6 @@ functionBtn.IsSelected = false; sceneBtn.IsSelected = false; automationBtn.IsSelected = true; - line.X = automationBtn.X; addBtn.Visible = true; RefreshBodyView(); } @@ -852,25 +938,25 @@ { functionTypeScrowView = new HorizontalScrolViewLayout { - Height = Application.GetRealHeight(CommonPage.RowHeight) - 1, - Width = Application.GetRealWidth(CommonPage.AppRealWidth) + X=Application.GetRealWidth(CommonFormResouce.X_Left), + Height = Application.GetRealHeight(279), + Width = Application.GetRealWidth(1028), + BackgroundColor=ZigbeeColor.Current.GXCBackgroundColor }; functionSceneBodyView.AddChidren(functionTypeScrowView); - var typeLine = new Button() - { - Y = functionTypeScrowView.Bottom, - Width = Application.GetRealWidth(CommonPage.AppRealWidth), - Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCLineColor - }; - functionSceneBodyView.AddChidren(typeLine); + deviceListScrolView = new VerticalScrolViewLayout { - Y = typeLine.Bottom, - Height = functionSceneBodyView.Height - Application.GetRealHeight(CommonPage.RowHeight) - 1 + X = Application.GetRealWidth(CommonFormResouce.X_Left), + Y = functionTypeScrowView.Bottom + Application.GetRealHeight(50), + Width = Application.GetRealWidth(1028), + Height = functionSceneBodyView.Height - Application.GetRealHeight(279+50) - 1, + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; functionSceneBodyView.AddChidren(deviceListScrolView); - tempFunctionTypeBtn = new Button(); + tempFunctionTypeBtn = new FunctionButton(); + foreach (var deviceType in Common.Room.AllRoomDeviceTypeList) { typeRowLayout = new RowLayout() @@ -880,22 +966,23 @@ Tag = deviceType }; functionTypeScrowView.AddChidren(typeRowLayout); - functionTypeIMG = new Button() + + functionTypeIMG = new FunctionButton() { - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.Center, - UnSelectedImagePath = DeviceUI.GetDeviceTypeUnSelectedImagePath(deviceType), - SelectedImagePath = DeviceUI.GetDeviceTypeSelectedImagePath(deviceType), Tag = deviceType }; + functionTypeIMG.Init(DeviceUI.GetDeviceTypeUnSelectedImagePath(deviceType), DeviceUI.GetDeviceTypeUnSelectedImagePath(deviceType)); + functionTypeIMG.SetTitle(DeviceUI.GetDeviceTypeName(deviceType)); typeRowLayout.AddChidren(functionTypeIMG); - functionTypeIMG.MouseUpEventHandler += ShowSameTypeFunction; + + functionTypeIMG.ImageBtn.MouseUpEventHandler += ShowSameTypeFunction; + functionTypeIMG.NameBtn.MouseUpEventHandler += ShowSameTypeFunction; + functionTypeIMG.ImageBG.MouseUpEventHandler += ShowSameTypeFunction; if (deviceType == Shared.Common.Room.AllRoomDeviceUIList[0].CommonDevice.Type) { - ShowSameTypeFunction(functionTypeIMG, null); + ShowSameTypeFunction(functionTypeIMG.ImageBtn, null); } } } @@ -911,8 +998,9 @@ //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙� Shared.Common.Room.GetAllRoomDeviceUIList(); tempFunctionTypeBtn.IsSelected = false; - (typeSender as Button).IsSelected = true; - tempFunctionTypeBtn = (typeSender as Button); + tempFunctionTypeBtn = (typeSender as Button).Parent as FunctionButton; + ((typeSender as Button).Parent as FunctionButton).IsSelected = true; + deviceListScrolView.RemoveAll(); var sameTypeList = new List<DeviceUI> { }; @@ -935,13 +1023,14 @@ //鍒犻櫎璁惧 EventHandler<MouseEventArgs> delEvent = (delSender, delE) => { - 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(); - alert.ResultEventHandler += (send1, e2) => + 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, false); + Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.CommonDevice); deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); sameTypeList.Remove(deviceUI); if (sameTypeList.Count == 0) @@ -963,11 +1052,11 @@ if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) { //鐏� - var light = deviceUI.CommonDevice as ZigBee.Device.ToggleLight; - //琛ヤ笂闈炶繙绋� - if (light.Gateway == null) - { - continue; + var light = deviceUI.CommonDevice as ZigBee.Device.ToggleLight; + //琛ヤ笂闈炶繙绋� + if (light.Gateway == null) + { + continue; } if (light.Gateway.IsVirtual) { @@ -989,53 +1078,27 @@ var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(CommonPage.RowHeight), - LineColor = ZigbeeColor.Current.GXCLineColor, + Height = Application.GetRealHeight(127+35), + LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(CommonPage.XLeft), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = deviceUI.IconPath, - SelectedImagePath = deviceUI.OnlineIconPath, - Gravity = Gravity.CenterVertical, - IsSelected = light.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceTypeRowLayout.AddChidren(deviceIMG); - var deviceNameBtn = new Button() - { - X = Application.GetRealWidth(50) + deviceIMG.Right, - Width = Application.GetRealWidth(500), - Text = deviceUI.CommonDevice.DeviceEpointName, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.CenterLeft - }; - deviceTypeRowLayout.AddChidren(deviceNameBtn); - var switchBtn = new Button - { - X = deviceTypeRowLayout.Right - Application.GetRealWidth(200), - Width = Application.GetMinRealAverage(183), - Height = Application.GetMinRealAverage(123), - UnSelectedImagePath = "Item/Switch.png", - SelectedImagePath = "Item/SwitchSelected.png", - IsSelected = light.OnOffStatus == 1, - Tag = deviceStatus_OnOffStatus, - Gravity = Gravity.CenterVertical - }; - deviceTypeRowLayout.AddChidren(switchBtn); - switchBtn.MouseUpEventHandler += (send2, e2) => + 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); - switchBtn.IsSelected = !switchBtn.IsSelected; - if (switchBtn.IsSelected == true) + (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected; + if ((send2 as CommonForm.SelectedStatuButton).IsSelected) { light.SwitchControl(1); } @@ -1058,6 +1121,14 @@ }); }; + var editBtn = new CommonForm.RowLayoutEditButton() + { + Tag = deviceUI, + Radius = 0 + }; + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { Tag = deviceUI, @@ -1065,10 +1136,6 @@ }; deviceTypeRowLayout.AddRightView(delBtn); delBtn.MouseUpEventHandler += delEvent; - - deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler; - deviceIMG.MouseUpEventHandler += deviceDetailHandler; - deviceNameBtn.MouseUpEventHandler += deviceDetailHandler; } else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch) { @@ -1098,53 +1165,27 @@ var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(CommonPage.RowHeight), - LineColor = ZigbeeColor.Current.GXCLineColor, + Height = Application.GetRealHeight(127 + 35), + LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(CommonPage.XLeft), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = deviceUI.IconPath, - SelectedImagePath = deviceUI.OnlineIconPath, - Gravity = Gravity.CenterVertical, - IsSelected = airSwitch.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceTypeRowLayout.AddChidren(deviceIMG); - var deviceNameBtn = new Button() - { - X = Application.GetRealWidth(50) + deviceIMG.Right, - Width = Application.GetRealWidth(500), - Text = deviceUI.CommonDevice.DeviceEpointName, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.CenterLeft - }; - deviceTypeRowLayout.AddChidren(deviceNameBtn); - var switchBtn = new Button - { - X = deviceTypeRowLayout.Right - Application.GetRealWidth(200), - Width = Application.GetMinRealAverage(183), - Height = Application.GetMinRealAverage(123), - UnSelectedImagePath = "Item/Switch.png", - SelectedImagePath = "Item/SwitchSelected.png", - IsSelected = airSwitch.OnOffStatus == 1, - Tag = deviceStatus_OnOffStatus, - Gravity = Gravity.CenterVertical - }; - deviceTypeRowLayout.AddChidren(switchBtn); - switchBtn.MouseUpEventHandler += (send2, e2) => + + 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); - switchBtn.IsSelected = !switchBtn.IsSelected; - if (switchBtn.IsSelected == true) + (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected; + if ((send2 as CommonForm.SelectedStatuButton).IsSelected) { airSwitch.SwitchControl(1); } @@ -1166,6 +1207,15 @@ } }); }; + + var editBtn = new CommonForm.RowLayoutEditButton() + { + Tag = deviceUI, + Radius = 0 + }; + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { Tag = deviceUI, @@ -1173,10 +1223,6 @@ }; deviceTypeRowLayout.AddRightView(delBtn); delBtn.MouseUpEventHandler += delEvent; - - deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler; - deviceIMG.MouseUpEventHandler += deviceDetailHandler; - deviceNameBtn.MouseUpEventHandler += deviceDetailHandler; } else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight) { @@ -1208,53 +1254,27 @@ var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(CommonPage.RowHeight), - LineColor = ZigbeeColor.Current.GXCLineColor, + Height = Application.GetRealHeight(127 + 35), + LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(CommonPage.XLeft), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = deviceUI.IconPath, - SelectedImagePath = deviceUI.OnlineIconPath, - Gravity = Gravity.CenterVertical, - IsSelected = dimmableLight.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceTypeRowLayout.AddChidren(deviceIMG); - var deviceNameBtn = new Button() - { - X = Application.GetRealWidth(50) + deviceIMG.Right, - Width = Application.GetRealWidth(500), - Text = deviceUI.CommonDevice.DeviceEpointName, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.CenterLeft - }; - deviceTypeRowLayout.AddChidren(deviceNameBtn); - var switchBtn = new Button - { - X = deviceTypeRowLayout.Right - Application.GetRealWidth(200), - Width = Application.GetMinRealAverage(183), - Height = Application.GetMinRealAverage(123), - UnSelectedImagePath = "Item/Switch.png", - SelectedImagePath = "Item/SwitchSelected.png", - IsSelected = dimmableLight.OnOffStatus == 1, - Tag = deviceStatus_OnOffStatus, - Gravity = Gravity.CenterVertical - }; - deviceTypeRowLayout.AddChidren(switchBtn); - switchBtn.MouseUpEventHandler += (send2, e2) => + + 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); - switchBtn.IsSelected = !switchBtn.IsSelected; - if (switchBtn.IsSelected == true) + (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected; + if ((send2 as CommonForm.SelectedStatuButton).IsSelected) { dimmableLight.SwitchControl(1); } @@ -1276,6 +1296,15 @@ } }); }; + + var editBtn = new CommonForm.RowLayoutEditButton() + { + Tag = deviceUI, + Radius = 0 + }; + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { Tag = deviceUI, @@ -1283,10 +1312,7 @@ }; deviceTypeRowLayout.AddRightView(delBtn); delBtn.MouseUpEventHandler += delEvent; - - deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler; - deviceIMG.MouseUpEventHandler += deviceDetailHandler; - deviceNameBtn.MouseUpEventHandler += deviceDetailHandler; + } else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat) { @@ -1326,53 +1352,27 @@ var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(CommonPage.RowHeight), - LineColor = ZigbeeColor.Current.GXCLineColor, + Height = Application.GetRealHeight(127 + 35), + LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(CommonPage.XLeft), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = deviceUI.IconPath, - SelectedImagePath = deviceUI.OnlineIconPath, - Gravity = Gravity.CenterVertical, - IsSelected = ac.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceTypeRowLayout.AddChidren(deviceIMG); - var deviceNameBtn = new Button() - { - X = Application.GetRealWidth(50) + deviceIMG.Right, - Width = Application.GetRealWidth(500), - Text = deviceUI.CommonDevice.DeviceEpointName, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.CenterLeft - }; - deviceTypeRowLayout.AddChidren(deviceNameBtn); - var switchBtn = new Button - { - X = deviceTypeRowLayout.Right - Application.GetRealWidth(200), - Width = Application.GetMinRealAverage(183), - Height = Application.GetMinRealAverage(123), - UnSelectedImagePath = "Item/Switch.png", - SelectedImagePath = "Item/SwitchSelected.png", - IsSelected = Device.AC.ACControlBase.IsOpen(ac), - Tag = deviceStatus_OnOffStatus, - Gravity = Gravity.CenterVertical - }; - deviceTypeRowLayout.AddChidren(switchBtn); - switchBtn.MouseUpEventHandler += (send2, e2) => + + 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); - switchBtn.IsSelected = !switchBtn.IsSelected; - if (switchBtn.IsSelected == true) + (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected; + if ((send2 as CommonForm.SelectedStatuButton).IsSelected) { ac.Open(); } @@ -1394,6 +1394,15 @@ } }); }; + + var editBtn = new CommonForm.RowLayoutEditButton() + { + Tag = deviceUI, + Radius = 0 + }; + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { Tag = deviceUI, @@ -1401,10 +1410,6 @@ }; deviceTypeRowLayout.AddRightView(delBtn); delBtn.MouseUpEventHandler += delEvent; - - deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler; - deviceIMG.MouseUpEventHandler += deviceDetailHandler; - deviceNameBtn.MouseUpEventHandler += deviceDetailHandler; } else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) { @@ -1434,63 +1439,25 @@ var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(CommonPage.RowHeight), + Height = Application.GetRealHeight(127 + 35), LineColor = ZigbeeColor.Current.GXCLineColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(CommonPage.XLeft), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = deviceUI.IconPath, - SelectedImagePath = deviceUI.OnlineIconPath, - Gravity = Gravity.CenterVertical, - IsSelected = rollerShade.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceTypeRowLayout.AddChidren(deviceIMG); - var deviceNameBtn = new Button() - { - X = Application.GetRealWidth(50) + deviceIMG.Right, - Width = Application.GetRealWidth(350), - Text = deviceUI.CommonDevice.DeviceEpointName, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.CenterLeft - }; - deviceTypeRowLayout.AddChidren(deviceNameBtn); - var closeBtn = new Device.CommonForm.SelectedStatuButton() + 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() { - X = Application.GetRealWidth(50) + deviceNameBtn.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "WindowCovering/RollerShadeClose.png", - SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png", + Tag = deviceUI, + Radius = 0 }; - deviceTypeRowLayout.AddChidren(closeBtn); - var stopBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(50) + closeBtn.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "WindowCovering/RollerShadeStop.png", - SelectedImagePath = "WindowCovering/RollerShadeStopSelected.png", - }; - deviceTypeRowLayout.AddChidren(stopBtn); - var openBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(50) + stopBtn.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png", - SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png", - }; - deviceTypeRowLayout.AddChidren(openBtn); + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { @@ -1500,15 +1467,23 @@ deviceTypeRowLayout.AddRightView(delBtn); delBtn.MouseUpEventHandler += delEvent; - //绐楀笜鍏� - closeBtn.MouseUpEventHandler += (sender, e) => + + deviceRow.SwitchBtn.MouseUpEventHandler += (sender, e) => { zbGateway = deviceUI.CommonDevice.Gateway; sendedControlCommand = false; zbGateway.ReportAction += UpdateDeviceControllStatu; AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); - rollerShade.CurtainUpDownStopControl(1); + (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, () => @@ -1524,98 +1499,10 @@ } }); }; - //绐楀笜鍋� - stopBtn.MouseUpEventHandler += (sender, e) => - { - zbGateway = deviceUI.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); - - rollerShade.CurtainUpDownStopControl(2); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - }; - //绐楀笜寮� - openBtn.MouseUpEventHandler += (sender, e) => - { - zbGateway = deviceUI.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); - - rollerShade.CurtainUpDownStopControl(0); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - }; - deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler; - deviceIMG.MouseUpEventHandler += deviceDetailHandler; - deviceNameBtn.MouseUpEventHandler += deviceDetailHandler; } else { - var deviceTypeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(CommonPage.RowHeight), - LineColor = ZigbeeColor.Current.GXCLineColor, - Tag = deviceUI - }; - deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(CommonPage.XLeft), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = deviceUI.IconPath, - SelectedImagePath = deviceUI.OnlineIconPath, - Gravity = Gravity.CenterVertical, - Tag = deviceStatus_Online - }; - deviceTypeRowLayout.AddChidren(deviceIMG); - var deviceNameBtn = new Button() - { - X = Application.GetRealWidth(50) + deviceIMG.Right, - Width = Application.GetRealWidth(500), - Text = deviceUI.CommonDevice.DeviceEpointName, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.CenterLeft - }; - deviceTypeRowLayout.AddChidren(deviceNameBtn); - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() - { - Tag = deviceUI, - Radius = 0 - }; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; - - deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler; - deviceIMG.MouseUpEventHandler += deviceDetailHandler; - deviceNameBtn.MouseUpEventHandler += deviceDetailHandler; + } } } @@ -1625,13 +1512,27 @@ /// </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() { - Height = Application.GetMinRealAverage(200), + 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, - Gravity = Gravity.CenterVertical + IsMoreLines=true }; functionSceneBodyView.AddChidren(noFunctionTip); } @@ -1659,114 +1560,104 @@ } else { - var sceneScrolView = new VerticalScrolViewLayout { }; + var sceneScrolView = new VerticalScrolViewLayout + { + Y=Application.GetRealHeight(58) + }; functionSceneBodyView.AddChidren(sceneScrolView); foreach (var sceneRoomUI in sceneList) { var sceneFL = new FrameLayout() { - Width = Application.GetRealWidth(CommonPage.AppRealWidth - 100), - Height = Application.GetRealHeight(400), + Height = Application.GetRealHeight(446), Gravity = Gravity.CenterHorizontal, - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor, Tag = sceneRoomUI }; sceneScrolView.AddChidren(sceneFL); var sceneRowLayout = new RowLayout() { - Y = Application.GetRealHeight(30), - Height = Application.GetRealHeight(400 - 30 - 10), + Y = Application.GetRealHeight(46), + Height = Application.GetRealHeight(446 - 46), Gravity = Gravity.CenterHorizontal, - LineColor = ZigbeeColor.Current.GXCBackgroundColor, + LineColor = ZigbeeColor.Current.GXCGrayBackgroundColor, Radius = CommonPage.BigFormRadius }; sceneFL.AddChidren(sceneRowLayout); - var sceneItemFL = new FrameLayout() - { - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Radius = CommonPage.BigFormRadius - }; - sceneRowLayout.AddChidren(sceneItemFL); + var sceneImg = new Button() { + X=Application.GetRealWidth(179), + Width=Application.GetMinReal(844), + Height=Application.GetMinReal(400), + Gravity = Gravity.CenterVertical, UnSelectedImagePath = sceneRoomUI.sceneUI.IconPath, - Radius = CommonPage.BigFormRadius + Radius = (uint)Application.GetRealHeight(CommonFormResouce.BigFormRadius) }; sceneRowLayout.AddChidren(sceneImg); - var sceneBGBtn = new Button() + var leftFL = new FrameLayout { - BackgroundColor = ZigbeeColor.Current.GXCBlack70Color, - SelectedBackgroundColor = ZigbeeColor.Current.GXCBlack80Color, - Radius = CommonPage.BigFormRadius + X=Application.GetRealWidth(CommonFormResouce.X_Left), + Width = Application.GetRealWidth(251), + Height = Application.GetRealHeight(282), + Gravity=Gravity.CenterVertical, + BackgroundColor = ZigbeeColor.Current.GXCBlackBackgroundColor2 }; - sceneRowLayout.AddChidren(sceneBGBtn); - var roomNameBtn = new Button() + sceneRowLayout.AddChidren(leftFL); + + var collectionBtn = new Button { - X = Application.GetRealWidth(30), - Y = Application.GetRealHeight(1), - Width = Application.GetRealWidth(600), - Height = Application.GetRealHeight(110), - Text = $"{sceneRoomUI.room.Name}", - TextColor = ZigbeeColor.Current.GXCTextWhiteColor, - TextSize = 12, - TextAlignment = TextAlignment.CenterLeft + X=Application.GetRealWidth(23), + Y=Application.GetRealHeight(23), + Width=Application.GetMinRealAverage(65), + Height=Application.GetMinRealAverage(65), + UnSelectedImagePath="Item/Collection.png", + SelectedImagePath="Item/CollectionSelected.png" }; - sceneRowLayout.AddChidren(roomNameBtn); + leftFL.AddChidren(collectionBtn); var sceneNameBtn = new Button() { - Width = Application.GetRealWidth(700), + Width = Application.GetRealWidth(176), Height = Application.GetRealHeight(200), TextColor = ZigbeeColor.Current.GXCTextWhiteColor, - TextSize = 20, Text = sceneRoomUI.sceneUI.Name, - Gravity = Gravity.Center + Gravity = Gravity.Center, + IsMoreLines=true }; - sceneRowLayout.AddChidren(sceneNameBtn); - var moreBtn = new Device.CommonForm.SelectedStatuButton() - { - Y = Application.GetRealHeight(1), - X = sceneRowLayout.Width - Application.GetRealWidth(150), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = "Item/MoreWhite.png", - SelectedImagePath = "Item/MoreSelected.png" - }; - sceneRowLayout.AddChidren(moreBtn); + leftFL.AddChidren(sceneNameBtn); - //缂栬緫寤舵椂 - var leftDelayTimeBtn = new Device.CommonForm.RowLayoutEditButton() + //瀹氭椂 + var delayBtn = new RowLayoutDeleteButton { + TextID = R.MyInternationalizationString.Delay, Tag = sceneRoomUI.sceneUI.SceneDelayTime }; + sceneRowLayout.AddLeftView(delayBtn); + //缂栬緫 + var settingBtn = new Device.CommonForm.RowLayoutEditButton() + { + TextID=R.MyInternationalizationString.Setting, + Tag = sceneRoomUI.sceneUI.SceneDelayTime + }; //鍒犻櫎 var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton { Tag = sceneRoomUI }; - if(!sceneRoomUI.room.IsSharedRoom) + if (!sceneRoomUI.room.IsSharedRoom) { - sceneRowLayout.AddRightView(leftDelayTimeBtn); + sceneRowLayout.AddRightView(settingBtn); sceneRowLayout.AddRightView(deleteBtn); } //璋冪敤鍦烘櫙 - EventHandler<MouseEventArgs> sceneDownHandler = (sender, e) => - { - sceneBGBtn.IsSelected = true; - }; - sceneBGBtn.MouseDownEventHandler += sceneDownHandler; - sceneImg.MouseDownEventHandler += sceneDownHandler; - sceneRowLayout.MouseDownEventHandler += sceneDownHandler; - sceneNameBtn.MouseDownEventHandler += sceneDownHandler; - sceneFL.MouseDownEventHandler += sceneDownHandler; EventHandler<MouseEventArgs> sceneUpHandler = async (sender, e) => { - sceneBGBtn.IsSelected = false; //1鎴愬姛 0澶辫触 //鍚庨潰琛ヤ笂鐩稿叧鎻愮ず //瑕佸厛浠庣綉鍏宠鍙栧欢鏃舵槸鍚︽鍦ㄦ墽琛岋紝濡傛灉鏄繘琛屽�掕鏃讹紝涓嶅厑璁稿湪鐐瑰嚮 @@ -1795,17 +1686,17 @@ return; } }; - sceneBGBtn.MouseUpEventHandler += sceneUpHandler; sceneImg.MouseUpEventHandler += sceneUpHandler; - sceneRowLayout.MouseUpEventHandler += sceneUpHandler; - sceneFL.MouseUpEventHandler += sceneUpHandler; - sceneNameBtn.MouseUpEventHandler += sceneUpHandler; //鍒犻櫎鍦烘櫙 EventHandler<MouseEventArgs> delEvent = (sender, e) => { - 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(); - alert.ResultEventHandler += async (send1, e1) => + 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) => { if (e1) { @@ -1844,12 +1735,12 @@ }; deleteBtn.MouseUpEventHandler += delEvent; //缂栬緫鍦烘櫙 - moreBtn.MouseUpEventHandler += (sender, e) => + settingBtn.MouseUpEventHandler += (sender, e) => { SceneRoomUI.EditScene(sceneRoomUI.sceneUI, sceneRoomUI.room); }; //缂栬緫寤舵椂 - leftDelayTimeBtn.MouseUpEventHandler += (sender, e) => + delayBtn.MouseUpEventHandler += (sender, e) => { var tList = new List<string>() { }; @@ -1858,24 +1749,24 @@ tList.Add($"{i} {Language.StringByID(R.MyInternationalizationString.Second)}"); } //int beforeIndex = (int)(sender as CommonForm.RowLayoutEditButton).Tag; - PickerView.Show(tList, (obj) => - { - var tempRoom = Shared.Common.Room.GetRoomByFilePath(sceneRoomUI.room.FileName); - if (tempRoom == null) - { - return; - } - foreach (var ss in tempRoom.SceneUIList) - { - if (ss.Id == sceneRoomUI.sceneUI.Id) - { - ss.SceneDelayTime = int.Parse(tList[obj].Split(' ')[0]); - sceneRoomUI.room.Save(); - RefreshBodyView(); - return; - } - } - },0,"", Language.StringByID(R.MyInternationalizationString.Confrim), tList[(int)(sender as CommonForm.RowLayoutEditButton).Tag]); + //PickerView.Show(tList, (obj) => + //{ + // var tempRoom = Shared.Common.Room.GetRoomByFilePath(sceneRoomUI.room.FileName); + // if (tempRoom == null) + // { + // return; + // } + // foreach (var ss in tempRoom.SceneUIList) + // { + // if (ss.Id == sceneRoomUI.sceneUI.Id) + // { + // ss.SceneDelayTime = int.Parse(obj.Split(' ')[0]); + // sceneRoomUI.room.Save(); + // RefreshBodyView(); + // return; + // } + // } + //}, Language.StringByID(R.MyInternationalizationString.Confrim), tList[(int)(sender as CommonForm.RowLayoutEditButton).Tag]); }; } } @@ -1886,13 +1777,26 @@ /// </summary> private void ShowNoSceneTip() { + 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 noScenceTip = new Button() { - Height = Application.GetMinRealAverage(200), + Y = noFunction.Bottom + Application.GetRealHeight(32), + Height = Application.GetRealHeight(200), + Width = Application.GetRealWidth(700), + Gravity = Gravity.CenterHorizontal, TextID = R.MyInternationalizationString.NoScene, TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, TextAlignment = TextAlignment.Center, - Gravity = Gravity.CenterVertical + IsMoreLines = true }; functionSceneBodyView.AddChidren(noScenceTip); } @@ -1909,49 +1813,38 @@ { var logicScrolView = new VerticalScrolViewLayout { }; functionSceneBodyView.AddChidren(logicScrolView); - - //Shared.Common.ResponseEntity.Logic.LogicDviceList = await gateway.GetGwDeviceList(); - // gateway.DeviceList.Clear(); - ////// Shared.Common.ResponseEntity.Logic.LogicDviceList = LocalDevice.Current.GetDeviceByGatewayID(gateway.getGatewayBaseInfo.gwID); - //if (gateway.DeviceList.Count != 0) - //{ - // Shared.IO.FileUtils.WriteFileByBytes("ZigbeeDeviceListFilePath", System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(gateway.DeviceList))); - //} - //else - //{//涓存椂淇濆瓨璁惧鍒楄〃鏁版嵁缁欓�昏緫寮�鍙� - // var devicestring = System.Text.Encoding.UTF8.GetString(Shared.IO.FileUtils.ReadFile("ZigbeeDeviceListFilePath")); - // gateway.DeviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<CommonDevice>>(devicestring); - //} - CommonPage.Loading.Start(); - //if (Common.Logic.LogicDviceList.Count != 0) - //{ - // foreach (var gateway in ZbGateway.GateWayList) - // { - // if (gateway.IsMainGateWay) - // { - // Common.Logic.LogicDviceList = LocalDevice.Current.GetDeviceByGatewayID(gateway.getGatewayBaseInfo.gwID); - // } - // } - //} - - - //CommonPage.Loading.Start(); if (Common.Logic.LogicList.Count == 0) { + //var Idlist = await Logic.Send.GetLogicId(); + //if (Idlist.Count != 0) + //{ + // foreach (var LogicId in Idlist) + // { + // var logic = await Logic.Send.GetLogic(LogicId); + // if (logic != null) + // { + // Common.Logic.LogicList.Add(logic); + // } + // } + //} var Idlist = await Logic.Send.GetLogicId(); if (Idlist.Count != 0) { + var listlogic = await Logic.Send.ReadList(Idlist.Count); foreach (var LogicId in Idlist) { - var logic = await Logic.Send.GetLogic(LogicId); - if (logic != null) + foreach (var logic in listlogic) { - Common.Logic.LogicList.Add(logic); + if (logic.LogicId == LogicId) + { + Common.Logic.LogicList.Add(logic); + } } } } } + //鑷姩鍖� Automationview(logicScrolView); CommonPage.Loading.Hide(); @@ -2008,7 +1901,8 @@ //閫昏緫鍏� logic.IsEnable = 0; } - Logic.Send.AddModifyLogic(logic); + Logic.Send.LogicControlSwitch(logic); + //Logic.Send.AddModifyLogic(logic); }; if (logic.IsEnable == 1) { @@ -2039,171 +1933,6 @@ UserView.HomePage.Instance.AddChidren(logicCommunalPage); UserView.HomePage.Instance.PageIndex += 1; logicCommunalPage.Show(() => { btnname.Text = logic.LogicName; Automationview(refresview); }); - - }; - - - var btndelay = new Button - { - Width = Application.GetRealWidth(150), - Height = Application.GetRealHeight(50), - X = Application.GetRealWidth(300), - Y = Application.GetRealHeight(25), - TextAlignment = TextAlignment.Center, - TextColor = 0xffcccccc, - }; - logicrowlayout.AddChidren(btndelay); - - ///寤舵椂鎺т欢 - var btndelaytext = new Button - { - BackgroundColor = 0xff676767, - Text = Language.StringByID(R.MyInternationalizationString.delayed), - }; - //logicrowlayout.AddRightView(btndelaytext); - - //if (logic.param.ContainsKey ("delay")) { - // var delayvalue = logic.param ["delay"]?.ToString (); - // if (delayvalue != "" && delayvalue != "0") { - // var l = int.Parse (delayvalue) / 10; - // btndelay.Text = l.ToString () + "s"; - // } - //} - - btndelaytext.MouseUpEventHandler += (sender, e) => - { - - Dialog window = new Dialog(); - window.Show(); - - var frameLayout = new FrameLayout - { - Width = Application.GetRealWidth(580), - Height = Application.GetRealHeight(300), - X = Application.GetRealWidth(30), - Y = Application.GetRealHeight(330), - BackgroundColor = 0xffffffff, - }; - window.AddChidren(frameLayout); - - var Modifyname = new Button - { - Width = Application.GetRealWidth(580), - Height = Application.GetRealHeight(80), - TextID = R.MyInternationalizationString.devicedelaytime, - //Text = "璇疯緭鍏ヨ澶囧欢鏃剁殑鏃堕棿(鍗曚綅/s)", - Y = Application.GetRealHeight(10), - TextSize = 16, - TextColor = ZigbeeColor.Current.MusicTipTextColor, - }; - frameLayout.AddChidren(Modifyname); - - var delaytext = new EditText - { - Width = Application.GetRealWidth(540), - Height = Application.GetRealHeight(80), - Y = Application.GetRealHeight(80), - X = Application.GetRealWidth(20), - Gravity = Gravity.CenterVertical, - // BackgroundColor = SkinStyle.Current.MusicTipBackgroundColor, - //TextColor = 0xff000000, - Radius = 1, - BorderWidth = 1, - //BorderColor = SkinStyle.Current.MusicEditBorderColor, - //TextColor = SkinStyle.Current.MusicTextColor, - }; - frameLayout.AddChidren(delaytext); - - var line = new Button - { - Height = Application.GetRealHeight(2), - Y = Application.GetRealHeight(218), - BackgroundColor = 0xff666666, - }; - frameLayout.AddChidren(line); - - var cancelrow = new RowLayout - { - Y = Application.GetRealHeight(220), - Height = Application.GetRealHeight(80), - Width = Application.GetRealWidth(289), - BackgroundColor = 0xffcccccc, - }; - frameLayout.AddChidren(cancelrow); - - var cancel = new Button - { - TextID = R.MyInternationalizationString.cancel, - //TextColor = 0xff000000, - TextSize = 18, - //TextColor = SkinStyle.Current.MusicTextColor, - }; - cancelrow.AddChidren(cancel); - cancel.MouseUpEventHandler += (sender1, e1) => - { - window.Close(); - }; - - var ther = new Button - { - Y = Application.GetRealHeight(220), - Height = Application.GetRealHeight(80), - Width = Application.GetRealWidth(2), - X = Application.GetRealHeight(289), - BackgroundColor = 0xff666666, - }; - frameLayout.AddChidren(ther); - - var confirmrow = new RowLayout - { - Y = Application.GetRealHeight(220), - X = Application.GetRealWidth(291), - Height = Application.GetRealHeight(80), - Width = Application.GetRealWidth(289), - BackgroundColor = 0xffcccccc, - }; - frameLayout.AddChidren(confirmrow); - - var confirm = new Button - { - TextID = R.MyInternationalizationString.confrim, - //TextColor = 0xff000000, - TextSize = 18, - // TextColor = SkinStyle.Current.MusicTextColor, - }; - confirmrow.AddChidren(confirm); - //if (logic.param.ContainsKey ("delay")) { - // var delayvalue = logic.param ["delay"]?.ToString (); - // if (delayvalue != "" && delayvalue != "0") { - // var l = int.Parse (delayvalue) / 10; - // delaytext.Text = l.ToString () + "s"; - // } - //} - - confirm.MouseUpEventHandler += (sender1, e1) => - { - var isNumber = delaytext.Text.Trim(); - if (!int.TryParse(isNumber, out int number) || isNumber == "") - { - new Alert(Language.StringByID(R.MyInternationalizationString.Tip), - Language.StringByID(R.MyInternationalizationString.inputnumber), - Language.StringByID(R.MyInternationalizationString.Close)).Show(); - return; - } - - var vel = int.Parse(isNumber); - //if (logic.param.ContainsKey ("delay")) { - // logic.param.Remove ("delay"); - // logic.param.Add ("delay", vel * 10); - //} else { - // logic.param.Add ("delay", vel * 10); - //} - //btndelay.Text = isNumber + "s"; - window.Close(); - Automationview(refresview); - - - }; }; -- Gitblit v1.8.0