From 01c46e7bfe9aa8fb20b29f70c83c03a307af548a Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 22 十二月 2020 16:35:16 +0800
Subject: [PATCH] 2020-12-22 1.更新。

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs |  795 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 635 insertions(+), 160 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index fe144d9..efd0aab 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -49,10 +49,10 @@
                 case FunctionType.Dimmer:
                 case FunctionType.RGB:
                 case FunctionType.RGBW:
-                case FunctionType.CCT:
+                case FunctionType.ColorTemperature:
                     {
                         //2琛ㄧず(寮�锛屽叧)鍔熻兘
-                        SwitchBrightnessView(fLayout, device, index, edit,2);
+                        SwitchBrightnessView(fLayout, device, index, edit, 2);
                     }
                     break;
                 case FunctionType.Relay:
@@ -63,37 +63,112 @@
                     break;
                 //绐楀笜
                 case FunctionType.Curtain:
+                case FunctionType.MotorCurtain:
+                case FunctionType.RollingShutter:
                     {
                         //3琛ㄧず(寮�锛屽叧锛屾殏鍋�)鍔熻兘
                         SwitchView(fLayout, device, index, edit, 3);
                     }
                     break;
-                case FunctionType.TrietexCurtain:
-                case FunctionType.RollerCurtain:
+                case FunctionType.AC:
                     {
-                        //3琛ㄧず(寮�锛屽叧锛屾殏鍋�)鍔熻兘
-                        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 acSwitchVie = new LogicView.FunTypeView();
+                        acSwitchVie.btnText.TextID = StringId.switchLogic;
+                        fLayout.AddChidren(acSwitchVie.FLayoutView());
+
+                        ///娓╁害
+                        LogicView.FunTypeView temperatureView = new LogicView.FunTypeView();
+                        temperatureView.frameLayout.Y = acSwitchVie.frameLayout.Bottom;
+                        temperatureView.btnText.TextID = StringId.temperatureLogic;
+                        fLayout.AddChidren(temperatureView.FLayoutView());
 
                         ///妯″紡
                         LogicView.FunTypeView acModehView = new LogicView.FunTypeView();
-                        acModehView.frameLayout.Y = curtainSwitchView.frameLayout.Bottom;
+                        acModehView.frameLayout.Y = temperatureView.frameLayout.Bottom;
                         acModehView.btnText.TextID = StringId.modeLogic;
                         fLayout.AddChidren(acModehView.FLayoutView());
+
+                        ///椋庨��
+                        LogicView.FunTypeView acSpeedView = new LogicView.FunTypeView();
+                        acSpeedView.frameLayout.Y = acModehView.frameLayout.Bottom;
+                        acSpeedView.btnText.TextID = StringId.speedLogic;
+                        fLayout.AddChidren(acSpeedView.FLayoutView());
                         #endregion
                         #region 鐐瑰嚮浜嬩欢
                         ///寮�鍏崇偣鍑讳簨浠�
-                        curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        acSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-                            SwitchViewMethod(device, curtainSwitchView.btnState, 2);
+                            SwitchViewMethod(device, acSwitchVie.btnState, 2);
                         };
+                        ///娓╁害鐐瑰嚮浜嬩欢
+                        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 keyVlaue = "set_temp";
+                                string set_temp_value = temperature.Replace("鈩�", "");
+                                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) =>
                         {
 
@@ -109,14 +184,15 @@
                             };
                             this.AddChidren(frame);
                             LogicView.DateView modeView = new LogicView.DateView();
-                            modeView.btnTitle.TextID = StringId.modeLogic; 
+                            modeView.btnTitle.TextID = StringId.modeLogic;
                             modeView.FLayoutView(frame, modeStr.Count);
                             modeView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
                             {
                                 frame.RemoveFromParent();
                             };
                             ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
-                            Button checkBtn = new Button{
+                            Button checkBtn = new Button
+                            {
                                 Tag = "unknown",
                             };
                             for (int i = 0; i < modeStr.Count; i++)
@@ -145,25 +221,231 @@
                                 };
 
                             }
-                            modeView.btnConfirm.MouseUpEventHandler += (sender1,e1) => {
-                                if (checkBtn.Tag.ToString()== "unknown") {
+                            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()));
+                                LogicMethod.dictionary(dic, "value", GetModeValueString(checkBtn.Tag.ToString(), keyVlaue));
                                 acModehView.btnState.Text = checkBtn.Tag.ToString();
                                 selectedState = device.functionType + "_mode";
                                 AddDictionaryData(dicSateteList, keyVlaue, dic);
                                 RemView(frame);
                             };
                         };
+                        ///椋庨�熺偣鍑讳簨浠�
+                        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);
+                            LogicView.DateView speedView = new LogicView.DateView();
+                            speedView.btnTitle.TextID = StringId.modeLogic;
+                            speedView.FLayoutView(frame, speedStr.Count);
+                            speedView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
+                            {
+                                frame.RemoveFromParent();
+                            };
+                            ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
+                            Button checkBtn = new Button
+                            {
+                                Tag = "unknown",
+                            };
+                            for (int i = 0; i < speedStr.Count; i++)
+                            {
+                                LogicView.CheckView speedTypeView = new LogicView.CheckView();
+                                speedTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
+                                speedView.frameLayout.AddChidren(speedTypeView.FLayoutView());
+                                speedTypeView.btnText.Text = speedStr[i];
+                                speedTypeView.btnClick.Tag = speedStr[i];//鏍囪
+
+                                if (acSpeedView.btnState.Text == speedStr[i])
+                                {
+                                    //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
+                                    checkBtn.IsSelected = false;
+                                    speedTypeView.btnCheckIcon.IsSelected = true;
+                                    checkBtn = speedTypeView.btnCheckIcon;
+                                    checkBtn.Tag = speedTypeView.btnClick.Tag.ToString();
+                                }
+                                //鏄熸湡鐨勭偣鍑讳簨浠�
+                                speedTypeView.btnClick.MouseUpEventHandler += (sender1, e1) =>
+                                {
+                                    checkBtn.IsSelected = false;
+                                    speedTypeView.btnCheckIcon.IsSelected = true;
+                                    checkBtn = speedTypeView.btnCheckIcon;
+                                    checkBtn.Tag = speedTypeView.btnClick.Tag.ToString();
+                                };
+
+                            }
+                            speedView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
+                            {
+                                if (checkBtn.Tag.ToString() == "unknown")
+                                {
+                                    return;
+                                }
+
+                                Dictionary<string, string> dic = new Dictionary<string, string>();
+                                LogicMethod.dictionary(dic, "key", "fan");
+                                string keyVlaue = "fan";
+                                LogicMethod.dictionary(dic, "value", GetModeValueString(checkBtn.Tag.ToString(), keyVlaue));
+                                acSpeedView.btnState.Text = checkBtn.Tag.ToString();
+                                selectedState = device.functionType + "_fan";
+                                AddDictionaryData(dicSateteList, keyVlaue, dic);
+                                RemView(frame);
+                            };
+                        };
                         if (edit)
                         {
-                            GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
+                            GetEditState(device, index, acSwitchVie.btnState, temperatureView.btnState, acModehView.btnState, acSpeedView.btnState);
                         }
+
+                        #endregion
+                    }
+                    break;
+                case FunctionType.FloorHeating:
+                    {
+                        #region 鐣岄潰
+                        ///寮�鍏�
+                        LogicView.FunTypeView floorHeatingSwitchVie = new LogicView.FunTypeView();
+                        floorHeatingSwitchVie.btnText.TextID = StringId.switchLogic;
+                        fLayout.AddChidren(floorHeatingSwitchVie.FLayoutView());
+
+                        ///娓╁害
+                        LogicView.FunTypeView temperatureView = new LogicView.FunTypeView();
+                        temperatureView.frameLayout.Y = floorHeatingSwitchVie.frameLayout.Bottom;
+                        temperatureView.btnText.TextID = StringId.temperatureLogic;
+                        fLayout.AddChidren(temperatureView.FLayoutView());
+
+                        ///妯″紡
+                        LogicView.FunTypeView floorHeatingModehView = new LogicView.FunTypeView();
+                        floorHeatingModehView.frameLayout.Y = temperatureView.frameLayout.Bottom;
+                        floorHeatingModehView.btnText.TextID = StringId.modeLogic;
+                        fLayout.AddChidren(floorHeatingModehView.FLayoutView());
+
+
+                        #endregion
+                        #region 鐐瑰嚮浜嬩欢
+                        ///寮�鍏崇偣鍑讳簨浠�
+                        floorHeatingSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            SwitchViewMethod(device, floorHeatingSwitchVie.btnState, 2);
+                        };
+                        ///娓╁害鐐瑰嚮浜嬩欢
+                        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 keyVlaue = "set_temp";
+                                string set_temp_value = temperature.Replace("鈩�", "");
+                                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;
+                            PublicInterface modeView = new PublicInterface();
+                            modeView.SingleSelectionShow(frame, modeStr, 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", GetModeValueString(stateValue, "FloorHeating"));
+                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
+                                   floorHeatingModehView.btnState.Text = stateValue;
+                                   selectedState = device.functionType + "_mode";
+                               });
+
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, floorHeatingSwitchVie.btnState, temperatureView.btnState, floorHeatingModehView.btnState, null);
+                        }
+
                         #endregion
                     }
                     break;
@@ -180,7 +462,69 @@
                     Output outputDevice = new Output();
                     outputDevice.target_type = "1";
                     outputDevice.sid = device.sid;
+
+                    switch (device.functionType)
+                    {
+                        case FunctionType.Dimmer:
+                        case FunctionType.RGB:
+                        case FunctionType.RGBW:
+                        case FunctionType.ColorTemperature:
+                            {
+                                //璋冨厜鍋氫簡涓�涓壒娈婂鐞嗭紱
+                                if (dicSateteList.Count > 1)
+                                {
+                                    foreach (var dictionary in dicSateteList)
+                                    {
+                                        string keyValue = dictionary["key"];
+                                        if (keyValue == "on_off")
+                                        {
+                                            if (dictionary["value"] == "off")
+                                            {
+                                                //绉婚櫎鍒楄〃鎵�鏈夋暟鎹�
+                                                dicSateteList.Clear();
+                                                //閲嶆柊娣诲姞-鍏�-灞炴�ф暟鎹�
+                                                Dictionary<string, string> diction = new Dictionary<string, string>();
+                                                diction.Add("key", "on_off");
+                                                diction.Add("value", "off");
+                                                dicSateteList.Add(diction);
+                                                break;
+                                            }
+                                        }
+                                    }
+                                }
+                                break;
+                            }
+                        case FunctionType.AC:
+                        case FunctionType.FloorHeating:
+                            {
+
+                                //(绌鸿皟/鍦扮儹)鍋氫簡涓�涓壒娈婂鐞嗭紱
+                                bool _bool = false;
+                                for (int i = 0; i < dicSateteList.Count; i++)
+                                {
+                                    var dic = dicSateteList[i];
+                                    if (dic.ContainsValue("on_off"))
+                                    {
+                                        //鍒ゆ柇鏄惁瀛樺湪
+                                        _bool = true;
+                                        break;
+                                    }
+                                }
+                                if (!_bool)
+                                {
+                                    //娌℃湁寮�鍏冲氨榛樿娣诲姞-寮�-灞炴��
+                                    Dictionary<string, string> diction = new Dictionary<string, string>();
+                                    diction.Add("key", "on_off");
+                                    diction.Add("value", "on");
+                                    dicSateteList.Add(diction);
+                                }
+
+
+                            }
+                            break;
+                    }
                     outputDevice.status = dicSateteList;
+
                     if (edit)
                     {
                         //绉婚櫎鏃ф暟鎹�
@@ -213,23 +557,83 @@
             #endregion
 
         }
-        private string GetModeValueString(string text)
+        /// <summary>
+        /// 鑾峰彇妯″紡/椋庨�熼敭鍊�
+        /// </summary>
+        /// <param name="text"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        private string GetModeValueString(string text, string type)
         {
-            string modeStr = "";
-            if (text == Language.StringByID(StringId.coolLogic))
+            string str = "";
+            switch (type)
             {
-                modeStr = "cool";
+                case "mode":
+                    {
+                        if (text == Language.StringByID(StringId.coolLogic))
+                        {
+                            str = "cool";
+                        }
+                        else if (text == Language.StringByID(StringId.heatingLogic))
+                        {
+                            str = "heat";
+                        }
+                        else if (text == Language.StringByID(StringId.autoLogic))
+                        {
+                            str = "auto";
+                        }
+                        else if (text == Language.StringByID(StringId.dehumidifyLogic))
+                        {
+                            str = "dry";
+                        }
+                    }
+                    break;
+                case "fan":
+                    {
+                        if (text == Language.StringByID(StringId.HighWindSpeed))
+                        {
+                            str = "high";
+                        }
+                        else if (text == Language.StringByID(StringId.MiddleWindSpeed))
+                        {
+                            str = "medium";
+                        }
+                        else if (text == Language.StringByID(StringId.LowWindSpeed))
+                        {
+                            str = "low";
+                        }
+                        else if (text == Language.StringByID(StringId.Auto))
+                        {
+                            str = "auto";
+                        }
+                    }
+                    break;
+                case "FloorHeating":
+                    {
+                        if (text == Language.StringByID(StringId.dayMode))
+                        {
+                            str = "day";
+                        }
+                        else if (text == Language.StringByID(StringId.nightMode))
+                        {
+                            str = "night";
+                        }
+                        else if (text == Language.StringByID(StringId.leaveMode))
+                        {
+                            str = "away";
+                        }
+                        else if (text == Language.StringByID(StringId.ordinaryMode))
+                        {
+                            str = "normal";
+                        }
+                        else if (text == Language.StringByID(StringId.timeMode))
+                        {
+                            str = "timer";
+                        }
+                    }
+                    break;
             }
-            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;
+            return str;
         }
         /// <summary>
         ///寮�鍏�=鐣岄潰
@@ -239,7 +643,7 @@
         /// <param name="index"></param>
         /// <param name="edit"></param>
         /// <param name="intView">閫変腑View鐨勬暟閲�</param>
-        private void SwitchView(FrameLayout fLayout, Entity.Function device, int index, bool edit,int intView)
+        private void SwitchView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView)
         {
             #region 鐣岄潰
             ///寮�鍏�
@@ -268,7 +672,7 @@
         /// <param name="index"></param>
         /// <param name="edit"></param>
         /// <param name="intView">閫変腑View鐨勬暟閲�</param>
-        private void SwitchBrightnessView(FrameLayout fLayout, Entity.Function device, int index, bool edit,int intView)
+        private void SwitchBrightnessView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView)
         {
             #region 鐣岄潰
             ///寮�鍏�
@@ -278,9 +682,9 @@
             ///浜害
             LogicView.FunTypeView brightnessView = new LogicView.FunTypeView();
             brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
-            if (device.functionType == FunctionType.TrietexCurtain || device.functionType == FunctionType.RollerCurtain)
+            if (device.functionType == FunctionType.MotorCurtain || device.functionType == FunctionType.RollingShutter)
             {
-                
+
                 brightnessView.btnText.TextID = StringId.percentum;
             }
             else
@@ -322,63 +726,32 @@
             };
             this.AddChidren(frame);
             LogicView.SwitchView switchView = new LogicView.SwitchView();
-            switchView.FLayoutView(frame, len);
+            switchView.FLayoutView(frame, len, button.Text, (strValue) =>
+            {
+                int id = 0;
+                switch (strValue) {
+                    case "on": {
+                            id = StringId.onLogic;
+                        }
+                        break;
+                    case "off": {
+                            id = StringId.offLogic;
+                        } break;
+                    case "stop": {
+                            id = StringId.stop;
+                        } break;
+                }
+                button.TextID = id;
+                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
-
-            #region 鐐瑰嚮浜嬩欢
-            Dictionary<string, string> dic = new Dictionary<string, string>();
-            LogicMethod.dictionary(dic, "key", "on_off");
-            string keyVlaue = "on_off";
-            //寮�-鐐瑰嚮浜嬩欢
-            switchView.btnOn.MouseUpEventHandler += (sender2, e2) =>
-            {
-                LogicMethod.dictionary(dic, "value", "on");
-                button.TextID = StringId.onLogic;
-                selectedState = device.functionType + "_on";
-                AddDictionaryData(dicSateteList, keyVlaue, dic);
-                RemView(frame);
-            };
-            //鍏�-鐐瑰嚮浜嬩欢
-            switchView.btnOff.MouseUpEventHandler += (sender3, e3) =>
-            {
-                LogicMethod.dictionary(dic, "value", "off");
-                button.TextID = StringId.offLogic;
-                selectedState = device.functionType + "_off";
-                AddDictionaryData(dicSateteList, keyVlaue, dic);
-                RemView(frame);
-
-            };
-            //鏆傚仠-鐐瑰嚮浜嬩欢
-            switchView.btnStop.MouseUpEventHandler += (sender3, e3) =>
-            {
-                LogicMethod.dictionary(dic, "value", "stop");
-                button.TextID = StringId.stop;
-                selectedState = device.functionType + "_stop";
-                AddDictionaryData(dicSateteList, keyVlaue, dic);
-                RemView(frame);
-
-            };
-            ///鏄剧ず涔嬪墠鐘舵��
-            if (button.Text != "")
-            {
-                if (button.Text == switchView.btnOn.Text)
-                {
-                    switchView.btnOn.TextColor = CSS.CSS_Color.textConfirmColor;
-                }
-                else if (button.Text == switchView.btnOff.Text)
-                {
-                    switchView.btnOff.TextColor = CSS.CSS_Color.textConfirmColor;
-                }
-                else if (button.Text == switchView.btnStop.Text)
-                {
-                    switchView.btnOff.TextColor = CSS.CSS_Color.textConfirmColor;
-                }
-            }
-            #endregion
-
-
         }
-
         /// <summary>
         /// 浜害/鐧惧垎姣�=鍔熻兘涓嬩竴绾х晫闈�
         /// </summary>
@@ -393,63 +766,36 @@
             };
             this.AddChidren(frame);
             LogicView.BrightnessView brightness = new LogicView.BrightnessView();
-            brightness.btnTitle.Text = titleName;
-            brightness.FLayoutView(frame);
-            #endregion
-            #region 鐐瑰嚮浜嬩欢
-            int brightnesValue = 0;
-            Dictionary<string, string> dic = new Dictionary<string, string>();
-            LogicMethod.dictionary(dic, "key", "brightness");
-            string keyVlaue = "brightness";
-            //鈥旂偣鍑讳簨浠�
-            brightness.btn_subtract_click.MouseUpEventHandler += (sender2, e2) =>
+            brightness.FLayoutView(frame, titleName, button.Text, (brightnesValue) =>
             {
-                if (brightnesValue > 0)
+                button.Text = brightnesValue+"%";
+                Dictionary<string, string> dic = new Dictionary<string, string>();
+                string keyVlaue = "";
+                switch (device.functionType)
                 {
-                    brightnesValue -= 1;
-                    brightness.seekBarVol.Progress = brightnesValue;
+                    //寮�鍏崇伅鍏� light.Switch
+                    case FunctionType.Dimmer:
+                    case FunctionType.RGB:
+                    case FunctionType.RGBW:
+                    case FunctionType.ColorTemperature:
+                        {
+                            LogicMethod.dictionary(dic, "key", "brightness");
+                            keyVlaue = "brightness";
+                        }
+                        break;
+                    case FunctionType.MotorCurtain:
+                    case FunctionType.RollingShutter:
+                        {
+                            LogicMethod.dictionary(dic, "key", "percent");
+                            keyVlaue = "percent";
+                        }
+                        break;
                 }
-            };
-            //+鐐瑰嚮浜嬩欢
-            brightness.btn_add_click.MouseUpEventHandler += (sende2, e2) =>
-            {
-                if (brightnesValue < 100)
-                {
-                    brightnesValue += 1;
-                    brightness.seekBarVol.Progress = brightnesValue;
-
-                }
-            };
-            //杩涘害鏉℃粦鍔ㄧ偣鍑讳簨浠�
-            EventHandler<int> progressclick = (sender2, e2) =>
-            {
-                brightnesValue = brightness.seekBarVol.Progress;
-            };
-            brightness.seekBarVol.OnProgressChangedEvent += progressclick;
-            brightness.seekBarVol.OnStopTrackingTouchEvent += progressclick;
-            //纭畾鐐瑰嚮浜嬩欢
-            brightness.btnConfirm.MouseUpEventHandler += (sende2, e2) =>
-            {
-                if (brightnesValue == 0)
-                {
-                    return;
-                }
-
                 LogicMethod.dictionary(dic, "value", brightnesValue.ToString());
-                selectedState = device.functionType + brightnesValue.ToString();
                 AddDictionaryData(dicSateteList, keyVlaue, dic);
-                button.Text = brightnesValue.ToString();
-                RemView(frame);
-
-            };
-            //鏄剧ず涔嬪墠鐘舵��
-            if (button.Text != "")
-            {
-                brightnesValue = int.Parse(button.Text);
-                brightness.seekBarVol.Progress = brightnesValue;
-            }
+                selectedState = device.functionType + brightnesValue.ToString();
+            });
             #endregion
-
 
         }
         /// <summary>
@@ -502,7 +848,7 @@
                 case FunctionType.Dimmer:
                 case FunctionType.RGB:
                 case FunctionType.RGBW:
-                case FunctionType.CCT:
+                case FunctionType.ColorTemperature:
                     {
                         foreach (var dic in dicList)
                         {
@@ -524,7 +870,7 @@
                                 case "brightness":
                                     {
 
-                                        button2.Text = value;
+                                        button2.Text = value+"%";
                                     }
                                     break;
                             }
@@ -533,6 +879,8 @@
                     }
                     break;
                 case FunctionType.Curtain:
+                case FunctionType.MotorCurtain:
+                case FunctionType.RollingShutter:
                     {
                         foreach (var dic in dicList)
                         {
@@ -558,8 +906,104 @@
                         }
                     }
                     break;
-                case FunctionType.TrietexCurtain:
-                case FunctionType.RollerCurtain: {
+                case FunctionType.AC:
+                    {
+                        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;
+                                        }
+                                    }
+                                    break;
+                                case "set_temp":
+                                    {
+                                        button2.Text = value + "鈩�";
+                                    }
+                                    break;
+                                case "mode":
+                                    {
+                                        switch (value)
+                                        {
+                                            case "cool":
+                                                {
+                                                    button3.Text = Language.StringByID(StringId.coolLogic);
+                                                }
+                                                break;
+                                            case "heat":
+                                                {
+                                                    button3.Text = Language.StringByID(StringId.heatingLogic);
+                                                }
+                                                break;
+                                            case "auto":
+                                                {
+                                                    button3.Text = Language.StringByID(StringId.autoLogic);
+                                                }
+                                                break;
+                                            case "dry":
+                                                {
+                                                    button3.Text = Language.StringByID(StringId.dehumidifyLogic);
+                                                }
+                                                break;
+                                        }
+
+
+
+                                    }
+                                    break;
+                                case "fan":
+                                    {
+                                        switch (value)
+                                        {
+                                            case "high":
+                                                {
+                                                    button4.Text = Language.StringByID(StringId.HighWindSpeed);
+                                                }
+                                                break;
+                                            case "medium":
+                                                {
+                                                    button4.Text = Language.StringByID(StringId.MiddleWindSpeed);
+                                                }
+                                                break;
+                                            case "low":
+                                                {
+                                                    button4.Text = Language.StringByID(StringId.LowWindSpeed);
+                                                }
+                                                break;
+                                            case "auto":
+                                                {
+                                                    button4.Text = Language.StringByID(StringId.Auto);
+                                                }
+                                                break;
+                                        }
+
+
+                                    }
+                                    break;
+
+
+                            }
+
+                        }
+
+                    }
+                    break;
+                case FunctionType.FloorHeating:
+                    {
 
                         foreach (var dic in dicList)
                         {
@@ -580,27 +1024,58 @@
                                                     button1.Text = Language.StringByID(StringId.offLogic);
                                                 }
                                                 break;
-                                            case "stop":
-                                                {
-                                                    button1.Text = Language.StringByID(StringId.stop);
-                                                }
-                                                break;
                                         }
                                     }
                                     break;
-                                case "brightness":
+                                case "set_temp":
                                     {
-
-                                        button2.Text = value;
+                                        button2.Text = value + "鈩�";
                                     }
                                     break;
+                                case "mode":
+                                    {
+                                        switch (value)
+                                        {
+                                            case "day":
+                                                {
+                                                    button3.Text = Language.StringByID(StringId.dayMode);
+                                                }
+                                                break;
+                                            case "night":
+                                                {
+                                                    button3.Text = Language.StringByID(StringId.nightMode);
+                                                }
+                                                break;
+
+                                            case "away":
+                                                {
+                                                    button3.Text = Language.StringByID(StringId.leaveMode);
+                                                }
+                                                break;
+                                            case "normal":
+                                                {
+                                                    button3.Text = Language.StringByID(StringId.ordinaryMode);
+                                                }
+                                                break;
+                                            case "timer":
+                                                {
+                                                    button3.Text = Language.StringByID(StringId.timeMode);
+                                                }
+                                                break;
+                                        }
+
+
+
+                                    }
+                                    break;
+
                             }
 
                         }
+
                     }
                     break;
             }
-
         }
         /// <summary>
         /// 娣诲姞澶勭悊閫変腑鏁版嵁
@@ -665,6 +1140,6 @@
 
         }
 
-      
+
     }
 }

--
Gitblit v1.8.0