From 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期四, 03 十二月 2020 15:35:42 +0800 Subject: [PATCH] 2020-12-03-1 --- HDL_ON/UI/UI2/3-Intelligence/Automation/DeviceFunList.cs | 394 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 267 insertions(+), 127 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/DeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/DeviceFunList.cs index e6e5698..f4b2557 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/DeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/DeviceFunList.cs @@ -13,6 +13,18 @@ /// 琛ㄧず鏄�(鏉′欢/鐩爣) /// </summary> private string if_type; + /// <summary> + /// 瀹氫箟涓�涓褰曢�変腑璁惧鐘舵�佸垪琛紱 + /// </summary> + private List<Dictionary<string, string>> dicSateteList = new List<Dictionary<string, string>>(); + /// <summary> + /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵�� + /// </summary> + private string selectedState = "unknown"; + /// <summary> + /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵�佽褰曞睘鎬� + /// </summary> + private string keyVlaue = ""; public void Show(Entity.Function device, int index, bool edit, string str) { if_type = str; @@ -33,131 +45,143 @@ }; this.AddChidren(fLayout); #endregion - //瀹氫箟涓�涓褰曢�変腑璁惧鐘舵�佸垪琛紱 - List<Dictionary<string, string>> dicSateteList = new List<Dictionary<string, string>>(); - //瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵�� - string selectedState = "unknown"; - //瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵�佽褰曞睘鎬� - string keyVlaue = ""; switch (device.functionType) { - //寮�鍏崇伅鍏� - case FunctionType.Relay: + //寮�鍏崇伅鍏� light.Switch + case FunctionType.Dimmer: { - //for (int i = 0; i < device.function.Count; i++) - //{ - //} - LogicView.SelectTypeView relayView = new LogicView.SelectTypeView(); - relayView.btnIcon.Visible = false; - relayView.btnState.Visible = true; - relayView.btnText.TextSize = LogicView.TextSize.text16; - relayView.btnText.Height = Application.GetRealHeight(22); - relayView.btnText.TextID = StringId.switchLogic; - relayView.btnText.X = Application.GetRealWidth(16); - relayView.btnText.Width = Application.GetRealWidth(130); - relayView.btnLine.X = Application.GetRealWidth(16); - relayView.btnLine.Width = Application.GetRealWidth(343); - relayView.btnState.Text = ""; - fLayout.AddChidren(relayView.FLayoutView()); - relayView.btnClick.MouseUpEventHandler += (sender, e) => + LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView(); + lightSwitchView.btnText.TextID = StringId.switchLogic; + lightSwitchView.btnState.Text = ""; + fLayout.AddChidren(lightSwitchView.FLayoutView()); + lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) => { - FrameLayout relayFunView = new FrameLayout + FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; - this.AddChidren(relayFunView); - LogicView.SwitchView switchView = new LogicView.SwitchView(); - switchView.FLayoutView(relayFunView, 2); - - Button btnOn = new Button - { - TextAlignment = TextAlignment.Center, - TextSize = LogicView.TextSize.text16, - TextColor = CSS.CSS_Color.textCancelColor, - TextID = StringId.onLogic, - Height = Application.GetRealHeight(44), - Width = Application.GetRealWidth(343), - - }; - switchView.frameLayout.AddChidren(btnOn); - Button btnLine = new Button - { - Height = 1, - BackgroundColor = CSS.CSS_Color.viewLine, - Y = btnOn.Bottom, - }; - switchView.frameLayout.AddChidren(btnLine); - Button btnOff = new Button - { - Y = btnLine.Bottom, - TextAlignment = TextAlignment.Center, - TextSize = LogicView.TextSize.text16, - TextColor = CSS.CSS_Color.textCancelColor, - TextID = StringId.offLogic, - Height = Application.GetRealHeight(44), - Width = Application.GetRealWidth(343), - }; - switchView.frameLayout.AddChidren(btnOff); - - Dictionary<string, string> dic = new Dictionary<string, string>(); - switch (if_type) - { - case LogicMethod.condition_if: - { - LogicMethod.dictionary(dic, "key", "on_off"); - LogicMethod.dictionary(dic, "comparator", "="); - LogicMethod.dictionary(dic, "data_type", "string"); - keyVlaue = "on_off"; - } - break; - case LogicMethod.target_if: - { - LogicMethod.dictionary(dic, "key", "on_off"); - keyVlaue = "on_off"; - } - break; - } - - btnOn.MouseUpEventHandler += (sender2, e2) => - { - LogicMethod.dictionary(dic, "value", "on"); - RemView(relayFunView); - relayView.btnState.TextID = StringId.onLogic; - selectedState = device.functionType + "_on"; - AddDictionaryData(dicSateteList, keyVlaue, dic); - }; - btnOff.MouseUpEventHandler += (sender3, e3) => - { - LogicMethod.dictionary(dic, "value", "off"); - RemView(relayFunView); - relayView.btnState.TextID = StringId.offLogic; - selectedState = device.functionType + "_off"; - AddDictionaryData(dicSateteList, keyVlaue, dic); - }; - - if (relayView.btnState.Text != "") - { - if (relayView.btnState.Text == btnOn.Text) - { - btnOn.TextColor = CSS.CSS_Color.textConfirmColor; - } - else - { - btnOff.TextColor = CSS.CSS_Color.textConfirmColor; - } - } - + this.AddChidren(frame); + SwitchViewMethod(frame, device, lightSwitchView.btnState,2); }; if (edit) { - GetEditState(device, edit, index, relayView.btnState, null, null, null); + GetEditState(device, edit, index, lightSwitchView.btnState, null, null, null); } } break; + case FunctionType.RGB: + { + LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView(); + lightSwitchView.btnText.TextID = StringId.switchLogic; + lightSwitchView.btnState.Text = ""; + fLayout.AddChidren(lightSwitchView.FLayoutView()); + lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) => + { + FrameLayout frame = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(frame); + SwitchViewMethod(frame, device, lightSwitchView.btnState, 2); + }; + if (edit) + { + GetEditState(device, edit, index, lightSwitchView.btnState, null, null, null); + } + } + break; + case FunctionType.RGBW: + { + LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView(); + lightSwitchView.btnText.TextID = StringId.switchLogic; + lightSwitchView.btnState.Text = ""; + fLayout.AddChidren(lightSwitchView.FLayoutView()); + lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) => + { + FrameLayout frame = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(frame); + SwitchViewMethod(frame, device, lightSwitchView.btnState, 2); + }; + if (edit) + { + GetEditState(device, edit, index, lightSwitchView.btnState, null, null, null); + } + + } + break; + case FunctionType.CCT: + { + LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView(); + lightSwitchView.btnText.TextID = StringId.switchLogic; + lightSwitchView.btnState.Text = ""; + fLayout.AddChidren(lightSwitchView.FLayoutView()); + lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) => + { + FrameLayout frame = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(frame); + SwitchViewMethod(frame, device, lightSwitchView.btnState, 2); + }; + if (edit) + { + GetEditState(device, edit, index, lightSwitchView.btnState, null, null, null); + } + + } + break; + case FunctionType.Relay: + { + LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView(); + lightSwitchView.btnText.TextID = StringId.switchLogic; + lightSwitchView.btnState.Text = ""; + fLayout.AddChidren(lightSwitchView.FLayoutView()); + lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) => + { + FrameLayout frame = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(frame); + SwitchViewMethod(frame, device, lightSwitchView.btnState, 2); + }; + if (edit) + { + GetEditState(device, edit, index, lightSwitchView.btnState, null, null, null); + } + + } + break; + //绐楀笜 + case FunctionType.Curtain: + { + LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView(); + lightSwitchView.btnText.TextID = StringId.switchLogic; + lightSwitchView.btnState.Text = ""; + fLayout.AddChidren(lightSwitchView.FLayoutView()); + lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) => + { + FrameLayout frame = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(frame); + SwitchViewMethod(frame, device, lightSwitchView.btnState, 2); + }; + if (edit) + { + GetEditState(device, edit, index, lightSwitchView.btnState, null, null, null); + } + + } + break; } - #region 淇濆瓨 @@ -270,25 +294,53 @@ } break; } - switch (device.functionType) - { - //寮�鍏崇伅鍏� - case FunctionType.Relay: - { - foreach (var dic in dicList) + if (if_type== LogicMethod.condition_if) { + switch (device.functionType) + { + //寮�鍏崇伅鍏� + case FunctionType.Relay: { - string value = dic["value"]; - if (value == "on") + foreach (var dic in dicList) { - button1.Text = Language.StringByID(StringId.onLogic); - } - else - { - button1.Text = Language.StringByID(StringId.offLogic); + string value = dic["value"]; + if (value == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + } + else + { + button1.Text = Language.StringByID(StringId.offLogic); + } } } - } - break; + break; + + } + + } + else if (if_type == LogicMethod.target_if) + { + switch (device.functionType) + { + //寮�鍏崇伅鍏� + case FunctionType.Relay: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + } + else + { + button1.Text = Language.StringByID(StringId.offLogic); + } + } + } + break; + + } } @@ -296,8 +348,8 @@ /// <summary> /// 娣诲姞閫変腑鏁版嵁 /// </summary> - /// <param name="dicList">鏁版嵁鍒楄〃</param> - /// <param name="keyValue">璇嗗埆璁惧</param> + /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param> + /// <param name="keyValue">璇嗗埆璁惧</param> /// <param name="dictionary">閫変腑鏁版嵁</param> /// <returns></returns> private void AddDictionaryData(List<Dictionary<string, string>> dicList, string keyValue, Dictionary<string, string> dictionary) @@ -306,7 +358,7 @@ for (int i = 0; i < dicList.Count; i++) { var dic = dicList[i]; - if (dic.ContainsValue(keyValue)) + if (dic.ContainsValue(keyValue)) { //鍒ゆ柇鏄惁瀛樺湪 indexValue = i; @@ -382,5 +434,93 @@ } } + /// <summary> + /// 寮�鍏冲姛鑳藉睍寮�鐣岄潰 + /// </summary> + /// <param name="frame"></param> + /// <param name="device"></param> + /// <param name="button"></param> + /// <param name="len"></param> + public void SwitchViewMethod(FrameLayout frame, Entity.Function device,Button button, int len) { + + LogicView.SwitchView switchView = new LogicView.SwitchView(); + switchView.FLayoutView(frame, len); + + Button btnOn = new Button + { + TextAlignment = TextAlignment.Center, + TextSize = LogicView.TextSize.text16, + TextColor = CSS.CSS_Color.textCancelColor, + TextID = StringId.onLogic, + Height = Application.GetRealHeight(44), + Width = Application.GetRealWidth(343), + + }; + switchView.frameLayout.AddChidren(btnOn); + Button btnLine = new Button + { + Height = 1, + BackgroundColor = CSS.CSS_Color.viewLine, + Y = btnOn.Bottom, + }; + switchView.frameLayout.AddChidren(btnLine); + Button btnOff = new Button + { + Y = btnLine.Bottom, + TextAlignment = TextAlignment.Center, + TextSize = LogicView.TextSize.text16, + TextColor = CSS.CSS_Color.textCancelColor, + TextID = StringId.offLogic, + Height = Application.GetRealHeight(44), + Width = Application.GetRealWidth(343), + }; + switchView.frameLayout.AddChidren(btnOff); + + Dictionary<string, string> dic = new Dictionary<string, string>(); + switch (if_type) + { + case LogicMethod.condition_if: + { + LogicMethod.dictionary(dic, "key", "on_off"); + LogicMethod.dictionary(dic, "comparator", "="); + LogicMethod.dictionary(dic, "data_type", "string"); + keyVlaue = "on_off"; + } + break; + case LogicMethod.target_if: + { + LogicMethod.dictionary(dic, "key", "on_off"); + keyVlaue = "on_off"; + } + break; + } + btnOn.MouseUpEventHandler += (sender2, e2) => + { + LogicMethod.dictionary(dic, "value", "on"); + RemView(frame); + button.TextID = StringId.onLogic; + selectedState = device.functionType + "_on"; + AddDictionaryData(dicSateteList, keyVlaue, dic); + }; + btnOff.MouseUpEventHandler += (sender3, e3) => + { + LogicMethod.dictionary(dic, "value", "off"); + RemView(frame); + button.TextID = StringId.offLogic; + selectedState = device.functionType + "_off"; + AddDictionaryData(dicSateteList, keyVlaue, dic); + }; + if (button.Text != "") + { + if (button.Text == btnOn.Text) + { + btnOn.TextColor = CSS.CSS_Color.textConfirmColor; + } + else + { + btnOff.TextColor = CSS.CSS_Color.textConfirmColor; + } + } + } } } -- Gitblit v1.8.0