From e1a8f2f7e4d850beedeb1469610b878c1427e976 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 15 十二月 2021 09:01:53 +0800 Subject: [PATCH] 更新 --- HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs | 129 +++++++++++++++++++++++++++--------------- 1 files changed, 83 insertions(+), 46 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs index 46137ff..6795a57 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs @@ -81,7 +81,7 @@ /// </summary> Action refreshFunctionRowAction; /// <summary> - /// 鍥炴帀鏇存柊 + /// 鍥炶皟鏇存柊 /// </summary> Action backAction; public SceneAddPage(Scene s, Action act) @@ -105,6 +105,7 @@ { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(603 - 50), + //BackgroundColor = CSS_Color.DividingLineColor, }; bodyView.AddChidren(contentView); contentView.AddChidren(new Button() { Height = Application.GetRealWidth(12) }); @@ -113,7 +114,7 @@ { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(252), - Height = Application.GetRealWidth(188 + 24), + Height = Application.GetRealWidth(184), Radius = (uint)Application.GetRealWidth(12), BackgroundColor = CSS_Color.MainBackgroundColor, }; @@ -255,7 +256,7 @@ TextAlignment = TextAlignment.CenterRight, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - Text = FunctionList.List.GetDelayText(scene.delay.ToString()) + Text = scene.GetDelayText() }; sceneDelayRow.AddChidren(btnSceneDelayInfo); @@ -270,14 +271,20 @@ }; sceneDelayRow.AddChidren(btnSceneDelayTitle); - btnSceneDelayTitle.MouseUpEventHandler = (sender, e) => { Action<string> action = (obj) => { scene.delay = obj; - btnSceneDelayInfo.Text = FunctionList.List.GetDelayText(obj); + btnSceneDelayInfo.Text = scene.GetDelayText(); }; - new PublicAssmebly().SetSceneDelayDialog(action ,scene.delay); + Dictionary<string, string> items = new Dictionary<string, string>(); + items.Add("30", "30s"); + items.Add("60", "1min"); + items.Add("120", "2min"); + items.Add("300", "5min"); + new PublicAssmebly().SetSceneDelayDialog( action ,scene.delay); + + }; contentView.AddChidren(new Button() @@ -319,27 +326,28 @@ functionListView = new VerticalScrolViewLayout() { - Height = 0, + Height = Application.GetRealHeight(228+48), + BackgroundColor = CSS_Color.DividingLineColor, + ScrollEnabled = false, }; contentView.AddChidren(functionListView); LoadFunctionRow(functionListView); - Button btnLine1 = new Button() - { - //Y = sceneDelayRow.Bottom, - Height = Application.GetRealHeight(8), - BackgroundColor = CSS_Color.DividingLineColor, - }; - contentView.AddChidren(btnLine1); + //Button btnLine1 = new Button() + //{ + // //Y = sceneDelayRow.Bottom, + // Height = Application.GetRealHeight(8), + //}; + //contentView.AddChidren(btnLine1); - Button btnLine2 = new Button() - { - //Y = sceneDelayRow.Bottom, - Height = Application.GetRealHeight(228), - BackgroundColor = CSS_Color.DividingLineColor, - }; - contentView.AddChidren(btnLine2); + //Button btnLine2 = new Button() + //{ + // //Y = sceneDelayRow.Bottom, + // Height = Application.GetRealHeight(228), + // BackgroundColor = CSS_Color.DividingLineColor, + //}; + //contentView.AddChidren(btnLine2); #endregion Button btnBottomLine = new Button() @@ -365,13 +373,18 @@ LoadEventList(); } + + /// <summary> /// 鍔犺浇鍔熻兘鍒楄〃 /// </summary> void LoadFunctionRow(VerticalScrolViewLayout functionListView) { functionListView.RemoveAll(); - functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count); + if (scene.functions.Count > 4) + { + functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count); + } foreach (var scenefunction in scene.functions) { var row = new RowLayout() @@ -423,7 +436,7 @@ if (Convert.ToInt32(scenefunction.delay) > 0) { - btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + FunctionList.List.GetDelayText(scenefunction.delay); + btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + new Scene() { delay = scenefunction.delay }.GetDelayText(); } else { @@ -453,20 +466,16 @@ }; row.AddChidren(btnFunctionFloorAndRoom); - btnFunctionName.MouseUpEventHandler = (sender, e) => + EventHandler<MouseEventArgs> skipEvent= (sender, e) => { var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction); MainPage.BasePageView.AddChidren(ssf); ssf.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; - btnFunctionFloorAndRoom.MouseUpEventHandler = (sender, e) => - { - var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction); - MainPage.BasePageView.AddChidren(ssf); - ssf.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; + + btnFunctionName.MouseUpEventHandler = skipEvent; + btnFunctionFloorAndRoom.MouseUpEventHandler = skipEvent; Button btnDelSceneFunction = new Button() { @@ -478,7 +487,10 @@ btnDelSceneFunction.MouseUpEventHandler = (sender, e) => { scene.functions.Remove(scenefunction); row.RemoveFromParent(); - functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count); + if (scene.functions.Count > 4) + { + functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count); + } }; } } @@ -506,16 +518,16 @@ var fanState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed); if (modeState != null) { - sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value); + sceneFunctionInfo += modeState.GetValueText(); } if (tempState != null) { - sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value); - sceneFunctionInfo += FunctionList.List.GetUintString(tempState.key); + sceneFunctionInfo += tempState.GetValueText(); + sceneFunctionInfo += tempState.GetUintString(); } if (fanState != null) { - sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value); + sceneFunctionInfo += fanState.GetValueText(); } var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); if (briState != null) @@ -800,6 +812,7 @@ } /// <summary> + /// 鍒涘缓鍦烘櫙 /// 瀹屾垚鎸夐挳鐐瑰嚮浜嬩欢 /// </summary> void LoadEvent_CompleteEvent() @@ -824,17 +837,41 @@ return; } } - var result = FunctionList.List.AddScene(scene,out scene); - if (result == StateCode.SUCCESS) + var waitPage = new Loading(); + MainPage.BaseView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + new Thread(() => { - FunctionList.List.scenes.Add(scene); - backAction(); - RemoveFromParent(); - } - else - { - IMessageCommon.Current.ShowErrorInfoAlter(result); - } + try + { + var serverScene = new Scene(); + var result = FunctionList.List.AddScene(scene, out serverScene); + Application.RunOnMainThread(() => + { + if (result == StateCode.SUCCESS) + { + serverScene.functions = scene.functions; + scene = serverScene; + FunctionList.List.scenes.Add(scene); + backAction(); + RemoveFromParent(); + } + else + { + IMessageCommon.Current.ShowErrorInfoAlter(result); + } + }); + } + catch { } + finally + { + Application.RunOnMainThread(() => { + waitPage.Hide(); + waitPage.RemoveFromParent(); + }); + } + }) + { IsBackground = true, Priority = ThreadPriority.AboveNormal }.Start(); }; } -- Gitblit v1.8.0