陈嘉乐
2020-12-23 d9894fc2e45d2521c78ad4c11dd9b549ec4f75ca
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -105,99 +105,45 @@
                        ///温度点击事件
                        temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            FrameLayout frame = new FrameLayout
                            {
                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                            };
                            this.AddChidren(frame);
                            LogicView.TimeView view = new LogicView.TimeView();
                            view.FLayoutView(frame);
                            EventHandler<MouseEventArgs> removefLayout = (sender1, e1) =>
                            {
                                //移除fLayout界面
                                frame.RemoveFromParent();
                            };
                            //取消点击事件
                            view.btnCancel.MouseUpEventHandler += removefLayout;
                            //初始化列表
                            var temperatureList = new List<string>();
                            for (int i = 16; i < 32; i++)
                            {
                                //添加数据
                                temperatureList.Add(i.ToString() + "℃");
                                temperatureList.Add((i + 0.5).ToString() + "℃");
                            }
                            //加载数据界面的设置方法(列表互不联动)
                            view.mUIPickerView.setNPicker(temperatureList, null, null);
                            //默认初始选中状态
                            view.mUIPickerView.setCurrentItems(9, 0, 0);
                            //定义一个局部变量记录选中时间
                            string temperature = "25℃";
                            for (int i = 0; i < temperatureList.Count; i++)
                            {
                                if (temperatureList[i] == temperatureView.btnState.Text)
                                {
                                    //更新状态
                                    view.mUIPickerView.setCurrentItems(i, 0, 0);
                                    //更新状态
                                    temperature = temperatureList[i];
                                    break;
                                }
                            }
                            //选中时间回调方法,时间变化一次回调一次
                            view.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
                            {
                                temperature = temperatureList[index1];
                            };
                            //确定点击事件
                            view.btnConfirm.MouseUpEventHandler += (sender2, e2) =>
                            {
                                Dictionary<string, string> dic = new Dictionary<string, string>();
                                LogicMethod.dictionary(dic, "key", "set_temp");
                            ///之前的状态文本
                            string tempValue = temperatureView.btnState.Text;
                            LogicView.TemperatureView tempView= new LogicView.TemperatureView();
                            tempView.FLayoutView(this, tempValue,(stateStr)=> {
                                //界面显示选中值
                                temperatureView.btnState.Text = stateStr;
                                //设备属性值,云雀上定义好的;
                                string keyVlaue = "set_temp";
                                string set_temp_value = temperature.Replace("℃", "");
                                selectedState = device.functionType + "_"+ keyVlaue;
                                string set_temp_value = stateStr.Replace("℃", "");
                                //数据封装
                                Dictionary<string, string> dic = new Dictionary<string, string>();
                                LogicMethod.dictionary(dic, "key", keyVlaue);
                                LogicMethod.dictionary(dic, "value", set_temp_value);
                                AddDictionaryData(dicSateteList, keyVlaue, dic);
                                selectedState = device.functionType + "_set_temp";
                                RemView(frame);
                                temperatureView.btnState.Text = temperature;
                            });
                            };
                        };
                        ///模式点击事件
                        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);
                            ///之前的状态文本
                            string currText = acModehView.btnState.Text;
                            //设备属性值,云雀上定义好的;
                            string keyVlaue = "mode";
                            selectedState = device.functionType + "_"+keyVlaue;
                            PublicInterface modeView = new PublicInterface();
                            modeView.SingleSelectionShow(frame, modeStr, Language.StringByID(StringId.modeLogic), currText
                            var modeListStr=  modeView.GetViewList(keyVlaue);
                            modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
                               , (stateValue) =>
                               {
                                   string keyVlaue = "mode";
                                   Dictionary<string, string> dic = new Dictionary<string, string>();
                                   LogicMethod.dictionary(dic, "key", "mode");
                                   LogicMethod.dictionary(dic, "value", InterfaceDsplaysLogic.GetModeValueString(stateValue, "mode"));
                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
                                   //界面显示选中值
                                   acModehView.btnState.Text = stateValue;
                                   selectedState = device.functionType + "_mode";
                                   //数据封装
                                   Dictionary<string, string> dic = new Dictionary<string, string>();
                                   LogicMethod.dictionary(dic, "key", keyVlaue);
                                   LogicMethod.dictionary(dic, "value", modeView.GetModeValueString(stateValue, keyVlaue));
                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
                               });
@@ -205,35 +151,30 @@
                        ///风速点击事件
                        acSpeedView.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            List<string> speedStr = new List<string> {
                                Language.StringByID(StringId.LowWindSpeed),
                                 Language.StringByID(StringId.MiddleWindSpeed),
                                  Language.StringByID(StringId.HighWindSpeed),
                                   Language.StringByID(StringId.Auto),
                            };
                            FrameLayout frame = new FrameLayout
                            {
                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                            };
                            this.AddChidren(frame);
                            ///之前的状态文本
                            string currText = acSpeedView.btnState.Text;
                            PublicInterface modeView = new PublicInterface();
                            modeView.SingleSelectionShow(frame, speedStr, Language.StringByID(StringId.speedLogic), currText
                            //设备属性值,云雀上定义好的;
                            string keyVlaue = "fan";
                            selectedState = device.functionType + "_" + keyVlaue;
                            PublicInterface speedView = new PublicInterface();
                            var speedListStr = speedView.GetViewList(keyVlaue);
                            speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText
                               , (stateValue) =>
                               {
                                   string keyVlaue = "fan";
                                   Dictionary<string, string> dic = new Dictionary<string, string>();
                                   LogicMethod.dictionary(dic, "key", "fan");
                                   LogicMethod.dictionary(dic, "value", InterfaceDsplaysLogic.GetModeValueString(stateValue, "fan"));
                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
                                   //界面显示选中值
                                   acSpeedView.btnState.Text = stateValue;
                                   selectedState = device.functionType + "_fan";
                                   //数据封装
                                   Dictionary<string, string> dic = new Dictionary<string, string>();
                                   LogicMethod.dictionary(dic, "key", keyVlaue);
                                   LogicMethod.dictionary(dic, "value", speedView.GetModeValueString(stateValue, keyVlaue));
                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
                               });
                        };
                        if (edit)
                        {
                            //显示编辑之前的设备状态
                            GetEditState(device, index, acSwitchVie.btnState, temperatureView.btnState, acModehView.btnState, acSpeedView.btnState);
                        }
@@ -271,102 +212,53 @@
                        ///温度点击事件
                        temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            FrameLayout frame = new FrameLayout
                            {
                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                            };
                            this.AddChidren(frame);
                            LogicView.TimeView view = new LogicView.TimeView();
                            view.FLayoutView(frame);
                            EventHandler<MouseEventArgs> removefLayout = (sender1, e1) =>
                            {
                                //移除fLayout界面
                                frame.RemoveFromParent();
                            };
                            //取消点击事件
                            view.btnCancel.MouseUpEventHandler += removefLayout;
                            //初始化列表
                            var temperatureList = new List<string>();
                            for (int i = 16; i < 32; i++)
                            {
                                //添加数据
                                temperatureList.Add(i.ToString() + "℃");
                                temperatureList.Add((i + 0.5).ToString() + "℃");
                            }
                            //加载数据界面的设置方法(列表互不联动)
                            view.mUIPickerView.setNPicker(temperatureList, null, null);
                            //默认初始选中状态
                            view.mUIPickerView.setCurrentItems(9, 0, 0);
                            //定义一个局部变量记录选中时间
                            string temperature = "25℃";
                            for (int i = 0; i < temperatureList.Count; i++)
                            {
                                if (temperatureList[i] == temperatureView.btnState.Text)
                                {
                                    //更新状态
                                    view.mUIPickerView.setCurrentItems(i, 0, 0);
                                    //更新状态
                                    temperature = temperatureList[i];
                                    break;
                                }
                            }
                            //选中时间回调方法,时间变化一次回调一次
                            view.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
                            {
                                temperature = temperatureList[index1];
                            };
                            //确定点击事件
                            view.btnConfirm.MouseUpEventHandler += (sender2, e2) =>
                            {
                                Dictionary<string, string> dic = new Dictionary<string, string>();
                                LogicMethod.dictionary(dic, "key", "set_temp");
                            string tempValue = temperatureView.btnState.Text;
                            LogicView.TemperatureView tempView = new LogicView.TemperatureView();
                            tempView.FLayoutView(this, tempValue, (stateStr) => {
                                //界面显示选中值
                                temperatureView.btnState.Text = stateStr;
                                //设备属性值,云雀上定义好的;
                                string keyVlaue = "set_temp";
                                string set_temp_value = temperature.Replace("℃", "");
                                selectedState = device.functionType + "_"+ keyVlaue;
                                string set_temp_value = stateStr.Replace("℃", "");
                                //数据封装
                                Dictionary<string, string> dic = new Dictionary<string, string>();
                                LogicMethod.dictionary(dic, "key", keyVlaue);
                                LogicMethod.dictionary(dic, "value", set_temp_value);
                                selectedState = device.functionType + "_set_temp";
                                AddDictionaryData(dicSateteList, keyVlaue, dic);
                                RemView(frame);
                                temperatureView.btnState.Text = temperature;
                            };
                            });
                        };
                        ///模式点击事件
                        floorHeatingModehView.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            FrameLayout frame = new FrameLayout
                            {
                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                            };
                            this.AddChidren(frame);
                            List<string> modeStr = new List<string> {
                                Language.StringByID(StringId.dayMode),
                                 Language.StringByID(StringId.nightMode),
                                  Language.StringByID(StringId.leaveMode),
                                   Language.StringByID(StringId.ordinaryMode),
                                Language.StringByID(StringId.timeMode),
                            };
                            ///之前的状态文本
                            string currText= floorHeatingModehView.btnState.Text;
                            //设备属性值,云雀上定义好的;
                            string keyVlaue = "mode";
                            selectedState = device.functionType + "_"+ keyVlaue;
                            PublicInterface modeView = new PublicInterface();
                            modeView.SingleSelectionShow(frame, modeStr, Language.StringByID(StringId.modeLogic), currText
                            var modeListStr = modeView.GetViewList("floorheatingmode");
                            modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
                               , (stateValue) =>
                               {
                                   string keyVlaue = "mode";
                                   Dictionary<string, string> dic = new Dictionary<string, string>();
                                   LogicMethod.dictionary(dic, "key", "mode");
                                   LogicMethod.dictionary(dic, "value", InterfaceDsplaysLogic.GetModeValueString(stateValue, "FloorHeating"));
                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
                                   //界面显示选中值
                                   floorHeatingModehView.btnState.Text = stateValue;
                                   selectedState = device.functionType + "_mode";
                                   //数据封装
                                   Dictionary<string, string> dic = new Dictionary<string, string>();
                                   LogicMethod.dictionary(dic, "key", keyVlaue);
                                   LogicMethod.dictionary(dic, "value", modeView.GetModeValueString(stateValue, "floorheatingmode"));
                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
                               });
                        };
                        if (edit)
                        {
                            //显示编辑之前的设备状态
                            GetEditState(device, index, floorHeatingSwitchVie.btnState, temperatureView.btnState, floorHeatingModehView.btnState, null);
                        }
@@ -504,6 +396,7 @@
            };
            if (edit)
            {
                //显示编辑之前的设备状态
                GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
            }
            #endregion
@@ -551,6 +444,7 @@
            };
            if (edit)
            {
                //显示编辑之前的设备状态
                GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
            }
            #endregion
@@ -586,13 +480,15 @@
                            id = StringId.stop;
                        } break;
                }
                //界面显示选中值
                button.TextID = id;
                selectedState = device.functionType + "_" + strValue;
                string keyVlaue = "on_off";
                //数据封装
                Dictionary<string, string> dic = new Dictionary<string, string>();
                LogicMethod.dictionary(dic, "key", "on_off");
                string keyVlaue = "on_off";
                LogicMethod.dictionary(dic, "value", strValue);
                AddDictionaryData(dicSateteList, keyVlaue, dic);
                selectedState = device.functionType + "_" + strValue;
            });
            #endregion
@@ -610,12 +506,16 @@
                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
            };
            this.AddChidren(frame);
            string stateVlaue = button.Text;
            LogicView.BrightnessView brightness = new LogicView.BrightnessView();
            brightness.FLayoutView(frame, titleName, button.Text, (brightnesValue) =>
            brightness.FLayoutView(frame, titleName, stateVlaue, (brightnesValue) =>
            {
                //界面显示选中值
                button.Text = brightnesValue+"%";
                Dictionary<string, string> dic = new Dictionary<string, string>();
                string keyVlaue = "";
                selectedState = device.functionType + brightnesValue.ToString();
                //数据封装
                Dictionary<string, string> dic = new Dictionary<string, string>();
                switch (device.functionType)
                {
                    //开关灯光 light.Switch
@@ -638,7 +538,6 @@
                }
                LogicMethod.dictionary(dic, "value", brightnesValue.ToString());
                AddDictionaryData(dicSateteList, keyVlaue, dic);
                selectedState = device.functionType + brightnesValue.ToString();
            });
            #endregion
@@ -727,14 +626,7 @@
            }
        }
        /// <summary>
        /// 移除控件
        /// </summary>
        /// <param name="frame"></param>
        private void RemView(FrameLayout frame)
        {
            frame.RemoveFromParent();
        }
    }