wxr
2020-12-07 64dbbfe1d6488635e160189a704afccffc7d34d0
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -75,6 +75,98 @@
                        SwitchBrightnessView(fLayout, device, index, edit, 3);
                    }
                    break;
                case FunctionType.AC: {
                        #region 界面
                        ///开关
                        LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
                        curtainSwitchView.btnText.TextID = StringId.switchLogic;
                        fLayout.AddChidren(curtainSwitchView.FLayoutView());
                        ///模式
                        LogicView.FunTypeView acModehView = new LogicView.FunTypeView();
                        acModehView.frameLayout.Y = curtainSwitchView.frameLayout.Bottom;
                        acModehView.btnText.TextID = StringId.modeLogic;
                        fLayout.AddChidren(acModehView.FLayoutView());
                        #endregion
                        #region 点击事件
                        ///开关点击事件
                        curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            SwitchViewMethod(device, curtainSwitchView.btnState, 2);
                        };
                        acModehView.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            List<string> modeStr = new List<string> {
                                Language.StringByID(StringId.coolLogic),
                                 Language.StringByID(StringId.heatingLogic),
                                  Language.StringByID(StringId.autoLogic),
                                   Language.StringByID(StringId.dehumidifyLogic),
                            };
                            FrameLayout frame = new FrameLayout
                            {
                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                            };
                            this.AddChidren(frame);
                            LogicView.DateView modeView = new LogicView.DateView();
                            modeView.btnTitle.TextID = StringId.modeLogic;
                            modeView.FLayoutView(frame, modeStr.Count);
                            modeView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
                            {
                                frame.RemoveFromParent();
                            };
                            ///定义一个Btn记录选中状态
                            Button checkBtn = new Button{
                                Tag = "unknown",
                            };
                            for (int i = 0; i < modeStr.Count; i++)
                            {
                                LogicView.CheckView modeTypeView = new LogicView.CheckView();
                                modeTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
                                modeView.frameLayout.AddChidren(modeTypeView.FLayoutView());
                                modeTypeView.btnText.Text = modeStr[i];
                                modeTypeView.btnClick.Tag = modeStr[i];//标记
                                if (acModehView.btnState.Text == modeStr[i])
                                {
                                    //显示之前的选中状态
                                    checkBtn.IsSelected = false;
                                    modeTypeView.btnCheckIcon.IsSelected = true;
                                    checkBtn = modeTypeView.btnCheckIcon;
                                    checkBtn.Tag = modeTypeView.btnClick.Tag.ToString();
                                }
                                //星期的点击事件
                                modeTypeView.btnClick.MouseUpEventHandler += (sender1, e1) =>
                                {
                                    checkBtn.IsSelected = false;
                                    modeTypeView.btnCheckIcon.IsSelected = true;
                                    checkBtn = modeTypeView.btnCheckIcon;
                                    checkBtn.Tag = modeTypeView.btnClick.Tag.ToString();
                                };
                            }
                            modeView.btnConfirm.MouseUpEventHandler += (sender1,e1) => {
                                if (checkBtn.Tag.ToString()== "unknown") {
                                    return;
                                }
                                Dictionary<string, string> dic = new Dictionary<string, string>();
                                LogicMethod.dictionary(dic, "key", "mode");
                                string keyVlaue = "mode";
                                LogicMethod.dictionary(dic, "value", GetModeValueString(checkBtn.Tag.ToString()));
                                acModehView.btnState.Text = checkBtn.Tag.ToString();
                                selectedState = device.functionType + "_mode";
                                AddDictionaryData(dicSateteList, keyVlaue, dic);
                                RemView(frame);
                            };
                        };
                        if (edit)
                        {
                            GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
                        }
                        #endregion
                    }
                    break;
            }
            #endregion
@@ -120,6 +212,24 @@
            };
            #endregion
        }
        private string GetModeValueString(string text)
        {
            string modeStr = "";
            if (text == Language.StringByID(StringId.coolLogic))
            {
                modeStr = "cool";
            }
            else if (text == Language.StringByID(StringId.heatingLogic)) {
                modeStr = "heat";
            }
            else if (text == Language.StringByID(StringId.autoLogic)) {
                modeStr = "auto";
            }
            else if (text == Language.StringByID(StringId.dehumidifyLogic)) {
                modeStr = "dry";
            }
            return modeStr;
        }
        /// <summary>
        ///开关=界面
@@ -390,6 +500,9 @@
                    }
                    break;
                case FunctionType.Dimmer:
                case FunctionType.RGB:
                case FunctionType.RGBW:
                case FunctionType.CCT:
                    {
                        foreach (var dic in dicList)
                        {
@@ -442,6 +555,47 @@
                                    }
                                    break;
                            }
                        }
                    }
                    break;
                case FunctionType.TrietexCurtain:
                case FunctionType.RollerCurtain: {
                        foreach (var dic in dicList)
                        {
                            string value = dic["value"];
                            switch (dic["key"])
                            {
                                case "on_off":
                                    {
                                        switch (value)
                                        {
                                            case "on":
                                                {
                                                    button1.Text = Language.StringByID(StringId.onLogic);
                                                }
                                                break;
                                            case "off":
                                                {
                                                    button1.Text = Language.StringByID(StringId.offLogic);
                                                }
                                                break;
                                            case "stop":
                                                {
                                                    button1.Text = Language.StringByID(StringId.stop);
                                                }
                                                break;
                                        }
                                    }
                                    break;
                                case "brightness":
                                    {
                                        button2.Text = value;
                                    }
                                    break;
                            }
                        }
                    }
                    break;
@@ -511,5 +665,6 @@
        }
    }
}