From fb5f023820eb6783bd62d0d69d9afbd00cd3f426 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期一, 07 十二月 2020 16:50:47 +0800 Subject: [PATCH] 2020-12-07-1 --- HDL-ON_Android/Assets/Language.ini | 7 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 70 --- .vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm | 0 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 319 ++++++++++++++++- HDL_ON/Common/R.cs | 12 .vs/HDL_APP_Project/xs/sqlite3/storage.ide | 0 HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs | 4 .vs/HDL_APP_Project/xs/UserPrefs.xml | 19 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 625 ++++++++++++++++++++++++++++++++- .vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal | 0 10 files changed, 925 insertions(+), 131 deletions(-) diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml index ea57df5..f656f4a 100644 --- a/.vs/HDL_APP_Project/xs/UserPrefs.xml +++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml @@ -1,12 +1,16 @@ 锘�<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default"> <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.D4411691-F5B8-40F4-97C1-964F33115DBC" /> - <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/FunTypeView.cs"> + <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs"> <Files> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" Line="86" Column="79" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" Line="20" Column="71" /> <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs" Line="478" Column="44" /> - <File FileName="HDL-ON_Android/Assets/Language.ini" Line="494" Column="1" /> - <File FileName="HDL_ON/Common/R.cs" Line="491" Column="41" /> + <File FileName="HDL-ON_Android/Assets/Language.ini" Line="507" Column="1" /> + <File FileName="HDL_ON/Common/R.cs" Line="495" Column="43" /> <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/FunTypeView.cs" Line="5" Column="18" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs" Line="48" Column="46" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs" Line="70" Column="18" /> + <File FileName="HDL_ON/Entity/Enumerative/MyEnum.cs" Line="6" Column="17" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" Line="1" Column="1" /> </Files> <Pads> <Pad Id="ProjectPad"> @@ -14,13 +18,14 @@ <Node name="HDL_APP_Project" expanded="True"> <Node name="HDL_ON" expanded="True"> <Node name="Common" expanded="True" /> + <Node name="Entity" expanded="True"> + <Node name="Enumerative" expanded="True" /> + </Node> <Node name="UI" expanded="True"> <Node name="UI2" expanded="True"> <Node name="3-Intelligence" expanded="True"> <Node name="Automation" expanded="True"> - <Node name="LogicView" expanded="True"> - <Node name="FunTypeView.cs" selected="True" /> - </Node> + <Node name="InpOrOutLogicMethod.cs" selected="True" /> </Node> </Node> </Node> diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide index a4d5952..a309c1e 100644 --- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide +++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide Binary files differ diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm index 2f2c603..2768cce 100644 --- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm +++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm Binary files differ diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal index 9d4ce8e..07fe6ca 100644 --- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal +++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal Binary files differ diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini index cbda4ec..4e66eb0 100644 --- a/HDL-ON_Android/Assets/Language.ini +++ b/HDL-ON_Android/Assets/Language.ini @@ -496,6 +496,13 @@ 7059=鍒剁儹 7060=鑷姩 7061=闄ゆ箍 +7062=娓╁害 +7063=椋庨�� +7064=鐧藉ぉ +7065=澶滄櫄 +7066=绂诲紑 +7067=涓�鑸� +7068=鏃堕棿 diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs index 3a80665..adffa7d 100644 --- a/HDL_ON/Common/R.cs +++ b/HDL_ON/Common/R.cs @@ -489,8 +489,16 @@ public const int heatingLogic = 7059; public const int autoLogic = 7060; public const int dehumidifyLogic = 7061; - - + public const int temperatureLogic = 7062; + public const int speedLogic = 7063; + public const int dayMode = 7064; + public const int nightMode = 7065; + public const int leaveMode = 7066; + public const int ordinaryMode = 7067; + public const int timeMode = 7068; + + + #region LE鏂板 /// <summary> diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index bff9973..7a6bcc0 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -163,7 +163,7 @@ public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout) { - for (int i = 0; i < Logic.currlogic.output.Count; i++) + for (int i = 0; i < Logic.currlogic.output.Count; i++) { Output outputTarget = Logic.currlogic.output[i]; ///鍚勭鏉′欢鐨刅iew @@ -195,9 +195,9 @@ { case FunctionType.Relay: {//寮�鍏崇伅 + foreach (var dic in dicList) { - string value = dic["value"]; if (value == "on") { @@ -212,39 +212,40 @@ targetView.btnState.Text = stateStr; } break; + case FunctionType.RGB: + case FunctionType.RGBW: + case FunctionType.CCT: case FunctionType.Dimmer: { - bool _if = false; - foreach (var dic in dicList) + string on_off = GetKeyValue("on_off", dicList); + string brightness = GetKeyValue("brightness", dicList); + if (on_off != "") { - - if (dic["key"] == "on_off") + if (on_off == "on") { - string value = dic["value"]; - if (value == "on") - { - targetView.btnState.Text = Language.StringByID(StringId.onLogic); - _if = false; - } - else - { - targetView.btnState.Text = Language.StringByID(StringId.offLogic); - _if = true; - } + stateStr = Language.StringByID(StringId.onLogic); + } - - } - foreach (var dic in dicList) - { - if (dic["key"] == "brightness") + else { - string value = dic["value"]; - if (!_if) - { - targetView.btnState.Text += value; - } + stateStr = Language.StringByID(StringId.offLogic); + } } + if (brightness != "") + { + stateStr += brightness + "%"; + } + if (on_off != "" && on_off == "off") + { + targetView.btnState.Text = Language.StringByID(StringId.offLogic); + } + else + { + targetView.btnState.Text = stateStr; + + } + } break; case FunctionType.Curtain: @@ -274,6 +275,245 @@ targetView.btnState.Text = stateStr; } break; + case FunctionType.TrietexCurtain: + case FunctionType.RollerCurtain: + {//寮�鍏崇伅 + string on_off = GetKeyValue("on_off", dicList); + string brightness = GetKeyValue("brightness", dicList); + if (on_off != "") + { + switch (on_off) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic); + + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic); + + } + break; + case "stop": + { + stateStr = Language.StringByID(StringId.stop); + } + break; + } + } + if (brightness != "") + { + stateStr += brightness + "%"; + + } + + if (on_off != "" && on_off == "stop") + { + targetView.btnState.Text = Language.StringByID(StringId.stop); + } + else + { + targetView.btnState.Text = stateStr; + + } + + } + break; + case FunctionType.AC: { + string on_off = GetKeyValue("on_off", dicList); + string set_temp = GetKeyValue("set_temp", dicList); + string mode = GetKeyValue("mode", dicList); + string fan = GetKeyValue("fan", dicList); + if (on_off != "") { + switch (on_off) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic)+","; + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic) + ","; + } + break; + + } + } + + if (set_temp != "") + { + + stateStr += set_temp + "鈩�,"; + } + + if (mode != "") + { + + switch (mode) + { + case "cool": + { + stateStr += Language.StringByID(StringId.coolLogic)+","; + } + break; + case "heat": + { + stateStr += Language.StringByID(StringId.heatingLogic) + ","; + } + break; + case "auto": + { + stateStr += Language.StringByID(StringId.autoLogic) + ","; + } + break; + case "dry": + { + stateStr += Language.StringByID(StringId.dehumidifyLogic) + ","; + } + break; + } + + } + + if (fan != "") + { + + switch (fan) + { + case "high": + { + stateStr += Language.StringByID(StringId.HighWindSpeed)+","; + } + break; + case "medium": + { + stateStr += Language.StringByID(StringId.MiddleWindSpeed) + ","; + } + break; + case "low": + { + stateStr += Language.StringByID(StringId.LowWindSpeed) + ","; + } + break; + case "auto": + { + stateStr += Language.StringByID(StringId.Auto) + ","; + } + break; + } + + } + if (on_off != "" && on_off == "off") + { + targetView.btnState.Text = Language.StringByID(StringId.offLogic); + } + else { + targetView.btnState.Text = stateStr.TrimEnd(','); + + } + + } + break; + case FunctionType.FloorHeating: + { + string on_off = GetKeyValue("on_off", dicList); + string set_temp = GetKeyValue("set_temp", dicList); + string mode = GetKeyValue("mode", dicList); + if (on_off != "") + { + switch (on_off) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic) + ","; + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic) + ","; + } + break; + + } + } + if (set_temp != "") + { + + stateStr += set_temp + "鈩�,"; + } + if (mode != "") + { + + switch (mode) + { + case "day": + { + stateStr += Language.StringByID(StringId.dayMode)+","; + } + break; + case "night": + { + stateStr += Language.StringByID(StringId.nightMode) + ","; + } + break; + + case "away": + { + stateStr += Language.StringByID(StringId.leaveMode) + ","; + } + break; + case "normal": + { + stateStr += Language.StringByID(StringId.ordinaryMode) + ","; + } + break; + case "timer": + { + stateStr += Language.StringByID(StringId.timeMode) + ","; + } + break; + } + + + switch (mode) + { + case "cool": + { + stateStr += Language.StringByID(StringId.coolLogic) + ","; + } + break; + case "heat": + { + stateStr += Language.StringByID(StringId.heatingLogic) + ","; + } + break; + case "auto": + { + stateStr += Language.StringByID(StringId.autoLogic) + ","; + } + break; + case "dry": + { + stateStr += Language.StringByID(StringId.dehumidifyLogic) + ","; + } + break; + } + + } + if (on_off != "" && on_off == "off") + { + targetView.btnState.Text =Language.StringByID(StringId.offLogic); + } + else + { + targetView.btnState.Text = stateStr.TrimEnd(','); + + } + } + break; } } break; @@ -293,7 +533,7 @@ foreach (var dic in dicList) { string value = dic["value"]; - targetView.btnText.Text =value; + targetView.btnText.Text = value; } } break; @@ -329,7 +569,7 @@ AddTarget addTarget = new AddTarget(); addTarget.Delayed(fLayout, edit, indexVulae); - + } break; } @@ -343,5 +583,26 @@ } } + /// <summary> + /// 鑾峰彇value閿�� + /// </summary> + /// <param name="keyValue"></param> + /// <param name="dicList"></param> + /// <returns></returns> + private static string GetKeyValue(string keyValue, List<Dictionary<string, string>> dicList) + { + + string valueStr = ""; + foreach (var dic in dicList) + { + if (dic["key"] == keyValue) + { + valueStr = dic["value"]; + break; + } + + } + return valueStr; + } } } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs index 1dbe612..a8ec927 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs @@ -55,17 +55,22 @@ logicId = sOidBeginsWith + sTimeSpan; - logicId += "0A"; - logicId += "0A01"; - //0A01 鐗╂ā鍨嬩负閫昏緫锛� 0001 琛ㄧず 1 鍙烽�昏緫鍔熻兘 - int iTopLogicId = 1; + logicId += "15"; + logicId += "1501"; + //1501 鐗╂ā鍨嬩负閫昏緫锛� 0001 琛ㄧず 1 鍙烽�昏緫鍔熻兘 + int maxId = 1; - Random random = new Random(); - iTopLogicId = random.Next(0, 255); - iTopLogicId += random.Next(0, 255); - logicId += iTopLogicId.ToString("X4");//閫昏緫鍙� 涓や釜byte - logicId += "1100"; + for (int i = 0; i < Logic.LogicList.Count; i++) + { + string s = Logic.LogicList[i].sid.Substring(20, 4); + int iThisSceneId = Convert.ToInt16(s, 16); + if (iThisSceneId > maxId) + maxId = iThisSceneId ; + } + + logicId += (maxId+1).ToString("X4");//閫昏緫鍙� 涓や釜byte + logicId += "0000"; } catch { @@ -73,53 +78,6 @@ } return logicId; } - - /// <summary> - /// 鐢熸垚閫昏緫sid鏂规硶 - /// </summary> - //public static string NewSid() - //{ - // String sLogicid = ""; - // try - // { - // String sOidBeginsWith = "000101";//鍘傚晢 + 閫氳鏂瑰紡 - // //鐢熸垚4涓猙yte鏃堕棿鎴� - // DateTime dt = DateTime.Now; - // long sTimeSp = GateWay.ConvertDateTimeLong(dt); - // string sTimeSpan = ""; - // GateWay.ConvertIntToByteArray(sTimeSp, ref sTimeSpan); - // if (sTimeSpan.Length != 8) return sLogicid; - // //闂撮殧10姣 閿欏紑鏃堕棿鎴� - // HDLUDP.TimeBetwnNext(10); - // sLogicid = sOidBeginsWith + sTimeSpan; - // //1501 鐗╂ā鍨嬩负鑷姩鍖栵紝 0001 琛ㄧず 1 鍙疯嚜鍔ㄥ寲鍔熻兘 - // sLogicid += "15"; - // sLogicid += "1501"; - // //鑷姩鍖栧彿鑷 - // int iTopSceneId = 1; - // if (myGateway.LogicResponse != null) - // { - // if (myGateway.LogicResponse.objects != null) - // { - // for (int i = 0; i < myGateway.LogicResponse.objects.Count; i++) - // { - // string ccc = myGateway.LogicResponse.objects[i].sid.Substring(myGateway.LogicResponse.objects[i].sid.Length - 8, 4); - // int iThisSceneId = Convert.ToInt16(myGateway.LogicResponse.objects[i].sid.Substring(myGateway.LogicResponse.objects[i].sid.Length - 8, 4), 16); - // if (iThisSceneId >= iTopSceneId) - // iTopSceneId = iThisSceneId + 1; - // } - // } - // } - // sLogicid += iTopSceneId.ToString("X4");//鍦烘櫙鍙� 涓や釜byte - // //澶х被灏忕被娌℃湁鐢ㄥ埌 鍥哄畾涓�0 - // sLogicid += "0000"; - // return sLogicid; - // } - // catch - // { - // return sLogicid; - // } - //} /// <summary> /// 灏佽Dictionary瀵硅薄 diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index fe144d9..01a8209 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -52,7 +52,7 @@ case FunctionType.CCT: { //2琛ㄧず(寮�锛屽叧)鍔熻兘 - SwitchBrightnessView(fLayout, device, index, edit,2); + SwitchBrightnessView(fLayout, device, index, edit, 2); } break; case FunctionType.Relay: @@ -75,25 +75,105 @@ SwitchBrightnessView(fLayout, device, index, edit, 3); } break; - case FunctionType.AC: { + 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); + selectedState = device.functionType + "_set_temp"; + AddDictionaryData(dicSateteList, keyVlaue, dic); + RemView(frame); + temperatureView.btnState.Text = temperature; + + }; + }; + ///妯″紡鐐瑰嚮浜嬩欢 acModehView.btnClick.MouseUpEventHandler += (sender, e) => { @@ -109,14 +189,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,16 +226,260 @@ }; } - 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 (acModehView.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, 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) => + { + 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), + }; + 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(); + }; + ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵�� + 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 (floorHeatingModehView.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(), "FloorHeating")); + floorHeatingModehView.btnState.Text = checkBtn.Tag.ToString(); selectedState = device.functionType + "_mode"; AddDictionaryData(dicSateteList, keyVlaue, dic); RemView(frame); @@ -162,8 +487,9 @@ }; if (edit) { - GetEditState(device, index, curtainSwitchView.btnState, null, null, null); + GetEditState(device, index, floorHeatingSwitchVie.btnState, temperatureView.btnState, floorHeatingModehView.btnState, null); } + #endregion } break; @@ -213,23 +539,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 +625,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 +654,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 鐣岄潰 ///寮�鍏� @@ -280,7 +666,7 @@ brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom; if (device.functionType == FunctionType.TrietexCurtain || device.functionType == FunctionType.RollerCurtain) { - + brightnessView.btnText.TextID = StringId.percentum; } else @@ -378,7 +764,6 @@ } - /// <summary> /// 浜害/鐧惧垎姣�=鍔熻兘涓嬩竴绾х晫闈� /// </summary> @@ -559,7 +944,8 @@ } break; case FunctionType.TrietexCurtain: - case FunctionType.RollerCurtain: { + case FunctionType.RollerCurtain: + { foreach (var dic in dicList) { @@ -597,6 +983,175 @@ } } + } + break; + 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) + { + 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 "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; } @@ -665,6 +1220,6 @@ } - + } } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs index 634e7b0..f8a497a 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs @@ -90,13 +90,13 @@ { LogicView.TimeView timePointView = new LogicView.TimeView(); timePointView.FLayoutView(fLayout); - EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) => + EventHandler<MouseEventArgs> removefLayout = (sender, e1) => { //绉婚櫎fLayout鐣岄潰 fLayout.RemoveFromParent(); }; //鍙栨秷鐐瑰嚮浜嬩欢 - timePointView.btnCancel.MouseUpEventHandler += RemovefLayout; + timePointView.btnCancel.MouseUpEventHandler += removefLayout; //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩) timePointView.mUIPickerView.setNPicker(timePointView.GethStringList(), timePointView.GetmStringList(), null); -- Gitblit v1.8.0