From d4811b7d34b45ff6b21b97f11da128b5572ec526 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 03 三月 2021 16:03:03 +0800 Subject: [PATCH] 20210303-1 --- HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs | 213 ++++++++++++++++++----------------------------------- 1 files changed, 73 insertions(+), 140 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs index ff038fd..9a5237a 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs @@ -76,7 +76,6 @@ Scene scene; - int pageTitleId; /// <summary> /// 鏇存柊鍔熻兘row /// </summary> @@ -97,17 +96,9 @@ }; } - public void LoadPage(int titleId,Action backRefresh) + public void LoadPage(Action backRefresh) { - pageTitleId = titleId; - new TopViewDiv(bodyView, Language.StringByID(pageTitleId)).LoadTopView(backRefresh); - initPage(); - } - - public void LoadPage(int titleId) - { - pageTitleId = titleId; - new TopViewDiv(bodyView, Language.StringByID(pageTitleId)).LoadTopView(); + new TopViewDiv(bodyView, Language.StringByID(StringId.EditScene)).LoadTopView(backRefresh); initPage(); } @@ -211,7 +202,7 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, - TextID = StringId.BelongToZone, + TextID = StringId.LocationManagement, }; belongToZoneRow.AddChidren(btnBelongToTitle); @@ -232,7 +223,7 @@ TextAlignment = TextAlignment.CenterRight, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.TextFontSize, - Text = scene.GetRoomListName() == "" ? Language.StringByID(StringId.WholeHouseScene) : scene.GetRoomListName() + Text = scene.GetRoomListName() == "" ? Language.StringByID(StringId.WholeZone) : scene.GetRoomListName() }; belongToZoneRow.AddChidren(btnZoneName); @@ -291,8 +282,14 @@ Action<string> action = (obj) => { scene.delay = obj; btnSceneDelayInfo.Text = FunctionList.List.GetDelayText(obj); + scene.EditScene(); }; - 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(items,action,scene.delay); }; contentView.AddChidren(new Button() @@ -327,7 +324,7 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.MainColor, TextSize = CSS_FontSize.SubheadingFontSize, - TextID = StringId.AddFunction, + TextID = StringId.FunctionManagement, IsBold = true, }; addFunctionRow.AddChidren(btnAddFunctionTitle); @@ -369,9 +366,9 @@ Y = Application.GetRealHeight(667 - 50), Height = Application.GetRealHeight(50), TextAlignment = TextAlignment.Center, - TextColor = pageTitleId == StringId.NewScene ? CSS_Color.MainColor : CSS_Color.WarningColor, + TextColor = CSS_Color.WarningColor, TextSize = CSS_FontSize.SubheadingFontSize, - TextID = pageTitleId == StringId.NewScene ? StringId.Complete : StringId.Del, + TextID = StringId.Del, BackgroundColor = CSS_Color.MainBackgroundColor, //IsBold = true }; @@ -381,32 +378,42 @@ var waitPage = new Loading(); new Thread(() => { - Application.RunOnMainThread(() => { - bodyView.AddChidren(waitPage); - waitPage.Start(Language.StringByID(StringId.PleaseWait)); - }); - var pm = new HttpServerRequest(); - var pack = pm.GetSceneInfo(scene.userSceneId); - if (pack.Code == StateCode.SUCCESS) + try { - var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString()); - var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId); - if(tempScene!= null) - { - scene.functions = tempScene.functions; - } Application.RunOnMainThread(() => { - LoadFunctionRow(); - waitPage.Hide(); + bodyView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); }); + var pm = new HttpServerRequest(); + var pack = pm.GetSceneInfo(scene.userSceneId); + if (pack.Code == StateCode.SUCCESS) + { + var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString()); + var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId); + if (tempScene != null) + { + scene.functions = tempScene.functions; + } + Application.RunOnMainThread(() => + { + LoadFunctionRow(); + waitPage.Hide(); + waitPage.RemoveFromParent(); + }); + } + else + { + IMessageCommon.Current.ShowErrorInfoAlter(pack.Code); + } } - else + catch { } + finally { Application.RunOnMainThread(() => { waitPage.Hide(); - IMessageCommon.Current.ShowErrorInfoAlter(pack.Code); + waitPage.RemoveFromParent(); }); } }).Start(); @@ -418,8 +425,15 @@ { functionListView.RemoveAll(); functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count); - foreach (var scenefunction in scene.functions) + for(int i =0;i<scene.functions.Count;) { + var scenefunction = scene.functions[i]; + if (scenefunction.localFunction == null) + { + scene.functions.Remove(scenefunction); + continue; + } + i++; var row = new RowLayout() { Height = Application.GetRealWidth(65), @@ -523,13 +537,11 @@ row.AddRightView(btnDelSceneFunction); btnDelSceneFunction.MouseUpEventHandler = (sender, e) => { scene.functions.Remove(scenefunction); - scene.SaveSceneData(true); + scene.EditScene(); row.RemoveFromParent(); functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count); //LoadFunctionRow(functionListView); }; - - } } @@ -548,93 +560,34 @@ return Language.StringByID(StringId.Close); } } - - if (sceneFunction.status.Count == 0) - { - return sceneFunctionInfo += Language.StringByID(StringId.Open); - } + sceneFunctionInfo += Language.StringByID(StringId.Open) + " "; var modeState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode); var tempState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp); var fanState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed); if (modeState != null) { - sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value); + sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value) + " "; } if (tempState != null) { - sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value); + sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value) + " "; sceneFunctionInfo += FunctionList.List.GetUintString(tempState.key); } if (fanState != null) { - sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value); + sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value) + " "; } var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); if (briState != null) { - sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + briState.value + "%"; + sceneFunctionInfo += briState.value + "%"; } var perState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent); if (perState != null) { - sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + perState.value + "%"; + sceneFunctionInfo += perState.value + "%"; } - //FunctionAttributes perTrait; - - //switch (sceneFunction.localFunction.functionType) - //{ - // case FunctionType.AC: - // sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText(); - // sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() + - // sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString; - // sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan").GetCurValueText(); - // break; - // case FunctionType.FloorHeating: - // sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText(); - // sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() + - // sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString; - // break; - // case FunctionType.Dimmer: - // perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness"); - // if (perTrait != null) - // { - // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; - // } - // else - // { - // sceneFunctionInfo += Language.StringByID(StringId.Open); - // } - // break; - // case FunctionType.Relay: - // sceneFunctionInfo += Language.StringByID(StringId.Open); - // break; - // case FunctionType.RGB: - // perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent"); - // if (perTrait != null) - // { - // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; - // } - // else - // { - // sceneFunctionInfo += Language.StringByID(StringId.Open); - // } - // break; - // case FunctionType.Curtain: - // sceneFunctionInfo += Language.StringByID(StringId.Open); - // break; - // case FunctionType.MotorCurtain: - // perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent"); - // if (perTrait != null) - // { - // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent").curValue.ToString() + "%"; - // } - // else - // { - // sceneFunctionInfo += Language.StringByID(StringId.Open); - // } - // break; - //} return sceneFunctionInfo; } @@ -747,7 +700,14 @@ EventHandler<MouseEventArgs> eventHandler = (sender, e) => { Action backAction = () => { - btnZoneName.Text = scene.GetRoomListName(); + var result = scene.EditScene(); + if (result == StateCode.SUCCESS) + { + btnZoneName.Text = scene.GetRoomListName(); + }else + { + IMessageCommon.Current.ShowErrorInfoAlter(result); + } }; var ssl = new SetSceneLocationPage(scene, backAction); MainPage.BasePageView.AddChidren(ssl); @@ -808,30 +768,12 @@ { btnTakePicture.IsSelected = false; - //var pid = Guid.NewGuid(); - //CropImage.TakePicture((imagePath) => - //{ - // if (imagePath != null) - // { - // addSceneImageView.ImagePath = imagePath.ToString(); - // scene.ImagePath = addSceneImageView.ImagePath; - // MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath); - // } - //}, pid.ToString(), 4, 3); - - var imageName = Guid.NewGuid().ToString(); - //var imageName = scene.sid; CropImage.TakePicture((imagePath) => { CropImageCallBack(imagePath); - }, imageName, 4, 3); - //if (pageTitleId == StringId.EditScene) - //{ - // scene.SaveFunctionData(); - //} pictureOptionView.Parent.RemoveFromParent(); }; btnAlbum.MouseDownEventHandler = (sender, e) => { @@ -861,10 +803,6 @@ }, imageName, 4, 3); - //if (pageTitleId == StringId.EditScene) - //{ - // scene.SaveFunctionData(); - //} pictureOptionView.Parent.RemoveFromParent(); }; @@ -872,11 +810,9 @@ pictureOptionView.Parent.RemoveFromParent(); Action<string> action = (obj) => { scene.ImagePath = obj; + addSceneImageView.ImageBytes = null;//瑙e喅鏈塈mageBytes涓嶅姞杞絀magePath addSceneImageView.ImagePath = scene.ImagePath; - if (pageTitleId == StringId.EditScene) - { - scene.SaveSceneData(true); - } + scene.EditScene(); }; var galleryPage = new GalleryPage(scene.ImagePath,action); @@ -902,12 +838,9 @@ //涓婁紶鎴愬姛鍒板洖璋� Action<string> uploadSuccessAction = (imageUrl) => { - //2020-12-03 闇�瑕佽鏈�鏂扮殑鍥剧墖璺緞鍚屾鍒颁簯绔� - scene.ImagePath = imageUrl; - if (pageTitleId == StringId.EditScene) - { - scene.SaveSceneData(true); - } + //2020-12-03 闇�瑕佽鏈�鏂扮殑鍥剧墖璺緞鍚屾鍒颁簯绔� + scene.ImagePath = imageUrl; + scene.EditScene(); }; //涓婁紶鍥剧墖鍒颁簯绔� UploadImage(selectImagePath, addSceneImageView, scene, uploadSuccessAction); @@ -940,7 +873,7 @@ return; } } - scene.SaveSceneData(true); + scene.EditScene(); FunctionList.List.scenes.Add(scene); backAction(); this.RemoveFromParent(); @@ -977,11 +910,11 @@ }.Show(bodyView); return; } - btnSceneName.Text = str; scene.name = str; - if (pageTitleId == StringId.EditScene) + var result = scene.EditScene(); + if (result == StateCode.SUCCESS) { - scene.SaveSceneData(true); + btnSceneName.Text = str; } }; EventHandler<MouseEventArgs> eventHandler = (sender, e) => -- Gitblit v1.8.0