From 6eb21769c74cfcd10084f73ff3f212355849a3c7 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期一, 17 五月 2021 15:00:13 +0800
Subject: [PATCH] 2021-5-17-2
---
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 761 +++++++++++++++++++++++++++++----------------------------
1 files changed, 386 insertions(+), 375 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 13f658b..2bc0fba 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -1,6 +1,8 @@
-锘縰sing System;
+using System;
using Shared;
using System.Collections.Generic;
+using HDL_ON.Entity;
+
namespace HDL_ON.UI.UI2.Intelligence.Automation
{
public class TargetDeviceFunList : FrameLayout
@@ -43,87 +45,346 @@
this.AddChidren(saveView.FLayoutView());
#endregion
#region 缂栬緫璁惧鐘舵��
- switch (device.functionType)
+ switch (device.spk)
{
//寮�鍏崇伅鍏� light.Switch
- case FunctionType.Dimmer:
- case FunctionType.RGB:
- case FunctionType.RGBW:
- case FunctionType.CCT:
+ case SPK.LightDimming:
+ case SPK.LightRGB:
+ case SPK.LightRGBW:
+ case SPK.LightCCT:
{
- //2琛ㄧず(寮�锛屽叧)鍔熻兘
- SwitchBrightnessView(fLayout, device, index, edit,2);
+ #region 鐣岄潰
+ ///寮�鍏�
+ LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
+ lightSwitchView.btnText.TextID = StringId.switchLogic;
+ fLayout.AddChidren(lightSwitchView.FLayoutView());
+ ///浜害
+ LogicView.FunTypeView brightnessView = new LogicView.FunTypeView();
+ brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
+ brightnessView.btnText.TextID = StringId.brightnesLogic;
+ fLayout.AddChidren(brightnessView.FLayoutView());
+ #endregion
+ #region 鐐瑰嚮浜嬩欢
+ ///寮�鍏崇偣鍑讳簨浠�
+ lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ SwitchViewMethod(device, lightSwitchView.btnState, 2);
+ };
+ ///浜害鐐瑰嚮浜嬩欢
+ brightnessView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text);
+
+ };
+ if (edit)
+ {
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+ GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
+ }
+ #endregion
}
break;
- case FunctionType.Relay:
+ case SPK.LightSwitch:
{
- //2琛ㄧず(寮�锛屽叧)鍔熻兘
- SwitchView(fLayout, device, index, edit, 2);
+ #region 鐣岄潰
+ ///寮�鍏�
+ LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
+ lightSwitchView.btnText.TextID = StringId.switchLogic;
+ fLayout.AddChidren(lightSwitchView.FLayoutView());
+ #endregion
+ #region 鐐瑰嚮浜嬩欢
+ ///寮�鍏崇偣鍑讳簨浠�
+ lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ SwitchViewMethod(device, lightSwitchView.btnState, 2);
+ };
+ if (edit)
+ {
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+ GetEditState(device, index, lightSwitchView.btnState, null, null, null);
+ }
+ #endregion
}
break;
//绐楀笜
- case FunctionType.Curtain:
+ case SPK.CurtainSwitch:
+ case SPK.CurtainTrietex:
+ case SPK.CurtainRoller:
{
- //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: {
#region 鐣岄潰
///寮�鍏�
LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
curtainSwitchView.btnText.TextID = StringId.switchLogic;
fLayout.AddChidren(curtainSwitchView.FLayoutView());
-
- ///妯″紡
- LogicView.FunTypeView acModehView = new LogicView.FunTypeView();
- acModehView.frameLayout.Y = curtainSwitchView.frameLayout.Bottom;
- acModehView.btnText.TextID = StringId.switchLogic;
- fLayout.AddChidren(acModehView.FLayoutView());
#endregion
#region 鐐瑰嚮浜嬩欢
///寮�鍏崇偣鍑讳簨浠�
curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
{
- SwitchViewMethod(device, curtainSwitchView.btnState, 2);
- };
- acModehView.btnClick.MouseUpEventHandler += (sender, e) =>
- {
- FrameLayout frame = new FrameLayout
- {
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- this.AddChidren(frame);
-
+ SwitchViewMethod(device, curtainSwitchView.btnState, 3);
};
if (edit)
{
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
}
+ #endregion
+ }
+ break;
+ case SPK.AcStandard:
+ {
+ #region 鐣岄潰
+ ///寮�鍏�
+ LogicView.FunTypeView acSwitchVie = new LogicView.FunTypeView();
+ acSwitchVie.btnText.TextID = StringId.switchLogic;
+ fLayout.AddChidren(acSwitchVie.FLayoutView());
+
+ ///娓╁害
+ LogicView.FunTypeView temperatureView = new LogicView.FunTypeView();
+ temperatureView.frameLayout.Y = acSwitchVie.frameLayout.Bottom;
+ temperatureView.btnText.TextID = StringId.temperatureLogic;
+ fLayout.AddChidren(temperatureView.FLayoutView());
+
+ ///妯″紡
+ LogicView.FunTypeView acModehView = new LogicView.FunTypeView();
+ acModehView.frameLayout.Y = temperatureView.frameLayout.Bottom;
+ acModehView.btnText.TextID = StringId.modeLogic;
+ fLayout.AddChidren(acModehView.FLayoutView());
+
+ ///椋庨��
+ LogicView.FunTypeView acSpeedView = new LogicView.FunTypeView();
+ acSpeedView.frameLayout.Y = acModehView.frameLayout.Bottom;
+ acSpeedView.btnText.TextID = StringId.speedLogic;
+ fLayout.AddChidren(acSpeedView.FLayoutView());
+ #endregion
+ #region 鐐瑰嚮浜嬩欢
+ ///寮�鍏崇偣鍑讳簨浠�
+ acSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ SwitchViewMethod(device, acSwitchVie.btnState, 2);
+ };
+ ///娓╁害鐐瑰嚮浜嬩欢
+ temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ ///涔嬪墠鐨勭姸鎬佹枃鏈�
+ string tempValue = temperatureView.btnState.Text;
+ LogicView.TemperatureView tempView = new LogicView.TemperatureView();
+ tempView.FLayoutView(this, tempValue, (stateStr) =>
+ {
+ //鐣岄潰鏄剧ず閫変腑鍊�
+ temperatureView.btnState.Text = stateStr;
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+ string keyVlaue = "set_temp";
+ selectedState = device.spk + "_" + keyVlaue;
+ string set_temp_value = stateStr.Replace("鈩�", "");
+ //鏁版嵁灏佽
+ AddDictionary(keyVlaue, set_temp_value);
+ });
+
+
+ };
+ ///妯″紡鐐瑰嚮浜嬩欢
+ acModehView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ ///涔嬪墠鐨勭姸鎬佹枃鏈�
+ string currText = acModehView.btnState.Text;
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+ string keyVlaue = "mode";
+ selectedState = device.spk + "_" + keyVlaue;
+ PublicInterface modeView = new PublicInterface();
+ var modeListStr = modeView.GetViewList(keyVlaue);
+ modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
+ , (stateValue) =>
+ {
+ //鐣岄潰鏄剧ず閫変腑鍊�
+ acModehView.btnState.Text = stateValue;
+ //鏁版嵁灏佽
+ AddDictionary(keyVlaue, modeView.GetModeValueString(stateValue, keyVlaue));
+ });
+
+ };
+ ///椋庨�熺偣鍑讳簨浠�
+ acSpeedView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+
+ ///涔嬪墠鐨勭姸鎬佹枃鏈�
+ string currText = acSpeedView.btnState.Text;
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+ string keyVlaue = "fan";
+ selectedState = device.spk + "_" + keyVlaue;
+ PublicInterface speedView = new PublicInterface();
+ var speedListStr = speedView.GetViewList(keyVlaue);
+ speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText
+ , (stateValue) =>
+ {
+ //鐣岄潰鏄剧ず閫変腑鍊�
+ acSpeedView.btnState.Text = stateValue;
+ //鏁版嵁灏佽
+ AddDictionary(keyVlaue, speedView.GetModeValueString(stateValue, keyVlaue));
+
+ });
+ };
+ if (edit)
+ {
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+ GetEditState(device, index, acSwitchVie.btnState, temperatureView.btnState, acModehView.btnState, acSpeedView.btnState);
+ }
+
+ #endregion
+ }
+ break;
+ case SPK.FloorHeatStandard:
+ {
+ #region 鐣岄潰
+ ///寮�鍏�
+ LogicView.FunTypeView floorHeatingSwitchVie = new LogicView.FunTypeView();
+ floorHeatingSwitchVie.btnText.TextID = StringId.switchLogic;
+ fLayout.AddChidren(floorHeatingSwitchVie.FLayoutView());
+
+ ///娓╁害
+ LogicView.FunTypeView temperatureView = new LogicView.FunTypeView();
+ temperatureView.frameLayout.Y = floorHeatingSwitchVie.frameLayout.Bottom;
+ temperatureView.btnText.TextID = StringId.temperatureLogic;
+ fLayout.AddChidren(temperatureView.FLayoutView());
+
+ ///妯″紡
+ LogicView.FunTypeView floorHeatingModehView = new LogicView.FunTypeView();
+ floorHeatingModehView.frameLayout.Y = temperatureView.frameLayout.Bottom;
+ floorHeatingModehView.btnText.TextID = StringId.modeLogic;
+ fLayout.AddChidren(floorHeatingModehView.FLayoutView());
+
+
+ #endregion
+ #region 鐐瑰嚮浜嬩欢
+ ///寮�鍏崇偣鍑讳簨浠�
+ floorHeatingSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+
+ SwitchViewMethod(device, floorHeatingSwitchVie.btnState, 2);
+ };
+ ///娓╁害鐐瑰嚮浜嬩欢
+ temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ string tempValue = temperatureView.btnState.Text;
+ LogicView.TemperatureView tempView = new LogicView.TemperatureView();
+ tempView.FLayoutView(this, tempValue, (stateStr) =>
+ {
+ //鐣岄潰鏄剧ず閫変腑鍊�
+ temperatureView.btnState.Text = stateStr;
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+ string keyVlaue = "set_temp";
+ selectedState = device.spk + "_" + keyVlaue;
+ string set_temp_value = stateStr.Replace("鈩�", "");
+ //鏁版嵁灏佽
+ AddDictionary(keyVlaue, set_temp_value);
+
+ });
+
+ };
+ ///妯″紡鐐瑰嚮浜嬩欢
+ floorHeatingModehView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+
+
+ ///涔嬪墠鐨勭姸鎬佹枃鏈�
+ string currText = floorHeatingModehView.btnState.Text;
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+ string keyVlaue = "mode";
+ selectedState = device.spk + "_" + keyVlaue;
+ PublicInterface modeView = new PublicInterface();
+ var modeListStr = modeView.GetViewList("floorheatingmode");
+ modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
+ , (stateValue) =>
+ {
+ //鐣岄潰鏄剧ず閫変腑鍊�
+ floorHeatingModehView.btnState.Text = stateValue;
+ //鏁版嵁灏佽
+ AddDictionary(keyVlaue, modeView.GetModeValueString(stateValue, "floorheatingmode"));
+ });
+
+ };
+ if (edit)
+ {
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+ GetEditState(device, index, floorHeatingSwitchVie.btnState, temperatureView.btnState, floorHeatingModehView.btnState, null);
+ }
+
#endregion
}
break;
}
#endregion
- #region 淇濆瓨鐐瑰嚮鏃堕棿
+ #region 淇濆瓨鐐瑰嚮浜嬩欢
saveView.btnClick.MouseUpEventHandler += (sen, e) =>
{
-
-
if (selectedState != "unknown")
{
Output outputDevice = new Output();
outputDevice.target_type = "1";
outputDevice.sid = device.sid;
+ switch (device.spk)
+ {
+ case SPK.LightDimming:
+ case SPK.LightRGB:
+ case SPK.LightRGBW:
+ case SPK.LightCCT:
+ {
+ //璋冨厜鍋氫簡涓�涓壒娈婂鐞嗭紱
+ 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 SPK.AcStandard:
+ case SPK.FloorHeatStandard:
+ {
+
+ //(绌鸿皟/鍦扮儹)鍋氫簡涓�涓壒娈婂鐞嗭紱
+ 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)
{
//绉婚櫎鏃ф暟鎹�
@@ -157,82 +418,6 @@
}
/// <summary>
- ///寮�鍏�=鐣岄潰
- /// </summary>
- /// <param name="fLayout"></param>
- /// <param name="device"></param>
- /// <param name="index"></param>
- /// <param name="edit"></param>
- /// <param name="intView">閫変腑View鐨勬暟閲�</param>
- private void SwitchView(FrameLayout fLayout, Entity.Function device, int index, bool edit,int intView)
- {
- #region 鐣岄潰
- ///寮�鍏�
- LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
- curtainSwitchView.btnText.TextID = StringId.switchLogic;
- fLayout.AddChidren(curtainSwitchView.FLayoutView());
- #endregion
- #region 鐐瑰嚮浜嬩欢
- ///寮�鍏崇偣鍑讳簨浠�
- curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
- {
- SwitchViewMethod(device, curtainSwitchView.btnState, intView);
- };
- if (edit)
- {
- GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
- }
- #endregion
-
- }
- /// <summary>
- ///锛堝紑鍏�+浜害/鐧惧垎姣�)鐣岄潰
- /// </summary>
- /// <param name="fLayout"></param>
- /// <param name="device"></param>
- /// <param name="index"></param>
- /// <param name="edit"></param>
- /// <param name="intView">閫変腑View鐨勬暟閲�</param>
- private void SwitchBrightnessView(FrameLayout fLayout, Entity.Function device, int index, bool edit,int intView)
- {
- #region 鐣岄潰
- ///寮�鍏�
- LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
- lightSwitchView.btnText.TextID = StringId.switchLogic;
- fLayout.AddChidren(lightSwitchView.FLayoutView());
- ///浜害
- LogicView.FunTypeView brightnessView = new LogicView.FunTypeView();
- brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
- if (device.functionType == FunctionType.TrietexCurtain || device.functionType == FunctionType.RollerCurtain)
- {
-
- brightnessView.btnText.TextID = StringId.percentum;
- }
- else
- {
- brightnessView.btnText.TextID = StringId.brightnesLogic;
- }
- fLayout.AddChidren(brightnessView.FLayoutView());
- #endregion
- #region 鐐瑰嚮浜嬩欢
- ///寮�鍏崇偣鍑讳簨浠�
- lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
- {
- SwitchViewMethod(device, lightSwitchView.btnState, intView);
- };
- ///浜害鐐瑰嚮浜嬩欢
- brightnessView.btnClick.MouseUpEventHandler += (sender, e) =>
- {
- BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text);
- };
- if (edit)
- {
- GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
- }
- #endregion
-
- }
- /// <summary>
/// 寮�鍏�=鍔熻兘涓嬩竴绾х晫闈�
/// </summary>
/// <param name="device"></param>
@@ -241,69 +426,40 @@
private void SwitchViewMethod(Entity.Function device, Button button, int len)
{
#region 鐣岄潰
- FrameLayout frame = new FrameLayout
- {
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
+ FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence };
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;
+ selectedState = device.spk + "_" + strValue;
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+ string keyVlaue = "on_off";
+ //鏁版嵁灏佽
+ AddDictionary(keyVlaue, 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>
/// 浜害/鐧惧垎姣�=鍔熻兘涓嬩竴绾х晫闈�
/// </summary>
@@ -312,78 +468,39 @@
private void BrightnessMethod(Entity.Function device, Button button, string titleName)
{
#region 鐣岄潰
- FrameLayout frame = new FrameLayout
- {
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- this.AddChidren(frame);
+ //涔嬪墠鐨勭姸鎬佸��
+ string stateVlaue = button.Text;
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(this, titleName, stateVlaue, (brightnesValue) =>
{
- if (brightnesValue > 0)
+ //鐣岄潰鏄剧ず閫変腑鍊�
+ button.Text = brightnesValue + "%";
+ selectedState = device.spk + brightnesValue.ToString();
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+ string keyVlaue = "";
+ switch (device.spk)
{
- brightnesValue -= 1;
- brightness.seekBarVol.Progress = brightnesValue;
+ //寮�鍏崇伅鍏� light.Switch
+ case SPK.LightDimming:
+ case SPK.LightRGB:
+ case SPK.LightRGBW:
+ case SPK.LightCCT:
+ {
+ keyVlaue = "brightness";
+ }
+ break;
+ case SPK.CurtainRoller:
+ case SPK.CurtainTrietex:
+ {
+ 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;
- }
+ //鏁版嵁灏佽
+ AddDictionary(keyVlaue, brightnesValue);
+ });
#endregion
-
- }
- /// <summary>
- /// 绉婚櫎鎺т欢
- /// </summary>
- /// <param name="frame"></param>
- private void RemView(FrameLayout frame)
- {
- frame.RemoveFromParent();
}
/// <summary>
/// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
@@ -405,141 +522,33 @@
//鏈夋暟鎹噸鏂拌祴鍊�
dicSateteList = dicList;
}
- 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;
- case FunctionType.Dimmer:
- case FunctionType.RGB:
- case FunctionType.RGBW:
- case FunctionType.CCT:
- {
- foreach (var dic in dicList)
- {
- string value = dic["value"];
- switch (dic["key"])
- {
- case "on_off":
- {
- if (value == "on")
- {
- button1.Text = Language.StringByID(StringId.onLogic);
- }
- else
- {
- button1.Text = Language.StringByID(StringId.offLogic);
- }
- }
- break;
- case "brightness":
- {
-
- button2.Text = value;
- }
- break;
- }
-
- }
- }
- break;
- case FunctionType.Curtain:
- {
- foreach (var dic in dicList)
- {
- string value = dic["value"];
- 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 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;
- }
-
+ InpOrOutLogicMethod.EditState(device, dicList, button1, button2, button3, button4);
}
/// <summary>
- /// 娣诲姞澶勭悊閫変腑鏁版嵁
+ /// 娣诲姞閫変腑鏁版嵁
/// </summary>
- /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param>
- /// <param name="keyValue">璇嗗埆璁惧</param>
- /// <param name="dictionary">閫変腑鏁版嵁</param>
+ /// <param name="KeyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param>
+ /// <param name="selectedValue">鐘舵�佸��</param>
+ private void AddDictionary(string KeyValue, string selectedValue)
+ {
+ //鏁版嵁灏佽
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ LogicMethod.dictionary(dic, "key", KeyValue);
+ LogicMethod.dictionary(dic, "value", selectedValue);
+ AddDictionaryList(KeyValue, dic);
+ }
+ /// <summary>
+ /// 鏇存柊鏁版嵁鍒楄〃
+ /// </summary>
+ /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param>
+ /// <param name="dictionary">娣诲姞閫変腑鏁版嵁</param>
/// <returns></returns>
- private void AddDictionaryData(List<Dictionary<string, string>> dicList, string keyValue, Dictionary<string, string> dictionary)
+ private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary)
{
int indexValue = -1;
- for (int i = 0; i < dicList.Count; i++)
+ for (int i = 0; i < dicSateteList.Count; i++)
{
- var dic = dicList[i];
+ var dic = dicSateteList[i];
if (dic.ContainsValue(keyValue))
{
//鍒ゆ柇鏄惁瀛樺湪
@@ -551,14 +560,14 @@
if (indexValue != -1)
{
//瀛樺湪绉婚櫎
- dicList.RemoveAt(indexValue);
+ dicSateteList.RemoveAt(indexValue);
//閲嶆柊娣诲姞
- dicList.Insert(indexValue, dictionary);
+ dicSateteList.Insert(indexValue, dictionary);
}
else
{
//鏂版坊鍔�
- dicList.Add(dictionary);
+ dicSateteList.Add(dictionary);
}
}
@@ -590,5 +599,7 @@
}
+
+
}
}
--
Gitblit v1.8.0