From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 859 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 574 insertions(+), 285 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs index b8f664b..3914880 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs @@ -71,11 +71,12 @@ { bodyView = this; roomsShowed = new List<Room>(); - roomsShowed.AddRange(DB_ResidenceData.rooms); + roomsShowed.AddRange(SpatialInfo.CurrentSpatial.RoomList); } public void LoadPage() { + MainPage.CurPageIndex = 1; bodyView.BackgroundColor = CSS_Color.BackgroundColor; #region top FrameLayout topView = new FrameLayout() @@ -117,7 +118,7 @@ contentPageView = new PageLayout() { Y = Application.GetRealHeight(64), - Height = Application.GetRealHeight(667 - 64-49+30), + Height = Application.GetRealHeight(667 - 64 - 49 + 30), BackgroundColor = CSS_Color.MainBackgroundColor, IsShowPoint = false }; @@ -144,7 +145,7 @@ Height = Application.GetRealHeight(52), }; roomPageView.AddChidren(roomFloorChangeView); - #region 鎴块棿搴曢儴鍒囨崲鏄剧ず鍖哄煙 + #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙 /// <summary> /// 鎴块棿鍖哄煙锛岄《閮ㄥ尯鍩� /// </summary> @@ -177,7 +178,7 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, - Text = DB_ResidenceData.residenceData.CurFoor, + Text = DB_ResidenceData.Instance.CurFloor.roomName, }; roomFloorChangeView.AddChidren(btnFloor); /// <summary> @@ -191,8 +192,14 @@ Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Classification/ToggleDisplayThumbnail.png",//缂╃暐鍥� SelectedImagePath = "Classification/ToggleDisplayLarge.png", + IsSelected = OnAppConfig.Instance.IsShowBigPicture }; roomFloorChangeView.AddChidren(btnSwitchDipaly); + btnSwitchDipaly.MouseUpEventHandler = (sender, e) => { + OnAppConfig.Instance.IsShowBigPicture = !OnAppConfig.Instance.IsShowBigPicture; + btnSwitchDipaly.IsSelected = OnAppConfig.Instance.IsShowBigPicture; + LoadRoomRows(true); + }; #endregion /// <summary> @@ -215,159 +222,385 @@ /// <summary> /// 鍔犺浇鎴块棿鍒楄〃鍖哄煙 /// </summary> - void LoadRoomRows () + /// <param name="animationEffect">鍔ㄧ敾鏁堟灉</param> + void LoadRoomRows(bool animationEffect = false) { - roomListView.RemoveAll(); - foreach (var room in roomsShowed) + if (animationEffect) { - var roomView = new FrameLayout() + ///绉诲姩鏂瑰悜 + var runDirection = OnAppConfig.Instance.IsShowBigPicture ? 1 : -1; + for (int i = 0; i < roomListView.ChildrenCount; i++) { - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(343), - Height = Application.GetRealHeight(184), - Radius = (uint)Application.GetRealWidth(12), - Tag = room.sid, - }; - roomListView.AddChidren(roomView); + var childView = roomListView.GetChildren(i); - var roomViewbg = new ImageView() + if (childView.GetType() == typeof(FrameLayout)) + { + var roomView = childView as FrameLayout; + + //澶у浘鏄剧ず + if (OnAppConfig.Instance.IsShowBigPicture) + { + LoadBigPirtureRoomRow(roomView, roomsShowed[i]); + } + else//鏃犲浘鏄剧ず + { + LoadSmallPirtureRoomRow(roomView, roomsShowed[i]); + } + } + + new System.Threading.Thread(() => + { + //闇�瑕佺Щ鍔ㄧ殑楂樺害 + var runHeight = Application.GetRealWidth(i * 142); + + int runCount = 0; + //寰幆娆℃暟锛屽姩鐢绘晥鏋滈渶瑕佸湪1绉� 锛�10娆★級鍐呭畬鎴� + while (runCount < 9) + { + Application.RunOnMainThread(() => + { + if (childView.GetType() == typeof(FrameLayout)) + { + childView.Height += Application.GetRealWidth(14) * runDirection; + } + if (i > 0) + { + childView.Y += runDirection * Application.GetRealWidth(14 * i); + } + }); + runCount++; + System.Threading.Thread.Sleep(12); + } + Application.RunOnMainThread(() => + { + childView.Y += runHeight * runDirection; + + if (childView.GetType() == typeof(FrameLayout)) + { + if (runDirection == 1) + { + childView.Height = Application.GetRealWidth(192+20); + } + else + { + childView.Height = Application.GetRealWidth(70+20); + } + } + }); + }) + { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start(); + } + } + else + { + roomListView.RemoveAll(); + foreach (var room in roomsShowed) { - Width = Application.GetRealWidth(343), - Height = Application.GetRealHeight(184), - ImagePath = room.backgroundImage, - Radius = (uint)Application.GetRealWidth(12), - }; - roomView.AddChidren(roomViewbg); + //澶у浘鏄剧ず + if (OnAppConfig.Instance.IsShowBigPicture) + { + roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.MainBackgroundColor; + var roomView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealWidth(192 + 20),//2020-12-01 鎴块棿鍥剧墖姣斾緥鏀瑰洖16:9 + Radius = (uint)Application.GetRealWidth(12), + Tag = room.roomId, + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + roomListView.AddChidren(roomView); - var roomViewbgColor = new Button() - { - Radius = (uint)Application.GetRealWidth(12), - BackgroundColor = 0x19333333, - }; - roomView.AddChidren(roomViewbgColor); + LoadBigPirtureRoomRow(roomView, room); - var btnFloorAndRoomName = new Button() - { - X = Application.GetRealWidth(16), - Y = Application.GetRealHeight(12 - 2), - Width = Application.GetRealWidth(266), - Height = Application.GetRealHeight(22 + 2 + 2), - Text = room.floorName + room.name, - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.MainBackgroundColor, - TextSize = CSS_FontSize.SubheadingFontSize, - }; - roomView.AddChidren(btnFloorAndRoomName); - - #region 鐜鏁版嵁 - var environmentalView = new FrameLayout() - { - Y = Application.GetRealHeight(2) + btnFloorAndRoomName.Bottom, - Height = Application.GetRealHeight(32), - Tag = "EnvironmentalView", - }; - roomView.AddChidren(environmentalView); - - Button btnTempIcon = new Button() - { - X = Application.GetRealWidth(12), - Gravity = Gravity.CenterVertical, - Width = Application.GetMinRealAverage(16), - Height = Application.GetMinRealAverage(16), - UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png", - }; - environmentalView.AddChidren(btnTempIcon); - - var btnTempValues = new Button() - { - X = btnTempIcon.Right + Application.GetRealWidth(4), - Width = Application.GetRealWidth(30), - Gravity = Gravity.CenterVertical, - TextColor = CSS.CSS_Color.MainBackgroundColor, - TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel, - Text = "--掳", - TextAlignment = TextAlignment.CenterLeft, - Tag = "TempValues" - }; - environmentalView.AddChidren(btnTempValues); - - Button btnHumidityIcon = new Button() - { - X = btnTempValues.Right + Application.GetRealWidth(2), - Gravity = Gravity.CenterVertical, - Width = Application.GetMinRealAverage(16), - Height = Application.GetMinRealAverage(16), - UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png", - }; - environmentalView.AddChidren(btnHumidityIcon); - - var btnHumidityValues = new Button() - { - X = btnHumidityIcon.Right + Application.GetRealWidth(4), - Width = Application.GetRealWidth(30), - Gravity = Gravity.CenterVertical, - TextColor = CSS.CSS_Color.MainBackgroundColor, - TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel, - Text = "--%", - TextAlignment = TextAlignment.CenterLeft, - Tag = "HumidityValues" - }; - environmentalView.AddChidren(btnHumidityValues); - - Button btnPm25Icon = new Button() - { - X = btnHumidityValues.Right + Application.GetRealWidth(2), - Gravity = Gravity.CenterVertical, - Width = Application.GetMinRealAverage(16), - Height = Application.GetMinRealAverage(16), - UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png", - }; - environmentalView.AddChidren(btnPm25Icon); - - var btnPm25Values = new Button() - { - X = btnPm25Icon.Right + Application.GetRealWidth(4), - Width = Application.GetRealWidth(30), - Gravity = Gravity.CenterVertical, - TextColor = CSS.CSS_Color.MainBackgroundColor, - TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel, - Text = "--", - TextAlignment = TextAlignment.CenterLeft, - Tag = "Pm25Values" - }; - environmentalView.AddChidren(btnPm25Values); - roomView.AddChidren(environmentalView); - #endregion - - var btnAllClose = new Button() - { - X = Application.GetRealWidth(282), - Y = Application.GetRealHeight(126), - Width = Application.GetMinRealAverage(58), - Height = Application.GetMinRealAverage(58), - UnSelectedImagePath = "Classification/Room/AllCloseIcon.png", - Tag = "AllClose", - Visible = false - }; - roomView.AddChidren(btnAllClose); - LoadEvent_CloseAllFunction(btnAllClose, room); - - var btn = new Button() - { - Height = Application.GetRealHeight(20), - }; - roomListView.AddChidren(btn); - - roomViewbgColor.MouseUpEventHandler += (sender, e) => - { - var view = new RoomPage(room); - MainPage.BasePageView.AddChidren(view); - view.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; - + } + else//鏃犲浘鏄剧ず + { + roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.BackgroundColor; + var roomView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealWidth(70 + 20), + Radius = (uint)Application.GetRealWidth(12), + Tag = room.roomId, + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + roomListView.AddChidren(roomView); + LoadSmallPirtureRoomRow(roomView, room); + } + } } } + + /// <summary> + /// 鍔犺浇澶у浘鎴块棿row + /// </summary> + /// <param name="roomView"></param> + /// <param name="room"></param> + void LoadBigPirtureRoomRow(FrameLayout roomView, Room room) + { + roomView.RemoveAll(); + roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.MainBackgroundColor; + roomView.BackgroundColor = CSS_Color.MainBackgroundColor; + var roomViewbg = new ImageView() + { + Width = Application.GetRealWidth(343), + Height = Application.GetRealWidth(192),//2020-12-01 鎴块棿鍥剧墖姣斾緥鏀瑰洖16:9 + Radius = (uint)Application.GetRealWidth(12), + }; + roomView.AddChidren(roomViewbg); + + //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 + ImageUtlis.Current.LoadLocalOrNetworkImages(room.backgroundImage, roomViewbg); + + var btnFloorAndRoomName = new Button() + { + X = Application.GetRealWidth(16), + Y = Application.GetRealHeight(12 - 2), + Width = Application.GetRealWidth(266), + Height = Application.GetRealHeight(22 + 2 + 2), + Text = room.floorName + room.roomName, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.MainBackgroundColor, + TextSize = CSS_FontSize.SubheadingFontSize, + }; + roomView.AddChidren(btnFloorAndRoomName); + + #region 鐜鏁版嵁 + //var environmentalView = new FrameLayout() + //{ + // Y = Application.GetRealHeight(2) + btnFloorAndRoomName.Bottom, + // Height = Application.GetRealHeight(32), + // Tag = "EnvironmentalView", + //}; + //roomView.AddChidren(environmentalView); + + //Button btnTempIcon = new Button() + //{ + // X = Application.GetRealWidth(12), + // Gravity = Gravity.CenterVertical, + // Width = Application.GetMinRealAverage(16), + // Height = Application.GetMinRealAverage(16), + // UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png", + //}; + //environmentalView.AddChidren(btnTempIcon); + + //var btnTempValues = new Button() + //{ + // X = btnTempIcon.Right + Application.GetRealWidth(4), + // Width = Application.GetRealWidth(30), + // Gravity = Gravity.CenterVertical, + // TextColor = CSS_Color.MainBackgroundColor, + // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + // Text = "--掳", + // TextAlignment = TextAlignment.CenterLeft, + // Tag = "TempValues" + //}; + //environmentalView.AddChidren(btnTempValues); + + //Button btnHumidityIcon = new Button() + //{ + // X = btnTempValues.Right + Application.GetRealWidth(2), + // Gravity = Gravity.CenterVertical, + // Width = Application.GetMinRealAverage(16), + // Height = Application.GetMinRealAverage(16), + // UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png", + //}; + //environmentalView.AddChidren(btnHumidityIcon); + + //var btnHumidityValues = new Button() + //{ + // X = btnHumidityIcon.Right + Application.GetRealWidth(4), + // Width = Application.GetRealWidth(30), + // Gravity = Gravity.CenterVertical, + // TextColor = CSS_Color.MainBackgroundColor, + // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + // Text = "--%", + // TextAlignment = TextAlignment.CenterLeft, + // Tag = "HumidityValues" + //}; + //environmentalView.AddChidren(btnHumidityValues); + + //Button btnPm25Icon = new Button() + //{ + // X = btnHumidityValues.Right + Application.GetRealWidth(2), + // Gravity = Gravity.CenterVertical, + // Width = Application.GetMinRealAverage(16), + // Height = Application.GetMinRealAverage(16), + // UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png", + //}; + //environmentalView.AddChidren(btnPm25Icon); + + //var btnPm25Values = new Button() + //{ + // X = btnPm25Icon.Right + Application.GetRealWidth(4), + // Width = Application.GetRealWidth(30), + // Gravity = Gravity.CenterVertical, + // TextColor = CSS_Color.MainBackgroundColor, + // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + // Text = "--", + // TextAlignment = TextAlignment.CenterLeft, + // Tag = "Pm25Values" + //}; + //environmentalView.AddChidren(btnPm25Values); + //roomView.AddChidren(environmentalView); + #endregion + + var roomViewbgColor = new Button() + { + Height = Application.GetRealWidth(192), + Radius = (uint)Application.GetRealWidth(12), + BackgroundColor = 0x19333333, + }; + roomView.AddChidren(roomViewbgColor); + + var btnAllClose = new Button() + { + X = Application.GetRealWidth(282), + Y = Application.GetRealWidth(126), + Width = Application.GetMinRealAverage(48), + Height = Application.GetMinRealAverage(48), + UnSelectedImagePath = "Classification/Room/AllCloseIcon.png", + Tag = "AllClose", + Visible = false + }; + roomView.AddChidren(btnAllClose); + LoadEvent_CloseAllFunction(btnAllClose, room); + + //var btn = new Button() + //{ + // Y = Application.GetRealWidth(192), + // Height = Application.GetRealWidth(20), + // BackgroundColor = CSS_Color.MainBackgroundColor, + //}; + //roomView.AddChidren(btn); + + roomViewbgColor.MouseUpEventHandler += (sender, e) => + { + Action ReloadRoomName = () => + { + btnFloorAndRoomName.Text = room.floorName + room.roomName; + }; + + //鎴块棿鍒犻櫎浜嬩欢 + Action deleteAction = () => + { + roomView.RemoveFromParent(); + }; + + //鎴块棿鑳屾櫙鍥句慨鏀逛簨浠跺洖璋� + Action modifyImageAction = () => + { + //roomViewbg.ImagePath = room.backgroundImage; + ImageUtlis.Current.LoadLocalOrNetworkImages(room.backgroundImage, roomViewbg); + }; + + var view = new RoomPage(room, ReloadRoomName, deleteAction, modifyImageAction); + MainPage.BasePageView.AddChidren(view); + view.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + } + /// <summary> + /// 璁拌浇灏忓浘鎴块棿row + /// </summary> + void LoadSmallPirtureRoomRow(FrameLayout roomView, Room room) + { + roomView.RemoveAll(); + roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.BackgroundColor; + roomView.BackgroundColor = CSS_Color.BackgroundColor; + //roomView.BackgroundColor = CSS_Color.MainBackgroundColor; + + + var viewbg = new Button() + { + Width = Application.GetRealWidth(343), + Height = Application.GetRealWidth(70), + Radius = (uint)Application.GetRealWidth(12), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + roomView.AddChidren(viewbg); + + var btnRoomName = new Button() + { + X = Application.GetRealWidth(16), + //Y = Application.GetRealHeight(12 - 2), + Width = Application.GetRealWidth(266), + Height = Application.GetRealHeight(52), + Text = room.roomName, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + }; + roomView.AddChidren(btnRoomName); + + var btnFloorName = new Button() + { + X = Application.GetRealWidth(16), + Y = Application.GetRealHeight(19), + Width = Application.GetRealWidth(266), + Height = Application.GetRealHeight(46), + Text = room.floorName, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + }; + roomView.AddChidren(btnFloorName); + + var roomViewbg = new ImageView() + { + Width = Application.GetRealWidth(343), + Height = Application.GetRealWidth(70), + Radius = (uint)Application.GetRealWidth(12), + }; + roomView.AddChidren(roomViewbg); + + var btnAllClose = new Button() + { + X = Application.GetRealWidth(278), + Y = Application.GetRealWidth(15), + Width = Application.GetMinRealAverage(50), + Height = Application.GetMinRealAverage(50), + UnSelectedImagePath = "Classification/Room/AllCloseIcon2.png", + Tag = "AllClose", + Visible = false + }; + roomView.AddChidren(btnAllClose); + LoadEvent_CloseAllFunction(btnAllClose, room); + + //var btn = new Button() + //{ + // Y = Application.GetRealWidth(70), + // Height = Application.GetRealWidth(20), + // BackgroundColor = CSS_Color.BackgroundColor, + //}; + //roomView.AddChidren(btn); + + roomViewbg.MouseUpEventHandler += (sender, e) => + { + Action ReloadRoomName = () => + { + btnFloorName.Text = room.floorName; + btnRoomName.Text = room.roomName; + }; + + //鎴块棿鍒犻櫎浜嬩欢 + Action deleteAction = () => + { + roomView.RemoveFromParent(); + }; + Action action = () => + { + }; + + var view = new RoomPage(room, ReloadRoomName, deleteAction, action); + MainPage.BasePageView.AddChidren(view); + view.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + } + /// <summary> /// 鍔犺浇鍔熻兘鍒楄〃鐣岄潰 @@ -410,10 +643,11 @@ var lastY1 = Application.GetRealWidth(16); var lastY2 = Application.GetRealWidth(16); + var functionContentViewHeight = Application.GetRealWidth(16); var functionCategoryCount = 0; - foreach (var item in DB_ResidenceData.residenceData.functionTypeList) + foreach (var item in DB_ResidenceData.Instance.functionTypeList) { int functionCount = 0; int functionOnCount = 0; @@ -421,64 +655,89 @@ { case ShowFunction.Light: #region Light - functionCount = DB_ResidenceData.functionList.lights.Count; - functionOnCount = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + functionCount = FunctionList.List.GetLightList().Count; + functionOnCount = FunctionList.List.GetLightList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; #endregion break; case ShowFunction.AC: #region AC - functionCount = DB_ResidenceData.functionList.aCs.Count; - functionOnCount = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + functionCount = FunctionList.List.GetAcList().Count; + functionOnCount = FunctionList.List.GetAcList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; #endregion break; case ShowFunction.Curtain: #region Curtain - functionCount = DB_ResidenceData.functionList.curtains.Count; - functionOnCount = DB_ResidenceData.functionList.curtains.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + functionCount = FunctionList.List.GetCurtainList().Count; + functionOnCount = FunctionList.List.GetCurtainList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; #endregion break; case ShowFunction.FloorHeating: #region 鍦扮儹 - functionCount = DB_ResidenceData.functionList.floorHeatings.Count; - functionOnCount = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + functionCount = FunctionList.List.GetFloorHeatingList().Count; + functionOnCount = FunctionList.List.GetFloorHeatingList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; #endregion break; case ShowFunction.DoorLock: break; case ShowFunction.Electric: #region 鐢靛櫒 - functionCount = DB_ResidenceData.functionList.electricals.Count; - functionOnCount = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + functionCount = FunctionList.List.GetElectricals().Count; + functionOnCount = FunctionList.List.GetElectricals().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; #endregion break; case ShowFunction.EnergyMonitoring: + #region 鑳芥簮 + functionCount = FunctionList.List.GetEnergyList().Count; + functionOnCount = FunctionList.List.GetEnergyList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; + #endregion break; case ShowFunction.Environmental: #region 鐜鏁版嵁 - functionCount = DB_ResidenceData.functionList.sensorsEnvironmentalScience.Count; + functionCount = FunctionList.List.GetEnvirSensorsList().Count; #endregion break; case ShowFunction.FreshAir: + functionCount = FunctionList.List.GetAirFreshList().Count; + functionOnCount = FunctionList.List.GetAirFreshList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; break; case ShowFunction.Music: - functionCount = Music.A31MusicModel.A31MusicModelList.Count; - functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + functionCount = FunctionList.List.GetMusicList().Count; +#if DEBUG + functionCount = 1; +#endif break; case ShowFunction.Panel: break; case ShowFunction.SecurityMonitoring: + if (!MainPage.NoLoginMode) + { + functionCount = 1; + } break; case ShowFunction.Sensor: + functionCount = FunctionList.List.GetArmSensorList().Count; break; case ShowFunction.VideoIntercom: + if (FunctionList.List.videoIntercom != null && FunctionList.List.videoIntercom.Count > 0) + { + functionCount = 1; + } + break; + case ShowFunction.SecurityCenter: + functionCount = FunctionList.List.securities.Count; + //if (DB_ResidenceData.Instance.GatewayType == 1) + //{ + // functionCount = 1; + //} break; } - if (functionCount == 0 && item != ShowFunction.Music) + if(functionCount == 0) { continue; } + functionCategoryCount++; FrameLayout functionView = new FrameLayout() @@ -511,6 +770,55 @@ { s2View.AddChidren(functionView); } + functionContentViewHeight = functionView.Bottom; + + + Button btnName = new Button() + { + X = Application.GetRealWidth(16), + Y = Application.GetRealHeight(14), + Width = Application.GetRealWidth(140), + Height = Application.GetRealHeight(24), + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + TextAlignment = TextAlignment.CenterLeft, + IsMoreLines = true, + }; + functionView.AddChidren(btnName); + + if (item != ShowFunction.Environmental && item != ShowFunction.Sensor && item != ShowFunction.VideoIntercom + && item != ShowFunction.SecurityMonitoring && item != ShowFunction.FreshAir && item != ShowFunction.Music + && item != ShowFunction.EnergyMonitoring && item != ShowFunction.SecurityCenter + && functionCount != 0) + { + Button btnFunctionCount = new Button() + { + X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length), + Y = btnName.Bottom, + Width = Application.GetRealWidth(120), + Height = Application.GetRealHeight(24), + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextAlignment = TextAlignment.CenterLeft, + Text = "/" + functionCount, + }; + functionView.AddChidren(btnFunctionCount); + Button btnOpenCount = new Button() + { + X = Application.GetRealWidth(16), + Y = btnName.Bottom, + Width = Application.GetRealWidth(14 * functionCount.ToString().Length), + Height = Application.GetRealHeight(24), + TextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextAlignment = TextAlignment.CenterLeft, + Text = functionOnCount.ToString(), + Tag = item + "_onCount", + BorderWidth = 0, + }; + functionView.AddChidren(btnOpenCount); + } + Button btnFunctionViewBg; btnFunctionViewBg = new Button() @@ -520,26 +828,12 @@ }; functionView.AddChidren(btnFunctionViewBg); - Button btnName = new Button() - { - X = Application.GetRealWidth(16), - Y = Application.GetRealHeight(14), - Width = Application.GetRealWidth(120), - Height = Application.GetRealHeight(24), - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - TextAlignment = TextAlignment.CenterLeft, - }; - functionView.AddChidren(btnName); - - + int functionPageTitleId = 0; switch (item) { case ShowFunction.Light: #region Light btnName.TextID = StringId.Lights; - functionCount = DB_ResidenceData.functionList.lights.Count; - functionOnCount = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; Button btnLightPower = new Button() { X = Application.GetRealWidth(120), @@ -552,25 +846,18 @@ Tag = item + "_AllControl", }; functionView.AddChidren(btnLightPower); - + btnLightPower.MouseUpEventHandler = (sender, e) => { - LoadEvent_SwitchFunction(btnLightPower, item); + LoadEvent_SwitchFunction(btnLightPower, item, functionView); }; - btnFunctionViewBg.MouseUpEventHandler = (sender, e) => - { - var skipView = new FunctionPage(); - MainPage.BasePageView.AddChidren(skipView); - skipView.LoadPage(StringId.Lights); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; + functionPageTitleId = StringId.Lights; + #endregion break; case ShowFunction.AC: #region AC btnName.TextID = StringId.AC; - functionCount = DB_ResidenceData.functionList.aCs.Count; - functionOnCount = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; Button btnAcPower = new Button() { X = Application.GetRealWidth(120), @@ -585,22 +872,14 @@ functionView.AddChidren(btnAcPower); btnAcPower.MouseUpEventHandler = (sender, e) => { - LoadEvent_SwitchFunction(btnAcPower, item); + LoadEvent_SwitchFunction(btnAcPower, item, functionView); }; - btnFunctionViewBg.MouseUpEventHandler = (sender, e) => - { - var skipView = new FunctionPage(); - MainPage.BasePageView.AddChidren(skipView); - skipView.LoadPage(StringId.AC); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; + functionPageTitleId = StringId.AC; #endregion break; case ShowFunction.Curtain: #region Curtain btnName.TextID = StringId.Curtain; - functionCount = DB_ResidenceData.functionList.curtains.Count; - functionOnCount = DB_ResidenceData.functionList.curtains.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; Button btnClose; btnClose = new Button() { @@ -610,8 +889,7 @@ Height = Application.GetRealWidth(32), UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png", SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png", - Tag = item + "_AllControl", - IsSelected = functionOnCount > 0 + IsSelected = !DB_ResidenceData.Instance.GlobalCurtainStatus, }; functionView.AddChidren(btnClose); @@ -624,24 +902,17 @@ Height = Application.GetRealWidth(32), UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png", SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png", + IsSelected = DB_ResidenceData.Instance.GlobalCurtainStatus, }; functionView.AddChidren(btnOpen); - LoadEvent_CurtainSwitch(btnClose, btnOpen); + LoadEvent_CurtainSwitch(btnClose, btnOpen, functionView); - btnFunctionViewBg.MouseUpEventHandler = (sender, e) => - { - var skipView = new FunctionPage(); - MainPage.BasePageView.AddChidren(skipView); - skipView.LoadPage(StringId.Curtain); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; + functionPageTitleId = StringId.Curtain; #endregion break; case ShowFunction.FloorHeating: #region 鍦扮儹 btnName.TextID = StringId.FloorHeating; - functionCount = DB_ResidenceData.functionList.floorHeatings.Count; - functionOnCount = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; Button btnFhPower = new Button() { X = Application.GetRealWidth(120), @@ -656,15 +927,9 @@ functionView.AddChidren(btnFhPower); btnFhPower.MouseUpEventHandler = (sender, e) => { - LoadEvent_SwitchFunction(btnFhPower, item); + LoadEvent_SwitchFunction(btnFhPower, item, functionView); }; - btnFunctionViewBg.MouseUpEventHandler = (sender, e) => - { - var skipView = new FunctionPage(); - MainPage.BasePageView.AddChidren(skipView); - skipView.LoadPage(StringId.FloorHeating); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; + functionPageTitleId = StringId.FloorHeating; #endregion break; case ShowFunction.DoorLock: @@ -673,8 +938,6 @@ case ShowFunction.Electric: #region 鐢靛櫒 btnName.TextID = StringId.Electric; - functionCount = DB_ResidenceData.functionList.electricals.Count; - functionOnCount = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; Button btnElectricPower = new Button() { X = Application.GetRealWidth(120), @@ -689,26 +952,29 @@ functionView.AddChidren(btnElectricPower); btnElectricPower.MouseUpEventHandler = (sender, e) => { - LoadEvent_SwitchFunction(btnElectricPower, item); + LoadEvent_SwitchFunction(btnElectricPower, item, functionView); }; - btnFunctionViewBg.MouseUpEventHandler = (sender, e) => - { - var skipView = new FunctionPage(); - MainPage.BasePageView.AddChidren(skipView); - skipView.LoadPage(StringId.Electric); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; + functionPageTitleId = StringId.Electric; #endregion break; case ShowFunction.EnergyMonitoring: + #region 鑳芥簮鐩戞祴 btnName.TextID = StringId.EnergyMonitoring; + btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { + var skipView = new EnergyMainPage(); + MainPage.BasePageView.AddChidren(skipView); + skipView.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + #endregion break; case ShowFunction.Environmental: #region 鐜鏁版嵁 btnName.TextID = StringId.EnvironmentalData; btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { - var skipView = new EnvironmentalSciencePage(); + var skipView = new EnvironmentalPage();// EnvironmentalSciencePage(); + //var skipView = new A_EnvironmentalDataCenter();// EnvironmentalSciencePage(); MainPage.BasePageView.AddChidren(skipView); skipView.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; @@ -717,11 +983,30 @@ break; case ShowFunction.FreshAir: btnName.TextID = StringId.FreshAir; + #region Light + Button btnFreshAirPower = new Button() + { + X = Application.GetRealWidth(120), + Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + SelectedImagePath = "Public/PowerOpen.png", + UnSelectedImagePath = "Public/PowerClose.png", + IsSelected = functionOnCount > 0, + Tag = item + "_AllControl", + }; + functionView.AddChidren(btnFreshAirPower); + + btnFreshAirPower.MouseUpEventHandler = (sender, e) => + { + LoadEvent_SwitchFunction(btnFreshAirPower, item, functionView); + }; + functionPageTitleId = StringId.FreshAir; + + #endregion break; case ShowFunction.Music: btnName.TextID = StringId.Music; - functionCount = Music.A31MusicModel.A31MusicModelList.Count; - functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { var musicMain = new Music.MusicMain(); @@ -735,59 +1020,62 @@ break; case ShowFunction.SecurityMonitoring: btnName.TextID = StringId.SecurityMonitoring; + btnFunctionViewBg.MouseUpEventHandler = (sender, e) => + { + HDLCommon.Current.Go2EZvizMonitor(bodyView); + }; break; case ShowFunction.Sensor: btnName.TextID = StringId.Sensor; - + functionPageTitleId = StringId.Sensor; break; - case ShowFunction.VideoIntercom: + case ShowFunction.VideoIntercom://鍙瀵硅 btnName.TextID = StringId.VideoIntercom; + btnFunctionViewBg.MouseUpEventHandler = (sender, e) => + { + var videoMethod = new UI2.FuntionControlView.Video.VideoMethod(); + videoMethod.MianView(this); + }; + break; + case ShowFunction.SecurityCenter: + btnName.TextID = StringId.SecurityCenter; + btnFunctionViewBg.MouseUpEventHandler = (sender, e) => + { + var page = new ArmCenterPage(); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; break; } - if (item != ShowFunction.Environmental && functionCount != 0) + //鐣岄潰璺宠浆--闊充箰璺宠浆鑷繁鐨勭晫闈�--鐜璺宠浆鑷繁鐨勭晫闈� + if (item != ShowFunction.Music && item != ShowFunction.Environmental && item != ShowFunction.SecurityMonitoring + && ShowFunction.EnergyMonitoring!= item && ShowFunction.VideoIntercom != item && ShowFunction.SecurityCenter != item) { - Button btnFunctionCount = new Button() + btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { - X = Application.GetRealWidth(16)+ Application.GetRealWidth(7 * functionCount.ToString().Length), - Y = btnName.Bottom, - Width = Application.GetRealWidth(120), - Height = Application.GetRealHeight(24), - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextAlignment = TextAlignment.CenterLeft, - Text = "/" + functionCount, + var skipView = new FunctionPage(); + MainPage.BasePageView.AddChidren(skipView); + skipView.LoadPage(functionPageTitleId); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; - functionView.AddChidren(btnFunctionCount); - Button btnOpenCount = new Button() - { - X = Application.GetRealWidth(16), - Y = btnName.Bottom, - Width = Application.GetRealWidth(12 * functionCount.ToString().Length), - Height = Application.GetRealHeight(24), - TextColor = CSS_Color.MainColor, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextAlignment = TextAlignment.CenterLeft, - Text = functionOnCount.ToString(), - Tag = item + "_onCount", - BorderWidth = 0, - }; - functionView.AddChidren(btnOpenCount); } index++; } - if (functionCategoryCount> 4) + //if (functionCategoryCount > 4) { - functionContentView.Height += Application.GetRealHeight((220 * (functionCategoryCount - 4 - 2) / 2) + 20); + //functionContentView.Height = functionContentViewHeight;// Application.GetRealWidth((240 * (functionCategoryCount / 2))); + s1View.Height = s2View.Height = functionContentView.Height = functionContentViewHeight+ Application.GetRealWidth(40); } - #endregion +#endregion } #region 鍒囨崲妤煎眰 /// <summary> - /// 浣忓畢鍒楄〃鐐瑰嚮浜嬩欢 + /// 妤煎眰鏄剧ず鍒囨崲 /// </summary> void LoadDialog_ChangeFloor() { @@ -821,10 +1109,10 @@ }; dispalyView.AddChidren(contentView); - if (DB_ResidenceData.residenceData.floors.Count < 2) + if (SpatialInfo.CurrentSpatial.FloorList.Count < 2) { } - else if (DB_ResidenceData.residenceData.floors.Count < 3) + else if (SpatialInfo.CurrentSpatial.FloorList.Count < 3) { dispalyView = new FrameLayout() { @@ -839,7 +1127,7 @@ contentView.Height = Application.GetRealHeight(45 * 3); dispalyView.AddChidren(contentView); } - else if (DB_ResidenceData.residenceData.floors.Count < 4) + else if (SpatialInfo.CurrentSpatial.FloorList.Count < 4) { dispalyView = new FrameLayout() { @@ -872,23 +1160,24 @@ } - List<string> chooseList = new List<string>(); - chooseList.Add(Language.StringByID(StringId.All)); - foreach (var f in DB_ResidenceData.residenceData.floors) + List<SpatialInfo> chooseList = new List<SpatialInfo>(); + chooseList.Add(new SpatialInfo() { roomId = "", roomName = Language.StringByID(StringId.All) }); + foreach (var f in SpatialInfo.CurrentSpatial.FloorList) { - chooseList.Add(f.name); + chooseList.Add(f); } foreach (var floor in chooseList) { - if (floor != Language.StringByID(StringId.All)) + if (!string.IsNullOrEmpty( floor.roomId))// != Language.StringByID(StringId.All)) { + //---鍒嗗壊绾� contentView.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(112), Height = Application.GetRealHeight(1), - BackgroundColor = CSS.CSS_Color.BackgroundColor + BackgroundColor = CSS_Color.BackgroundColor }); } var btnHomeName = new Button() @@ -897,30 +1186,30 @@ Width = Application.GetRealWidth(112), Height = Application.GetRealHeight(44), TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS.CSS_Color.FirstLevelTitleColor, - SelectedTextColor = CSS.CSS_Color.MainColor, - Text = floor, - TextSize = CSS.CSS_FontSize.SubheadingFontSize, - IsSelected = btnFloor.Text == floor, - IsMoreLines = true, - Tag = floor + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainColor, + Text = floor.roomName, + TextSize = CSS_FontSize.SubheadingFontSize, + IsSelected = floor.roomId == DB_ResidenceData.Instance.ClassificationChooseFloor.roomId, + //IsMoreLines = true, }; contentView.AddChidren(btnHomeName); btnHomeName.MouseUpEventHandler += (senderH, en) => { dialog.Close(); - btnFloor.Text = floor; + btnFloor.Text = floor.roomName; + DB_ResidenceData.Instance.ClassificationChooseFloor = floor; roomsShowed.Clear(); - if (floor == Language.StringByID(StringId.All)) + if (string.IsNullOrEmpty(floor.roomId)) { - roomsShowed.AddRange(DB_ResidenceData.rooms); + roomsShowed.AddRange(SpatialInfo.CurrentSpatial.RoomList); } else { - foreach (var room in DB_ResidenceData.rooms) + foreach (var room in SpatialInfo.CurrentSpatial.RoomList) { - if (room.floorName == floor) + if (room.parentId == floor.uid) { roomsShowed.Add(room); } @@ -943,4 +1232,4 @@ } #endregion } -} +} \ No newline at end of file -- Gitblit v1.8.0