From dc9a1b15bb69227e19afc070adf58156a362d2a2 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期一, 30 九月 2024 17:07:58 +0800 Subject: [PATCH] 安卓可视对讲响铃, --- HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 78 ++++++++++++++++++++++++++++++++++---- 1 files changed, 69 insertions(+), 9 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index 1bdd1b3..a4654d1 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -455,6 +455,7 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.HvacAcPanel: case SPK.AcIr: { #region 鐣岄潰 @@ -492,6 +493,7 @@ int min = device.GetAttribute("set_temp") == null ? 16 : device.GetAttribute("set_temp").min; int max = device.GetAttribute("set_temp") == null ? 32 : device.GetAttribute("set_temp").max; string unit = InpOrOutLogicMethod.Current.GetTemperatureUnit(device); + var setTempAttr = device.GetAttribute(FunctionAttributeKey.SetTemp); ///娓╁害鐐瑰嚮浜嬩欢 temperatureView.btnClick.MouseUpEventHandler += (sender, e) => { @@ -508,7 +510,7 @@ string set_temp_value = stateStr.Replace(unit, ""); //鏁版嵁灏佽 AddDictionary(keyVlaue, set_temp_value); - }, min, max, unit); + }, min, max, unit, setTempAttr.step); }; ///妯″紡鐐瑰嚮浜嬩欢 @@ -562,7 +564,7 @@ } break; case SPK.FloorHeatStandard: - case SPK.HvacFloorHeat: + case SPK.HvacFloorHeat:case SPK.HvacFloorHeatPanel: { #region 鐣岄潰 ///寮�鍏� @@ -586,6 +588,7 @@ DelayView(fLayout, floorHeatingModehView.frameLayout.Bottom); #endregion #region 鐐瑰嚮浜嬩欢 + var setTempAttr = device.GetAttribute(FunctionAttributeKey.SetTemp); ///寮�鍏崇偣鍑讳簨浠� floorHeatingSwitchVie.btnClick.MouseUpEventHandler += (sender, e) => { @@ -611,7 +614,7 @@ //鏁版嵁灏佽 AddDictionary(keyVlaue, set_temp_value); - }, min, max, unit); + }, min, max, unit, setTempAttr.step); }; ///妯″紡鐐瑰嚮浜嬩欢 @@ -736,8 +739,13 @@ case SPK.AvMusic: { #region 鐣岄潰 + ///寮�鍏� + LogicView.FunTypeView switchVie = new LogicView.FunTypeView(); + switchVie.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(switchVie.FLayoutView()); //鎻愮ず璇煶 LogicView.FunTypeView funTypeView = new LogicView.FunTypeView(); + funTypeView.frameLayout.Y = switchVie.frameLayout.Bottom; funTypeView.btnText.TextID = StringId.tishiyin; fLayout.AddChidren(funTypeView.FLayoutView()); ///闊抽噺 @@ -754,9 +762,41 @@ ///璁惧寤舵椂iewv - DelayView(fLayout, volView.frameLayout.Bottom); + var delayView = DelayView(fLayout, volView.frameLayout.Bottom); + if (edit ) + { + Output outputs = Logic.currlogic.output[index]; + var dicList = outputs.status.Find((obj) => obj.ContainsValue(FunctionAttributeKey.OnOff)); + if (dicList != null) + { + if (dicList.ContainsValue( "off") || dicList.ContainsValue("pause")) + { + funTypeView.frameLayout.Visible = false; + volView.frameLayout.Visible = false; + delayView.frameLayout.Y = switchVie.frameLayout.Bottom; + } + } + } #endregion #region 鐐瑰嚮浜嬩欢 + ///寮�鍏崇偣鍑讳簨浠� + switchVie.btnClick.MouseUpEventHandler += (sender, e) => + { + SwitchViewMethod(device, switchVie.btnState, 2, (v) => { + if (v == "on") + { + funTypeView.frameLayout.Visible = true; + volView.frameLayout.Visible = true; + delayView.frameLayout.Y = volView.frameLayout.Bottom; + } + else + { + funTypeView.frameLayout.Visible = false; + volView.frameLayout.Visible = false; + delayView.frameLayout.Y = switchVie.frameLayout.Bottom; + } + }); + }; ///鎻愮ず璇煶鐐瑰嚮浜嬩欢 funTypeView.btnClick.MouseUpEventHandler += (sender, e) => { @@ -820,7 +860,7 @@ if (edit) { //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� - GetEditDeviceState(device, index, funTypeView.btnState, volView.btnState, null, null); + GetEditDeviceState(device, index, switchVie.btnState, funTypeView.btnState, volView.btnState, null); } #endregion @@ -948,9 +988,10 @@ } case SPK.HvacAC: case SPK.AcIr: + case SPK.HvacAcPanel: case SPK.AcStandard: case SPK.FloorHeatStandard: - case SPK.HvacFloorHeat: + case SPK.HvacFloorHeat:case SPK.HvacFloorHeatPanel: { //鍋氫簡涓�涓壒娈婂鐞嗭紱 bool _bool = false; @@ -990,6 +1031,23 @@ var diclist = dicSateteList.FindAll((dic) => !dic.ContainsValue(volume)); dicList.AddRange(diclist);//鍐嶆坊鍔犲叾瀹冨睘鎬� dicSateteList = dicList;//閲嶆柊璧嬪�� + } + var onoffDic = dicSateteList.Find((obj) => obj.ContainsValue("on_off")); + if (onoffDic != null) + { + if (onoffDic.ContainsValue("off")) + { + for(int i =0;i<dicSateteList.Count;) + { + var d = dicSateteList[i]; + if(!d.ContainsValue("on_off") || d.ContainsValue("delay")) + { + dicSateteList.Remove(d); + continue; + } + i++; + } + } } } break; @@ -1041,7 +1099,7 @@ /// </summary> /// <param name="fLayout">鐖舵帶浠�</param> /// <param name="bottomY">鍦ㄥ摢涓帶浠朵笅闈�</param> - private void DelayView(FrameLayout fLayout, int bottomY) + private LogicView.FunTypeView DelayView(FrameLayout fLayout, int bottomY) { LogicView.FunTypeView delayView = new LogicView.FunTypeView(); delayView.frameLayout.Y = bottomY; @@ -1061,6 +1119,7 @@ selectedState = "delay_" + strdelay; }); }; + return delayView; } @@ -1070,7 +1129,8 @@ /// <param name="device"></param> /// <param name="button"></param> /// <param name="len">鏄剧ず閫夋嫨View鏁伴噺</param> - private void SwitchViewMethod(Entity.Function device, Button button, int len) + /// <param name="action">鐐瑰嚮鍥炶皟浜嬩欢锛岀敤鏉ョ粰闊充箰鍒锋柊鐣岄潰浣跨敤锛寃xr 2024-01-04 16:03:47</param> + private void SwitchViewMethod(Entity.Function device, Button button, int len,Action<string> action = null) { #region 鐣岄潰 FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence }; @@ -1131,11 +1191,11 @@ } break; - } //鏁版嵁灏佽 AddDictionary(key, value); + action?.Invoke(value); }); #endregion } -- Gitblit v1.8.0