From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 14:16:20 +0800 Subject: [PATCH] 增加本地发送的重发机制 --- HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs | 267 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 203 insertions(+), 64 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs index fbdf049..6aa31b3 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs @@ -1,9 +1,10 @@ 锘縰sing System; +using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; -namespace HDL_ON.UI +namespace HDL_ON.UI { public partial class IntelligencePage : FrameLayout { @@ -12,13 +13,17 @@ /// 鍦烘櫙/鑷姩鍖栧垎椤靛尯鍩� /// </summary> PageLayout contentPageView; + Button btnAutomationTitle; #region 鍦烘櫙鍖哄煙 FrameLayout scenePageView; /// <summary> /// 鍦烘櫙鍐呭鏄剧ず鍖哄煙 /// </summary> FrameLayout floorChangeView; + Button btnSceneTilte; + #region 鍦烘櫙搴曢儴鍒囨崲鏄剧ず鍖哄煙 + FrameLayout topView; /// <summary> /// 鍦烘櫙鍖哄煙锛岄《閮ㄥ尯鍩� /// </summary> @@ -42,7 +47,12 @@ /// </summary> VerticalScrolViewLayout sceneFunctionView; #endregion - + #region 鑷姩鍖栧尯鍩� + /// <summary> + /// 鑷姩鍖栧唴瀹规樉绀哄尯鍩� + /// </summary> + FrameLayout automationPage; + #endregion public IntelligencePage() { bodyView = this; @@ -52,48 +62,76 @@ { bodyView.BackgroundColor = CSS_Color.MainBackgroundColor; #region top - FrameLayout topView = new FrameLayout() + topView = new FrameLayout() { Height = Application.GetRealHeight(64), BackgroundColor = CSS_Color.TopViewColor, }; bodyView.AddChidren(topView); - Button btnSceneTilte = new Button() + if (DB_ResidenceData.Instance.GatewayType == 0 || DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) { - Y = Application.GetRealHeight(30), - Width = Application.GetRealWidth(170), - Height = Application.GetRealHeight(25), - TextAlignment = TextAlignment.CenterRight, - TextSize = CSS_FontSize.HeadlineFontSize, - TextColor = CSS_Color.PromptingColor1, - SelectedTextColor = CSS_Color.MainColor, - TextID = StringId.Scenes, - IsSelected = true - }; - topView.AddChidren(btnSceneTilte); - - Button btnAutomationTitle = new Button() + btnSceneTilte = new Button() + { + Y = Application.GetRealHeight(30), + //Width = Application.GetRealWidth(170), + Height = Application.GetRealHeight(25), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.HeadlineFontSize, + TextColor = CSS_Color.PromptingColor1, + SelectedTextColor = CSS_Color.MainColor, + TextID = StringId.Scenes, + IsSelected = true + }; + topView.AddChidren(btnSceneTilte); + btnAutomationTitle = new Button(); + } + else { - X = Application.GetRealWidth(209), - Y = Application.GetRealHeight(30), - Width = Application.GetRealWidth(170), - Height = Application.GetRealHeight(25), - TextAlignment = TextAlignment.CenterLeft, - TextSize = CSS_FontSize.TextFontSize, - TextColor = CSS_Color.PromptingColor1, - SelectedTextColor = CSS_Color.MainColor, - TextID = StringId.Automation, - }; - topView.AddChidren(btnAutomationTitle); - btnAddIcon = new Button() + btnSceneTilte = new Button() + { + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(170), + Height = Application.GetRealHeight(25), + TextAlignment = TextAlignment.CenterRight, + TextSize = CSS_FontSize.HeadlineFontSize, + TextColor = CSS_Color.PromptingColor1, + SelectedTextColor = CSS_Color.MainColor, + TextID = StringId.Scenes, + IsSelected = true + }; + topView.AddChidren(btnSceneTilte); + + btnAutomationTitle = new Button() + { + X = Application.GetRealWidth(209), + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(170), + Height = Application.GetRealHeight(25), + TextAlignment = TextAlignment.CenterLeft, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.PromptingColor1, + SelectedTextColor = CSS_Color.MainColor, + TextID = StringId.Automation, + }; + topView.AddChidren(btnAutomationTitle); + } + var btnAddIconBg = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(28), Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/AddIcon.png", + }; + topView.AddChidren(btnAddIconBg); + + btnAddIcon = new Button() + { + X = Application.GetRealWidth(337-20), + Width = Application.GetMinRealAverage(28+30), + Height = Application.GetMinRealAverage(28+29), }; topView.AddChidren(btnAddIcon); #endregion @@ -108,9 +146,11 @@ bodyView.AddChidren(contentPageView); LoadScenePageView(); - //LoadFunctionPageView(); + LoadAutomationPageView(); LoadEventList(); + } + #region 鍦烘櫙閮ㄥ垎 /// <summary> /// 鍔犺浇鍦烘櫙鍒楄〃鐣岄潰 /// </summary> @@ -159,13 +199,14 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, - Text = OnAppConfig.Instance.CurFoor, + Text = DB_ResidenceData.Instance.CurFloor.roomName, }; floorChangeView.AddChidren(btnFloor); #endregion - sceneFunctionView = new VerticalScrolViewLayout() { + sceneFunctionView = new VerticalScrolViewLayout() + { Y = floorChangeView.Bottom, Height = Application.GetRealHeight(667 - 64 - 49 - 52 + 30), }; @@ -178,18 +219,20 @@ /// </summary> void LoadSceneFunctionControlZone() { + //topView.AddChidren(btnAddIcon); + sceneFunctionView.RemoveAll(); var rowView = new FrameLayout(); try { int index = 0; - foreach (var function in DB_ResidenceData.functionList.scenes) + foreach (var scene in FunctionList.List.scenes) { - if (function.roomIdList.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず - { - function.collection = false; - continue; - } + //if (scene.roomIds.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず + //{ + // scene.collect = false; + // continue; + //} if (index % 2 == 0) { sceneFunctionView.AddChidren(new Button() { Height = Application.GetRealHeight(7) }); @@ -207,12 +250,14 @@ X = functionView_X, Width = Application.GetRealWidth(164), Height = Application.GetRealWidth(122), - Tag = function.sid, - BackgroundImagePath = (function as Scene).ImagePath, + Tag = scene.sid, + //BackgroundImagePath = (scene as Scene).ImagePath, }; rowView.AddChidren(functionView); + //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 + ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, functionView); - LoadSceneFunctionDiv(functionView, function); + LoadSceneFunctionDiv(functionView, scene); index++; } @@ -254,7 +299,7 @@ /// <summary> /// 鍔犺浇鍦烘櫙鎺у埗鍗$墖 /// </summary> - void LoadSceneFunctionDiv(FrameLayout view, Function function) + void LoadSceneFunctionDiv(FrameLayout view, Scene scene) { try { @@ -271,7 +316,7 @@ Y = Application.GetRealWidth(68), Width = Application.GetRealWidth(150), Height = Application.GetRealHeight(24), - Text = function.name, + Text = scene.name, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.MainBackgroundColor, TextAlignment = TextAlignment.CenterLeft, @@ -289,22 +334,20 @@ TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, TextAlignment = TextAlignment.CenterLeft, SelectedTextColor = CSS_Color.MainBackgroundColor, - Text = function.GetRoomListName(), + Text = scene.GetRoomListName(), }; view.AddChidren(btnZone); - - Button btnDelayIcon; - btnDelayIcon = new Button() + Button btnSettingIcon; + btnSettingIcon = new Button() { X = Application.GetRealWidth(4), Y = Application.GetRealWidth(4), Height = Application.GetRealWidth(32), Width = Application.GetRealWidth(32), UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png", - //UnSelectedImagePath = "FunctionIcon/Scene/DelayIcon.png" }; - view.AddChidren(btnDelayIcon); + view.AddChidren(btnSettingIcon); Button btnCollection; btnCollection = new Button() @@ -315,22 +358,50 @@ Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "Collection/CollectionWhiteIcon.png", SelectedImagePath = "Collection/CollectionIcon.png", - IsSelected = function.collection, + IsSelected = scene.collect, }; view.AddChidren(btnCollection); btnCollection.MouseUpEventHandler = (sender, e) => { - function.collection = btnCollection.IsSelected = !btnCollection.IsSelected; - function.SaveFunctionData(); + scene.collect = btnCollection.IsSelected = !btnCollection.IsSelected; + scene.CollectScene(); }; - LoadEvent_ControlScene(btnCoverd,btnName,btnZone, function); - + LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene); + btnSettingIcon.MouseUpEventHandler = (sender, e) => { + Action backAction = () => { + LoadSceneFunctionControlZone(); + }; + Action refreshAction = () => { + btnName.Text = scene.name; + btnZone.Text = scene.GetRoomListName(); + //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 + ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, view); + }; + var aep = new SceneEditPage(scene, backAction); + MainPage.BasePageView.AddChidren(aep); + aep.LoadPage(refreshAction); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; } catch (Exception ex) { MainPage.Log("homepage LoadControlView error : " + ex.Message); } } + #endregion + #region 鑷姩鍖栭儴鍒� + /// <summary> + /// 鍔犺浇鑷姩鍖栧垪琛ㄧ晫闈� + /// </summary> + void LoadAutomationPageView() + { + //btnAddIcon.RemoveFromParent(); + automationPage = new FrameLayout(); + contentPageView.AddChidren(automationPage); + UI2.Intelligence.Automation.MainView.automationPage = automationPage; + UI2.Intelligence.Automation.MainView.MainShow(); + } + #endregion } @@ -340,7 +411,65 @@ void LoadEventList() { LoadEvent_SkipAddScenePage(); + LoadEvent_ShowedChange(); } + + #region 椤堕儴瀵艰埅鏍忎簨浠� + /// <summary> + /// 鏄剧ず鐣岄潰鍒囨崲 + /// </summary> + void LoadEvent_ShowedChange() + { + contentPageView.PageChange = (sender, e) => + { + if (contentPageView.PageIndex == 0) + { + btnSceneTilte.IsSelected = true; + btnSceneTilte.TextSize = CSS_FontSize.HeadlineFontSize; + btnSceneTilte.IsBold = true; + btnAutomationTitle.IsSelected = false; + btnAutomationTitle.TextSize = CSS_FontSize.TextFontSize; + btnAutomationTitle.IsBold = false; + } + else + { + btnAutomationTitle.IsSelected = true; + btnAutomationTitle.TextSize = CSS_FontSize.HeadlineFontSize; + btnAutomationTitle.IsBold = true; + btnSceneTilte.IsSelected = false; + btnSceneTilte.TextSize = CSS_FontSize.TextFontSize; + btnSceneTilte.IsBold = false; + } + }; + + btnSceneTilte.MouseUpEventHandler = (sender, e) => + { + if (btnSceneTilte.IsSelected) + { + return; + } + btnSceneTilte.IsSelected = true; + btnSceneTilte.TextSize = CSS_FontSize.HeadlineFontSize; + btnAutomationTitle.IsSelected = false; + btnAutomationTitle.TextSize = CSS_FontSize.TextFontSize; + contentPageView.PageIndex = 0; + }; + //閫昏緫鐐瑰嚮浜嬩欢 + btnAutomationTitle.MouseUpEventHandler = (sender, e) => { + if (btnAutomationTitle.IsSelected) + { + return; + } + btnAutomationTitle.IsSelected = true; + btnAutomationTitle.TextSize = CSS_FontSize.HeadlineFontSize; + btnSceneTilte.IsSelected = false; + btnSceneTilte.TextSize = CSS_FontSize.TextFontSize; + contentPageView.PageIndex = 1; + + }; + } + #endregion + /// <summary> /// 璺宠浆鑷虫坊鍔犲満鏅殑鐣岄潰 /// </summary> @@ -348,13 +477,22 @@ { btnAddIcon.MouseUpEventHandler = (sender, e) => { - Action action = () => { - LoadSceneFunctionControlZone(); - }; - var aep = new NewSceneMenuListPage(action); - MainPage.BasePageView.AddChidren(aep); - aep.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + if (!btnAutomationTitle.IsSelected) + { + Action action = () => + { + LoadSceneFunctionControlZone(); + }; + var aep = new NewSceneMenuListPage(action); + MainPage.BasePageView.AddChidren(aep); + aep.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + else + { + //璺宠浆鍒伴�昏緫鐣岄潰 + UI2.Intelligence.Automation.MainView.SkipAddLogicPage(); + } }; } @@ -362,19 +500,20 @@ /// <summary> /// 鍔犺浇鍦烘櫙鎺у埗浜嬩欢 /// </summary> - void LoadEvent_ControlScene(Button btnCoverd, Button btnName, Button btnZone, Function function) + void LoadEvent_ControlScene(Button btnCoverd, Button btnName, Button btnZone, Scene scene) { EventHandler<MouseEventArgs> eventHandler = (sender, e) => { - string msg = function.name + Language.StringByID(StringId.AlreadyOpened); + string msg = scene.name + Language.StringByID(StringId.AlreadyOpened); new PublicAssmebly().TipMsgAutoClose(msg, true); - Control.Send(function as Scene); + Control.Ins.ControlScene(scene); }; btnCoverd.MouseUpEventHandler = eventHandler; btnName.MouseUpEventHandler = eventHandler; btnZone.MouseUpEventHandler = eventHandler; } + } } -- Gitblit v1.8.0