xm
2021-12-01 6d73bf6e816570291865674bef8bce8972e4de3f
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);
@@ -274,9 +275,16 @@
                {
                    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()
@@ -318,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()
@@ -364,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()
@@ -422,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
                {
@@ -452,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()
                {
@@ -477,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);
                    }
                };
            }
        }
@@ -505,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)
@@ -799,6 +812,7 @@
        }
        /// <summary>
        /// 创建场景
        /// 完成按钮点击事件
        /// </summary>
        void LoadEvent_CompleteEvent()
@@ -826,7 +840,7 @@
                var waitPage = new Loading();
                MainPage.BaseView.AddChidren(waitPage);
                waitPage.Start(Language.StringByID(StringId.PleaseWait));
                new System.Threading.Thread(() =>
                new Thread(() =>
                {
                    try
                    {
@@ -836,6 +850,7 @@
                        {
                            if (result == StateCode.SUCCESS)
                            {
                                serverScene.functions = scene.functions;
                                scene = serverScene;
                                FunctionList.List.scenes.Add(scene);
                                backAction();