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