From 7167334c0e89dd84827d59e726123d14776e3a09 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 16 六月 2020 11:14:13 +0800 Subject: [PATCH] 2020-06-16-1 --- HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 229 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 169 insertions(+), 60 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs index e0eb990..88c5772 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs @@ -11,7 +11,7 @@ { #region 鎺т欢鍒楄〃 - FrameLayout bodyView; + static ClassificationPage bodyView; #region 椤堕儴鎺т欢 /// <summary> /// 鎴块棿鍒嗛〉 @@ -40,11 +40,11 @@ /// <summary> /// 妤煎眰閫夋嫨涓嬫媺鍥炬爣 /// </summary> - Button btnFoorDownIcon; + Button btnFloorDownIcon; /// <summary> /// 妤煎眰鏄剧ず /// </summary> - Button btnFoor; + Button btnFloor; /// <summary> /// 鏄剧ず鏂瑰紡鍒囨崲鎸夐挳 /// </summary> @@ -54,10 +54,6 @@ /// 鎴块棿鍒楄〃鍖哄煙 /// </summary> VerticalScrolViewLayout roomListView; - /// <summary> - /// 鎴块棿鍖哄煙闆嗗悎 - /// </summary> - List<FrameLayout> roomViewList; #endregion #region 鍔熻兘鍖哄煙 @@ -68,9 +64,14 @@ #endregion + + List<Room> roomsShowed; + public ClassificationPage() { bodyView = this; + roomsShowed = new List<Room>(); + roomsShowed.AddRange(DB_ResidenceData.residenceData.rooms); } public void LoadPage() @@ -155,7 +156,7 @@ /// <summary> /// 妤煎眰閫夋嫨涓嬫媺鍥炬爣 /// </summary> - btnFoorDownIcon = new Button() + btnFloorDownIcon = new Button() { Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), @@ -163,22 +164,22 @@ Y = Application.GetRealHeight(18), UnSelectedImagePath = "Public/DownIcon.png", }; - roomFloorChangeView.AddChidren(btnFoorDownIcon); + roomFloorChangeView.AddChidren(btnFloorDownIcon); /// <summary> /// 妤煎眰鏄剧ず /// </summary> - btnFoor = new Button() + btnFloor = new Button() { - X = btnFoorDownIcon.Right, + X = btnFloorDownIcon.Right, Y = Application.GetRealHeight(18), Width = Application.GetRealWidth(200), Height = Application.GetMinRealAverage(16), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, - Text = UserConfig.Instance.CurFoor, + Text = OnAppConfig.Instance.CurFoor, }; - roomFloorChangeView.AddChidren(btnFoor); + roomFloorChangeView.AddChidren(btnFloor); /// <summary> /// 鏄剧ず鏂瑰紡鍒囨崲鎸夐挳 /// </summary> @@ -194,7 +195,6 @@ roomFloorChangeView.AddChidren(btnSwitchDipaly); #endregion - /// <summary> /// 鎴块棿鍒楄〃鍖哄煙 /// </summary> @@ -205,12 +205,20 @@ BackgroundColor = CSS_Color.MainBackgroundColor, }; roomPageView.AddChidren(roomListView); - /// <summary> - /// 鎴块棿鍖哄煙闆嗗悎 - /// </summary> - roomViewList = new List<FrameLayout>(); + LoadRoomRows(); + roomListView.AddChidren(new Button() { Height = Application.GetRealHeight(20) });//澶珮瑙嗗浘锛屽皢瀵艰埅浜嗛伄鎸$殑閮ㄥ垎瀹屾暣鏄剧ず + #endregion - foreach (var room in DB_ResidenceData.residenceData.rooms) + LoadDialog_ChangeFloor(); + } + + /// <summary> + /// 鍔犺浇鎴块棿鍒楄〃鍖哄煙 + /// </summary> + void LoadRoomRows () + { + roomListView.RemoveAll(); + foreach (var room in roomsShowed) { var roomView = new FrameLayout() { @@ -220,6 +228,7 @@ Radius = (uint)Application.GetRealHeight(12), BorderColor = 0x00000000, BorderWidth = 1, + Tag = room.sid, }; roomListView.AddChidren(roomView); @@ -248,7 +257,6 @@ }; roomView.AddChidren(btnFloorAndRoomName); - #region 鐜鏁版嵁 var environmentalView = new FrameLayout() { @@ -264,7 +272,7 @@ Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), - UnSelectedImagePath = "Public/InfoIcon/TempIcon.png", + UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png", }; environmentalView.AddChidren(btnTempIcon); @@ -287,7 +295,7 @@ Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), - UnSelectedImagePath = "Public/InfoIcon/HumidityIcon.png", + UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png", }; environmentalView.AddChidren(btnHumidityIcon); @@ -310,7 +318,7 @@ Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), - UnSelectedImagePath = "Public/InfoIcon/Pm25Icon.png", + UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png", }; environmentalView.AddChidren(btnPm25Icon); @@ -335,22 +343,18 @@ Y = Application.GetRealHeight(126), Width = Application.GetMinRealAverage(58), Height = Application.GetMinRealAverage(58), - UnSelectedImagePath = "", - SelectedImagePath = "Classification/Room/AllCloseIcon.png", + UnSelectedImagePath = "Classification/Room/AllCloseIcon.png", + Tag = "AllClose", + Visible = false }; roomView.AddChidren(btnAllClose); -#if DEBUG - btnAllClose.IsSelected = true; -#endif + LoadEvent_CloseAllFunction(btnAllClose, room); var btn = new Button() { Height = Application.GetRealHeight(20), }; roomListView.AddChidren(btn); - - - roomViewList.Add(roomView); roomViewbgColor.MouseUpEventHandler += (sender, e) => { var view = new RoomPage(room); @@ -360,10 +364,6 @@ }; } - - roomListView.AddChidren(new Button() { Height = Application.GetRealHeight(20) });//澶珮瑙嗗浘锛屽皢瀵艰埅浜嗛伄鎸$殑閮ㄥ垎瀹屾暣鏄剧ず - #endregion - } /// <summary> @@ -419,6 +419,7 @@ Height = Application.GetRealWidth(161), Radius = (uint)Application.GetRealHeight(6), BackgroundColor = CSS_Color.MainBackgroundColor, + Tag = item + "_View", Y = index % 2 == 1 ? lastY2 : lastY1 }; //楂樺害绋嶉珮鐨剉iew @@ -466,12 +467,14 @@ int functionCount = 0; + int functionOnCount = 0; switch (item) { - case "Light": + case ShowFunction.Light: #region Light btnName.TextID = StringId.Lights; functionCount = DB_ResidenceData.residenceData.functionList.lights.Count; + functionOnCount = DB_ResidenceData.residenceData.functionList.lights.FindAll((obj) => obj.on_off == "on" ).Count; Button btnLightPower = new Button() { X = Application.GetRealWidth(120), @@ -480,10 +483,11 @@ Height = Application.GetRealWidth(32), SelectedImagePath = "Public/PowerOpen.png", UnSelectedImagePath = "Public/PowerClose.png", + IsSelected = functionCount == functionOnCount }; functionView.AddChidren(btnLightPower); btnLightPower.MouseUpEventHandler = (sender, e) => { - LoadEvent_LightsPower(btnLightPower); + LoadEvent_SwitchFunction(btnLightPower,item); }; btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { var skipView = new FunctionPage(); @@ -493,10 +497,11 @@ }; #endregion break; - case "AC": + case ShowFunction.AC: #region AC btnName.TextID = StringId.AC; functionCount = DB_ResidenceData.residenceData.functionList.aCs.Count; + functionOnCount = DB_ResidenceData.residenceData.functionList.aCs.FindAll((obj) => obj.on_off == "on" ).Count; Button btnAcPower = new Button() { X = Application.GetRealWidth(120), @@ -505,10 +510,11 @@ Height = Application.GetRealWidth(32), SelectedImagePath = "Public/PowerOpen.png", UnSelectedImagePath = "Public/PowerClose.png", + IsSelected = functionCount == functionOnCount }; functionView.AddChidren(btnAcPower); btnAcPower.MouseUpEventHandler = (sender, e) => { - LoadEvent_LightsPower(btnAcPower); + LoadEvent_SwitchFunction(btnAcPower, item); }; btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { var skipView = new FunctionPage(); @@ -518,11 +524,11 @@ }; #endregion break; - case "Curtain": + case ShowFunction.Curtain: #region Curtain btnName.TextID = StringId.Curtain; functionCount = DB_ResidenceData.residenceData.functionList.curtains.Count; - + functionOnCount = DB_ResidenceData.residenceData.functionList.curtains.FindAll((obj) => obj.on_off == "on").Count; Button btnClose; btnClose = new Button() { @@ -532,6 +538,7 @@ Height = Application.GetRealWidth(32), UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png", SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png", + IsSelected = functionCount == functionOnCount }; functionView.AddChidren(btnClose); @@ -556,37 +563,45 @@ }; #endregion break; - case "FloorHeating": + case ShowFunction.FloorHeating: btnName.TextID = StringId.FloorHeating; break; - case "DoorLock": + case ShowFunction.DoorLock: btnName.TextID = StringId.DoorLock; break; - case "Electric": + case ShowFunction.Electric: btnName.TextID = StringId.Electric; break; - case "EnergyMonitoring": + case ShowFunction.EnergyMonitoring: btnName.TextID = StringId.EnergyMonitoring; break; - case "Environmental": + case ShowFunction.Environmental: btnName.TextID = StringId.Environmental; break; - case "FreshAir": + case ShowFunction.FreshAir: btnName.TextID = StringId.FreshAir; break; - case "Music": + case ShowFunction.Music: btnName.TextID = StringId.Music; + btnFunctionViewBg.MouseUpEventHandler = (sender, e) => + { + var musicMain = new HDL_ON.UI.Music.MusicMain(); + MainPage.BasePageView.AddChidren(musicMain); + musicMain.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + break; - case "Panel": + case ShowFunction.Panel: btnName.TextID = StringId.Panel; break; - case "SecurityMonitoring": + case ShowFunction.SecurityMonitoring: btnName.TextID = StringId.SecurityMonitoring; break; - case "Sensor": + case ShowFunction.Sensor: btnName.TextID = StringId.Sensor; break; - case "VideoIntercom": + case ShowFunction.VideoIntercom: btnName.TextID = StringId.VideoIntercom; break; @@ -601,20 +616,114 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, TextAlignment = TextAlignment.CenterLeft, - Text = "0/" + functionCount.ToString() + Text = functionOnCount + "/" + functionCount, + Tag = item + "_onCount" }; functionView.AddChidren(btnFunctionCount); - - - - index++; } - - - #endregion + } + + #region 鍒囨崲妤煎眰 + /// <summary> + /// 浣忓畢鍒楄〃鐐瑰嚮浜嬩欢 + /// </summary> + void LoadDialog_ChangeFloor() + { + EventHandler<MouseEventArgs> eventHandler = (sender, e) => { + var dialog = new Dialog(); + var dialogBody = new FrameLayout(); + dialog.AddChidren(dialogBody); + dialogBody.MouseUpEventHandler += (sender1, e1) => { + dialog.Close(); + }; + + var dispalyView = new FrameLayout() + { + X = Application.GetRealWidth(10), + Y = Application.GetRealHeight(100), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(203), + BackgroundImagePath = "PersonalCenter/HomeListbg.png", + }; + dialogBody.AddChidren(dispalyView); + + var contentView = new VerticalScrolViewLayout() + { + X = Application.GetRealWidth(8), + Y = Application.GetRealHeight(15), + Width = Application.GetRealWidth(150), + Height = Application.GetRealHeight(45 * 4), + }; + dispalyView.AddChidren(contentView); + + List<string> chooseList = new List<string>(); + chooseList.Add(Language.StringByID(StringId.All)); + chooseList.AddRange(DB_ResidenceData.residenceData.floors); + + foreach (var floor in chooseList) + { + if (floor != Language.StringByID(StringId.All)) + { + contentView.AddChidren(new Button() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS.CSS_Color.BackgroundColor + }); + } + var btnHomeName = new Button() + { + Gravity = Gravity.CenterHorizontal, + 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 + }; + contentView.AddChidren(btnHomeName); + + btnHomeName.MouseUpEventHandler += (senderH, en) => + { + dialog.Close(); + btnFloor.Text = floor; + roomsShowed.Clear(); + if (floor == Language.StringByID(StringId.All)) + { + roomsShowed.AddRange(DB_ResidenceData.residenceData.rooms); + } + else + { + foreach (var room in DB_ResidenceData.residenceData.rooms) + { + if (room.floor == floor) + { + roomsShowed.Add(room); + } + } + } + LoadRoomRows(); + }; + } + + dialog.Show(); + }; + + btnFloor.MouseUpEventHandler = eventHandler; + btnFloorDownIcon.MouseUpEventHandler = eventHandler; + } + + void LoadEvent_ChangeFloorDisplay() + { } + #endregion } } -- Gitblit v1.8.0