From 0a11352dffeb8d5f31dd40b9728fe1abf4537f04 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 01 九月 2023 18:06:45 +0800 Subject: [PATCH] 2023年09月01日18:06:42 --- HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 201 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 152 insertions(+), 49 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index 8b698be..89a1e85 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using HDL_ON.Entity; using HDL_ON.UI.CSS; +using System.Linq; namespace HDL_ON.UI.UI2.Intelligence.Automation { @@ -58,8 +59,8 @@ { //缇ゆ帶 case SPK.GroupControl: - int bottom = 50; - int attributesNameId=0; + int height = Application.GetRealHeight(50); + int attributesNameId = 0; int count = 0; foreach (var attr in (device as GroupControl).attributes) { @@ -71,7 +72,7 @@ { LogicView.FunTypeView view = new LogicView.FunTypeView(); view.btnState.Name = "缇ゆ帶"; - view.frameLayout.Y = count * Application.GetRealHeight(50); + view.frameLayout.Y = count * height; fLayout.AddChidren(view.FLayoutView()); count++; switch (attr.key) @@ -118,6 +119,7 @@ break; case FunctionAttributeKey.Colorful: attributesNameId = StringId.ColorfulFunction; + view.btnState.Name = "colorful"; ///寮�鍏崇偣鍑讳簨浠� view.btnClick.MouseUpEventHandler += (sender, e) => { @@ -129,13 +131,13 @@ if (edit) { //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� - GetEditDeviceState(device, index, view.btnState, null, null, null); + GetEditDeviceState(device, index, view.btnState, null, null, null, attr.key); } } } //璁惧寤舵椂iewv - DelayView(fLayout, Application.GetRealHeight(50)* count); + DelayView(fLayout, height * count); break; //鎻掑骇(鏈塙SB) case SPK.PanelSocket: @@ -162,6 +164,21 @@ } #endregion } + break; + case SPK.CommonSeries: + #region 鐣岄潰 + ///寮�鍏� + LogicView.FunTypeView SerriesSwitchView = new LogicView.FunTypeView(); + SerriesSwitchView.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(SerriesSwitchView.FLayoutView()); + + #endregion + ///寮�鍏崇偣鍑讳簨浠� + SerriesSwitchView.btnClick.MouseUpEventHandler += (sender, e) => + { + SwitchViewMethod(device, SerriesSwitchView.btnState, 2); + }; + break; //寮�鍏崇伅鍏� case SPK.AirSwitch: @@ -195,8 +212,8 @@ break; //鐏厜寮�鍏� 浜害 case SPK.LightDimming: - //case SPK.LightRGB: - //case SPK.LightRGBW: + //case SPK.LightRGB: + //case SPK.LightRGBW: { #region 鐣岄潰 ///寮�鍏� @@ -468,12 +485,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 = device.GetAttribute("temperature_type") == null ? "鈩�" : device.GetAttribute("temperature_type").state; - if (string.IsNullOrEmpty(unit)) - { - //璋冭瘯杞欢鏈夌┖鑳戒笂浼犱负绌� - unit = "鈩�"; - } + string unit = InpOrOutLogicMethod.Current.GetTemperatureUnit(device); ///娓╁害鐐瑰嚮浜嬩欢 temperatureView.btnClick.MouseUpEventHandler += (sender, e) => { @@ -490,7 +502,7 @@ string set_temp_value = stateStr.Replace(unit, ""); //鏁版嵁灏佽 AddDictionary(keyVlaue, set_temp_value); - }, min,max, unit); + }, min, max, unit); }; ///妯″紡鐐瑰嚮浜嬩欢 @@ -579,11 +591,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 = device.GetAttribute("temperature_type") == null ? "鈩�" : device.GetAttribute("temperature_type").state; - if (string.IsNullOrEmpty(unit)) { - //璋冭瘯杞欢鏈夌┖鑳戒笂浼犱负绌� - unit = "鈩�"; - } + string unit = InpOrOutLogicMethod.Current.GetTemperatureUnit(device); string tempValue = temperatureView.btnState.Text; LogicView.TemperatureView tempView = new LogicView.TemperatureView(); tempView.FLayoutView(this, tempValue, (stateStr) => @@ -729,8 +737,15 @@ ///闊抽噺 LogicView.FunTypeView volView = new LogicView.FunTypeView(); volView.frameLayout.Y = funTypeView.frameLayout.Bottom; - volView.btnText.TextID = StringId.volumeMusic; + volView.btnText.TextID = StringId.volumeMusic; fLayout.AddChidren(volView.FLayoutView()); + + //if (SPK.AvMusic == device.spk) + //{ + // //涓嶆敮鎸佺壒娈婅闊� + // volView.frameLayout.Y = Application.GetRealHeight(0); + //} + ///璁惧寤舵椂iewv DelayView(fLayout, volView.frameLayout.Bottom); @@ -749,11 +764,11 @@ { //HDL_ON.DriverLayer.Control.Ins.GetMusicDirectory(device); //var palyListName = Music.SendMethod.mMethod.GetListName(device); - var palyList= Music.SendMethod.Current.GetSingleSongList(device, "hdl_special",""); - List<string> songNameList = new List<string>(); + var palyList = Music.SendMethod.Current.GetSingleSongList(device, "hdl_special", ""); + List<string> songNameList = new List<string>(); for (int i = 0; i < palyList.songs.Count; i++) { - var song = palyList.songs[i]; + var song = palyList.songs[i]; songNameList.Add(song.name); } Application.RunOnMainThread(() => @@ -762,7 +777,7 @@ PublicInterface publicInterface = new PublicInterface(); publicInterface.FrameOrVv(this, songNameList, new List<string> { funTypeView.btnState.Text }, palyList.group, (index2) => { - var songSelecetd = palyList.songs[index2]; + var songSelecetd = palyList.songs[index2]; //鐣岄潰鏄剧ず閫変腑鍊� funTypeView.btnState.Text = songSelecetd.name; //鏁版嵁灏佽 @@ -774,7 +789,7 @@ AddDictionary("url", songSelecetd.url); } - },false); + }, false); }); } @@ -788,18 +803,95 @@ selectedState = device.spk + "_volume"; new LogicView.TipPopView { }.InputBox(StringId.volumeMusic, volView.btnState.Text, (value) => { - + //鐣岄潰鏄剧ず閫変腑鍊� - volView.btnState.Text =value; + volView.btnState.Text = value; //鏁版嵁灏佽 AddDictionary("volume", value);//闊抽噺 - },0,100); + }, 0, 100); }; if (edit) { //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� GetEditDeviceState(device, index, funTypeView.btnState, volView.btnState, null, null); + } + + #endregion + } + break; + //娴蜂俊鐢佃 + case SPK.ElectricalTvHisense: + { + #region 鐣岄潰 + ///寮�鍏� + LogicView.FunTypeView switchView = new LogicView.FunTypeView(); + switchView.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(switchView.FLayoutView()); + ///闊抽噺 + LogicView.FunTypeView volView = new LogicView.FunTypeView(); + volView.frameLayout.Y = switchView.frameLayout.Bottom; + volView.btnText.TextID = StringId.yinliang; + fLayout.AddChidren(volView.FLayoutView()); + + ///淇″彿婧� + LogicView.FunTypeView sourceView = new LogicView.FunTypeView(); + sourceView.frameLayout.Y = volView.frameLayout.Bottom; + sourceView.btnText.TextID = StringId.xinhaoyuan; + fLayout.AddChidren(sourceView.FLayoutView()); + + ///璁惧寤舵椂iewv + DelayView(fLayout, sourceView.frameLayout.Bottom); + #endregion + #region 鐐瑰嚮浜嬩欢 + ///寮�鍏崇偣鍑讳簨浠� + switchView.btnClick.MouseUpEventHandler += (sender, e) => + { + SwitchViewMethod(device, switchView.btnState, 2); + }; + ///闊抽噺鐐瑰嚮浜嬩欢 + volView.btnClick.MouseUpEventHandler += (sender, e) => + { + //selectedState = device.spk + "_volume"; + //new LogicView.TipPopView { }.InputBox(StringId.volumeMusic, volView.btnState.Text, (value) => + //{ + + // //鐣岄潰鏄剧ず閫変腑鍊� + // volView.btnState.Text = value; + // //鏁版嵁灏佽 + // AddDictionary("setvolume", value);//闊抽噺 + //}, 0, 100); + + BrightnessMethod(device, volView.btnState, volView.btnText.Text); + + }; + + ///淇″彿婧愮偣鍑讳簨浠� + sourceView.btnClick.MouseUpEventHandler += (sender, e) => + { + ///涔嬪墠鐨勭姸鎬佹枃鏈� + string currText = sourceView.btnState.Text; + //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; + string key = "signal"; + selectedState = device.spk + "_" + key; + PublicInterface pif = new PublicInterface(); + var dic = pif.GetHisenseSignalSourceDic(); + pif.SingleSelectionShow(this, dic.Keys.ToList(), Language.StringByID(StringId.xinhaoyuan), currText + , (valueStr) => + { + //鐣岄潰鏄剧ず閫変腑鍊� + sourceView.btnState.Text = valueStr; + string value = pif.GetValue(dic, valueStr); + //鏁版嵁灏佽 + AddDictionary(key, value); + + }); + }; + + if (edit) + { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� + GetEditDeviceState(device, index, switchView.btnState, volView.btnState, sourceView.btnState, null); } #endregion @@ -978,10 +1070,10 @@ FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence }; this.AddChidren(frame); LogicView.SwitchView switchView = new LogicView.SwitchView(); - switchView.FLayoutView(frame, len, button.Text, (strValue) => + switchView.FLayoutView(frame, len, button.Text, (value) => { int id = 0; - switch (strValue) + switch (value) { case "on": { @@ -1001,27 +1093,33 @@ } //鐣岄潰鏄剧ず閫変腑鍊� button.TextID = id; - selectedState = device.spk + "_" + strValue; + selectedState = device.spk + "_" + value; //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; - string keyVlaue = "on_off"; + string key = "on_off"; switch (device.spk) { case SPK.PanelSocket: { if (button.Name == "鎬绘帶寮�鍏�") { - keyVlaue = "on_off_master"; + key = "on_off_master"; } } break; case SPK.GroupControl: { - keyVlaue = "colorful"; + if (button.Name == "colorful") + { + key = "colorful"; + } + } break; + } + //鏁版嵁灏佽 - AddDictionary(keyVlaue, strValue); + AddDictionary(key, value); }); #endregion } @@ -1067,6 +1165,12 @@ } } break; + case SPK.ElectricalTvHisense: + { + keyVlaue = "set_volume"; + } + break; + } //鏁版嵁灏佽 AddDictionary(keyVlaue, brightnesValue); @@ -1146,8 +1250,6 @@ } - - /// <summary> /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� @@ -1158,7 +1260,8 @@ /// <param name="button2">鏄剧ずBtn</param> /// <param name="button3">鏄剧ずBtn</param> /// <param name="button4">鏄剧ずBtn</param> - private void GetEditDeviceState(Entity.Function device, int index, Button button1, Button button2, Button button3, Button button4) + /// <param name="attribute">灞炴�ey</param> + private void GetEditDeviceState(Entity.Function device, int index, Button button1, Button button2, Button button3, Button button4, string attribute="") { Output outputs = Logic.currlogic.output[index]; var dicList = outputs.status; @@ -1175,34 +1278,34 @@ this.btnDelay.Text = outputs.delay + "s"; this.strdelay = outputs.delay; } - InpOrOutLogicMethod.Current.EditDeviceState(device, dicList, button1, button2, button3, button4); + InpOrOutLogicMethod.Current.EditDeviceState(device, dicList, button1, button2, button3, button4, attribute); } /// <summary> /// 娣诲姞閫変腑鏁版嵁 /// </summary> - /// <param name="KeyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> - /// <param name="selectedValue">鐘舵�佸��</param> - private void AddDictionary(string KeyValue, string selectedValue) + /// <param name="key">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> + /// <param name="value">鐘舵�佸��</param> + private void AddDictionary(string key, string value) { //鏁版嵁灏佽 Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.Current.dictionary(dic, "key", KeyValue); - LogicMethod.Current.dictionary(dic, "value", selectedValue); - AddDictionaryList(KeyValue, dic); + LogicMethod.Current.dictionary(dic, "key", key); + LogicMethod.Current.dictionary(dic, "value", value); + AddDictionaryList(key, dic); } /// <summary> /// 鏇存柊鏁版嵁鍒楄〃 /// </summary> - /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> + /// <param name="key">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> /// <param name="dictionary">娣诲姞閫変腑鏁版嵁</param> /// <returns></returns> - private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary) + private void AddDictionaryList(string key, Dictionary<string, string> dictionary) { int indexValue = -1; for (int i = 0; i < dicSateteList.Count; i++) { var dic = dicSateteList[i]; - if (dic.ContainsValue(keyValue)) + if (dic.ContainsValue(key)) { //鍒ゆ柇鏄惁瀛樺湪 indexValue = i; @@ -1223,7 +1326,7 @@ dicSateteList.Add(dictionary); } - } + } /// <summary> /// 娣诲姞鐩爣 /// </summary> -- Gitblit v1.8.0