From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 25 七月 2024 17:25:59 +0800 Subject: [PATCH] 2024年07月25日17:24:45 --- HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 109 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 99 insertions(+), 10 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index a9274cb..9a2e707 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -22,6 +22,10 @@ /// </summary> private Button btnDelay =null; /// <summary> + /// 褰撳墠璁惧 + /// </summary> + private Function device; + /// <summary> /// 瀹氫箟涓�涓褰曢�変腑璁惧鐘舵�佸垪琛紱 /// </summary> private List<Dictionary<string, string>> dicSateteList = new List<Dictionary<string, string>>(); @@ -32,6 +36,7 @@ public void Show(Entity.Function device, int index, bool edit) { #region 鐣岄潰甯冨眬 + this.device = device; this.BackgroundColor = CSS.CSS_Color.viewMiddle; LogicView.TopView topView = new LogicView.TopView(); this.AddChidren(topView.FLayoutView()); @@ -180,7 +185,8 @@ }; break; - //寮�鍏崇伅鍏� + //寮�鍏崇伅鍏� + case SPK.OtherCommon: case SPK.AirSwitch: case SPK.LightSwitch: case SPK.ElectricSocket: @@ -730,8 +736,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()); ///闊抽噺 @@ -748,9 +759,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) => { @@ -814,7 +857,7 @@ if (edit) { //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� - GetEditDeviceState(device, index, funTypeView.btnState, volView.btnState, null, null); + GetEditDeviceState(device, index, switchVie.btnState, funTypeView.btnState, volView.btnState, null); } #endregion @@ -985,6 +1028,23 @@ 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; case SPK.GroupControl: @@ -1035,12 +1095,12 @@ /// </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; delayView.btnText.TextID = StringId.Delay; - delayView.btnState.Text = strdelay + "s"; + delayView.btnState.Text = LogicMethod.Current.getTimeStr(strdelay); fLayout.AddChidren(delayView.FLayoutView()); ///璧嬪�煎璞� this.btnDelay = delayView.btnState; @@ -1050,11 +1110,12 @@ InpOrOutLogicMethod inpOrOutLogicMethod = new InpOrOutLogicMethod(); inpOrOutLogicMethod.Delayed(this, strdelay, (value) => { - selectedState = "delay_" + strdelay; strdelay = value.ToString(); - delayView.btnState.Text = strdelay + "s"; + delayView.btnState.Text = LogicMethod.Current.getTimeStr(strdelay); + selectedState = "delay_" + strdelay; }); }; + return delayView; } @@ -1064,7 +1125,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 }; @@ -1091,6 +1153,7 @@ } break; } + //鐣岄潰鏄剧ず閫変腑鍊� button.TextID = id; selectedState = device.spk + "_" + value; @@ -1115,11 +1178,20 @@ } break; + case SPK.ElectricalTvHisense: + { + if ("on" == value) + { + key = "wol"; + } + } + break; } //鏁版嵁灏佽 AddDictionary(key, value); + action?.Invoke(value); }); #endregion } @@ -1275,7 +1347,7 @@ if (this.btnDelay != null) { ///寤舵椂鏄剧ず鏂囨湰 - this.btnDelay.Text = outputs.delay + "s"; + this.btnDelay.Text =LogicMethod.Current.getTimeStr(outputs.delay); this.strdelay = outputs.delay; } InpOrOutLogicMethod.Current.EditDeviceState(device, dicList, button1, button2, button3, button4, attribute); @@ -1301,6 +1373,22 @@ /// <returns></returns> private void AddDictionaryList(string key, Dictionary<string, string> dictionary) { + + if (this.device.spk == SPK.ElectricalTvHisense) + { + //鐗规畩澶勭悊 + if (key == "on_off") + { + key = "wol"; + } + else if (key == "wol") + { + key = "on_off"; + } + + } + + int indexValue = -1; for (int i = 0; i < dicSateteList.Count; i++) { @@ -1326,7 +1414,8 @@ dicSateteList.Add(dictionary); } - } + } + /// <summary> /// 娣诲姞鐩爣 /// </summary> -- Gitblit v1.8.0