From 7467a843644aee00e5a4d91dd967cdb9e30f1985 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期二, 15 十二月 2020 17:20:06 +0800 Subject: [PATCH] 20201215-3 --- HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs | 229 ++++++++++++++++++++++++++++++++------------------------ 1 files changed, 130 insertions(+), 99 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs index 99b4656..8651933 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs @@ -90,23 +90,18 @@ scene = s; backAction = act; - refreshFunctionRowAction = () => { LoadFunctionRow(functionListView); }; } - public void LoadPage( Action backRefresh) + public void LoadPage() { - new TopViewDiv(bodyView, Language.StringByID(StringId.NewScene)).LoadTopView(backRefresh); - initPage(); - } - - void initPage() - { + new TopViewDiv(bodyView, Language.StringByID(StringId.NewScene)).LoadTopView(); + bodyView.BackgroundColor = CSS_Color.MainBackgroundColor; - VerticalScrolViewLayout contentView = new VerticalScrolViewLayout() + var contentView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(603 - 50), @@ -114,7 +109,7 @@ bodyView.AddChidren(contentView); contentView.AddChidren(new Button() { Height = Application.GetRealWidth(12) }); - FrameLayout sceneBgView = new FrameLayout() + var sceneBgView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(252), @@ -135,7 +130,6 @@ //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 ImageUtlis.Current.LoadLocalOrNetworkImages(scene.ImagePath, addSceneImageView); - #region 鍦烘櫙鍚嶇Оrow sceneNameView = new FrameLayout() @@ -401,8 +395,6 @@ }; row.AddChidren(btnRight); - - var btnFunctionInfo = new Button() { Width = Application.GetRealWidth(327), @@ -472,7 +464,6 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; - Button btnDelSceneFunction = new Button() { BackgroundColor = CSS_Color.WarningColor, @@ -485,10 +476,7 @@ scene.SaveSceneData(true); row.RemoveFromParent(); functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count); - //LoadFunctionRow(functionListView); }; - - } } @@ -506,66 +494,115 @@ if (sfs.value == "off") return Language.StringByID(StringId.Close); } - if (sfs.key == FunctionAttributeKey.Mode) - { - - } } - FunctionAttributes perTrait; - switch (sceneFunction.localFunction.functionType) + if (sceneFunction.status.Count == 0) { - 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 += 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); + } + if (tempState != null) + { + 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); + } + var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); + if (briState != null) + { + sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; + } + else + { + sceneFunctionInfo += Language.StringByID(StringId.Open); + } + var perState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent); + if (perState != null) + { + sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; + } + else + { + sceneFunctionInfo += Language.StringByID(StringId.Open); + } + + //FunctionAttributes perTrait; + + //switch (sceneFunction.localFunction.functionType) + //{ + //case FunctionType.AC: + //var acMode = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode); + //var acTemp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp); + //var acFan = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed); + //if (acMode != null) + //{ + // sceneFunctionInfo += FunctionList.List.GetValueText(acMode.key, acMode.value); + //} + //if (acTemp != null) + //{ + // sceneFunctionInfo += FunctionList.List.GetValueText(acTemp.key, acTemp.value); + // sceneFunctionInfo += FunctionList.List.GetUintString(acTemp.key); + //} + //if (acFan!=null) + //{ + // sceneFunctionInfo += FunctionList.List.GetValueText(acFan.key, acFan.value); + //} + // 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; } @@ -843,41 +880,35 @@ { btnComplete.MouseUpEventHandler += (sender, e) => { - if (btnComplete.TextID == StringId.Complete) + if (string.IsNullOrEmpty(scene.name)) { - if (string.IsNullOrEmpty(scene.name)) + new Tip() { - new Tip() - { - CloseTime = 1, - Text = Language.StringByID(StringId.SceneNameCannotBeEmpty), - Direction = AMPopTipDirection.None, - }.Show(bodyView); + CloseTime = 1, + Text = Language.StringByID(StringId.SceneNameCannotBeEmpty), + Direction = AMPopTipDirection.None, + }.Show(bodyView); + return; + } + foreach (var tempRoom in FunctionList.List.scenes) + { + if (scene.name == tempRoom.name) + { + new PublicAssmebly().TipMsg(StringId.Tip, StringId.SceneNameAlreadyExists); return; } - foreach (var tempRoom in FunctionList.List.scenes) - { - if (scene.name == tempRoom.name) - { - new PublicAssmebly().TipMsg(StringId.Tip, StringId.SceneNameAlreadyExists); - return; - } - } - scene.SaveSceneData(true); + } + var result = scene.AddScene(); + if (result == StateCode.SUCCESS) + { FunctionList.List.scenes.Add(scene); backAction(); this.RemoveFromParent(); } - if (btnComplete.TextID == StringId.Del) + else { - Action action = () => - { - FunctionList.List.DeleteScene(scene, true); - backAction(); - this.RemoveFromParent(); - }; - new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteSceneTip, action); - }; + IMessageCommon.Current.ShowErrorInfoAlter(result); + } }; } -- Gitblit v1.8.0