From 320d7cc8feb394d0ce3db2ec1d01593b554d990f Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 23 十二月 2020 10:57:13 +0800 Subject: [PATCH] 2020-12-23 1.更新 --- HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 360 +++++++++++++++++++++++------------------------------------ 1 files changed, 140 insertions(+), 220 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index 01a8209..efd0aab 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -49,7 +49,7 @@ case FunctionType.Dimmer: case FunctionType.RGB: case FunctionType.RGBW: - case FunctionType.CCT: + case FunctionType.ColorTemperature: { //2琛ㄧず(寮�锛屽叧)鍔熻兘 SwitchBrightnessView(fLayout, device, index, edit, 2); @@ -63,16 +63,11 @@ break; //绐楀笜 case FunctionType.Curtain: + case FunctionType.MotorCurtain: + case FunctionType.RollingShutter: { //3琛ㄧず(寮�锛屽叧锛屾殏鍋�)鍔熻兘 SwitchView(fLayout, device, index, edit, 3); - } - break; - case FunctionType.TrietexCurtain: - case FunctionType.RollerCurtain: - { - //3琛ㄧず(寮�锛屽叧锛屾殏鍋�)鍔熻兘 - SwitchBrightnessView(fLayout, device, index, edit, 3); } break; case FunctionType.AC: @@ -137,7 +132,6 @@ //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩) view.mUIPickerView.setNPicker(temperatureList, null, null); - //榛樿鍒濆閫変腑鐘舵�� view.mUIPickerView.setCurrentItems(9, 0, 0); //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿 @@ -166,10 +160,11 @@ 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); + selectedState = device.functionType + "_set_temp"; RemView(frame); temperatureView.btnState.Text = temperature; + }; }; @@ -278,7 +273,7 @@ speedTypeView.btnText.Text = speedStr[i]; speedTypeView.btnClick.Tag = speedStr[i];//鏍囪 - if (acModehView.btnState.Text == speedStr[i]) + if (acSpeedView.btnState.Text == speedStr[i]) { //鏄剧ず涔嬪墠鐨勯�変腑鐘舵�� checkBtn.IsSelected = false; @@ -418,6 +413,11 @@ ///妯″紡鐐瑰嚮浜嬩欢 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), @@ -425,65 +425,21 @@ 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];//鏍囪 + ///涔嬪墠鐨勭姸鎬佹枃鏈� + 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 (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); - }; }; if (edit) { @@ -506,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) { //绉婚櫎鏃ф暟鎹� @@ -664,7 +682,7 @@ ///浜害 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; @@ -708,61 +726,31 @@ }; 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> /// 浜害/鐧惧垎姣�=鍔熻兘涓嬩竴绾х晫闈� @@ -778,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> @@ -887,7 +848,7 @@ case FunctionType.Dimmer: case FunctionType.RGB: case FunctionType.RGBW: - case FunctionType.CCT: + case FunctionType.ColorTemperature: { foreach (var dic in dicList) { @@ -909,7 +870,7 @@ case "brightness": { - button2.Text = value; + button2.Text = value+"%"; } break; } @@ -918,6 +879,8 @@ } break; case FunctionType.Curtain: + case FunctionType.MotorCurtain: + case FunctionType.RollingShutter: { foreach (var dic in dicList) { @@ -940,48 +903,6 @@ } break; } - } - } - break; - case FunctionType.TrietexCurtain: - case FunctionType.RollerCurtain: - { - - 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; - case "stop": - { - button1.Text = Language.StringByID(StringId.stop); - } - break; - } - } - break; - case "brightness": - { - - button2.Text = value; - } - break; - } - } } break; @@ -1155,7 +1076,6 @@ } break; } - } /// <summary> /// 娣诲姞澶勭悊閫変腑鏁版嵁 -- Gitblit v1.8.0