From 62d77d3bb8e7215d9da9ecf6f5aeda0b69f805f8 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期二, 08 十二月 2020 18:57:15 +0800 Subject: [PATCH] 20201208 --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 101 insertions(+), 16 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 5f3a71b..bff9973 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -10,14 +10,14 @@ /// </summary> /// <param name="thisView">褰撳墠鐣岄潰</param> /// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param> - public static void InputCondition(FrameLayout thisView,VerticalScrolViewLayout viewLayout) + public static void InputCondition(FrameLayout thisView, VerticalScrolViewLayout viewLayout) { for (int i = 0; i < Logic.currlogic.input.Count; i++) { Input inputCondition = Logic.currlogic.input[i]; ///鍚勭鏉′欢鐨刅iew LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView(); - viewLayout.AddChidren(inputView.FLayoutView()); + inputView.FLayoutView(viewLayout); ///璁板綍鏉′欢绫诲瀷 inputView.btnClick.Name = inputCondition.condition_type; ///璁板綍鏉′欢绱㈠紩 @@ -36,7 +36,6 @@ inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value; inputView.btnClick.AddTag("timepoint", value); } - } break; case "2": @@ -64,11 +63,24 @@ //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� switch (device.functionType) { + //寮�鍏崇伅鍏� light.Switch + case FunctionType.Dimmer: + case FunctionType.RGB: + case FunctionType.RGBW: + case FunctionType.CCT: case FunctionType.Relay: + //绐楀笜 + case FunctionType.Curtain: + case FunctionType.RollerCurtain: + case FunctionType.TrietexCurtain: + //绌鸿皟 + case FunctionType.AC: + //鍦扮儹 + case FunctionType.FloorHeating: {//寮�鍏崇伅 foreach (var dic in dicList) { - + string value = dic["value"]; if (value == "on") { @@ -95,8 +107,6 @@ int indexVulae = int.Parse(inputView.btnClick.Tag.ToString()); //鏍囪缂栬緫鐘舵�� bool edit = true; - //琛ㄧず鏄潯浠� - string if_type = LogicMethod.condition_if; switch (button.Name) { case "1": @@ -126,15 +136,21 @@ { //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.GetDevice(inputCondition.sid); - DeviceFunList deviceFunList = new DeviceFunList(); + ConditionDeviceFunList deviceFunList = new ConditionDeviceFunList(); MainPage.BasePageView.AddChidren(deviceFunList); - deviceFunList.Show(device, indexVulae,edit, if_type); + deviceFunList.Show(device, indexVulae, edit); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } break; - + } + }; + ///鍒犻櫎鎺т欢 + inputView.btnDel.MouseUpEventHandler += (sender, e) => + { + Logic.currlogic.input.Remove(inputCondition); + inputView.frameLayout.RemoveFromParent(); }; } @@ -152,7 +168,7 @@ Output outputTarget = Logic.currlogic.output[i]; ///鍚勭鏉′欢鐨刅iew LogicView.AddOutputInputView targetView = new LogicView.AddOutputInputView(); - viewLayout.AddChidren(targetView.FLayoutView()); + targetView.FLayoutView(viewLayout); ///璁板綍鏉′欢绫诲瀷 targetView.btnClick.Name = outputTarget.target_type; ///璁板綍鏉′欢绱㈠紩 @@ -172,6 +188,8 @@ targetView.btnText.Text = device.name; //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 targetView.btnText.Width = Application.GetRealWidth(80); + //绗竴涓彉閲忔樉绀虹姸鎬佸�� + string stateStr = ""; //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� switch (device.functionType) { @@ -183,14 +201,77 @@ string value = dic["value"]; if (value == "on") { - targetView.btnState.Text = Language.StringByID(StringId.onLogic); + stateStr = Language.StringByID(StringId.onLogic); } else { - targetView.btnState.Text = Language.StringByID(StringId.offLogic); + stateStr = Language.StringByID(StringId.offLogic); } } + targetView.btnState.Text = stateStr; + } + break; + case FunctionType.Dimmer: + { + bool _if = false; + foreach (var dic in dicList) + { + + if (dic["key"] == "on_off") + { + 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; + } + } + + } + foreach (var dic in dicList) + { + if (dic["key"] == "brightness") + { + string value = dic["value"]; + if (!_if) + { + targetView.btnState.Text += value; + } + } + } + } + break; + case FunctionType.Curtain: + {//寮�鍏崇伅 + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (value) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic); + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic); + } + break; + case "stop": + { + stateStr = Language.StringByID(StringId.stop); + } + break; + } + } + targetView.btnState.Text = stateStr; } break; } @@ -225,17 +306,15 @@ int indexVulae = int.Parse(targetView.btnClick.Tag.ToString()); //鏍囪缂栬緫鐘舵�� bool edit = true; - //琛ㄧず鏄洰鏍� - string if_type = LogicMethod.target_if; switch (button.Name) { case "1": { //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.GetDevice(outputTarget.sid); - DeviceFunList deviceFunList = new DeviceFunList(); + TargetDeviceFunList deviceFunList = new TargetDeviceFunList(); MainPage.BasePageView.AddChidren(deviceFunList); - deviceFunList.Show(device, indexVulae, edit, if_type); + deviceFunList.Show(device, indexVulae, edit); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } break; @@ -255,6 +334,12 @@ break; } }; + ///鍒犻櫎鎺т欢 + targetView.btnDel.MouseUpEventHandler += (sender, e) => + { + Logic.currlogic.output.Remove(outputTarget); + targetView.frameLayout.RemoveFromParent(); + }; } } -- Gitblit v1.8.0