From 6ba43603ccd8868a4ee73e9b978b7cb20a5b2c52 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 04 十二月 2020 14:24:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/WJC'
---
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