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 | 1209 ++++++++++++++-------------------------------------------
1 files changed, 295 insertions(+), 914 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 40949db..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,39 +45,93 @@
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.ColorTemperature:
+ 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);
+ #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, 3);
+ };
+ if (edit)
+ {
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+ GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
+ }
+ #endregion
}
break;
- case FunctionType.MotorCurtain:
- case FunctionType.RollingShutter:
- {
- //3琛ㄧず(寮�锛屽叧锛屾殏鍋�)鍔熻兘
- SwitchBrightnessView(fLayout, device, index, edit, 3);
- }
- break;
- case FunctionType.AC:
+ case SPK.AcStandard:
{
#region 鐣岄潰
///寮�鍏�
@@ -110,218 +166,74 @@
///娓╁害鐐瑰嚮浜嬩欢
temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
{
- FrameLayout frame = new FrameLayout
+ ///涔嬪墠鐨勭姸鎬佹枃鏈�
+ string tempValue = temperatureView.btnState.Text;
+ LogicView.TemperatureView tempView = new LogicView.TemperatureView();
+ tempView.FLayoutView(this, tempValue, (stateStr) =>
{
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- this.AddChidren(frame);
- LogicView.TimeView view = new LogicView.TimeView();
- view.FLayoutView(frame);
- EventHandler<MouseEventArgs> removefLayout = (sender1, e1) =>
- {
- //绉婚櫎fLayout鐣岄潰
- frame.RemoveFromParent();
- };
- //鍙栨秷鐐瑰嚮浜嬩欢
- view.btnCancel.MouseUpEventHandler += removefLayout;
-
- //鍒濆鍖栧垪琛�
- var temperatureList = new List<string>();
- for (int i = 16; i < 32; i++)
- {
- //娣诲姞鏁版嵁
- temperatureList.Add(i.ToString() + "鈩�");
- temperatureList.Add((i + 0.5).ToString() + "鈩�");
-
- }
-
- //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
- view.mUIPickerView.setNPicker(temperatureList, null, null);
-
- //榛樿鍒濆閫変腑鐘舵��
- view.mUIPickerView.setCurrentItems(9, 0, 0);
- //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
- string temperature = "25鈩�";
- for (int i = 0; i < temperatureList.Count; i++)
- {
- if (temperatureList[i] == temperatureView.btnState.Text)
- {
- //鏇存柊鐘舵��
- view.mUIPickerView.setCurrentItems(i, 0, 0);
- //鏇存柊鐘舵��
- temperature = temperatureList[i];
- break;
- }
- }
- //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
- view.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
- {
- temperature = temperatureList[index1];
- };
- //纭畾鐐瑰嚮浜嬩欢
- view.btnConfirm.MouseUpEventHandler += (sender2, e2) =>
- {
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", "set_temp");
+ //鐣岄潰鏄剧ず閫変腑鍊�
+ temperatureView.btnState.Text = stateStr;
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
string keyVlaue = "set_temp";
- string set_temp_value = temperature.Replace("鈩�", "");
- LogicMethod.dictionary(dic, "value", set_temp_value);
- selectedState = device.functionType + "_set_temp";
- AddDictionaryData(dicSateteList, keyVlaue, dic);
- RemView(frame);
- temperatureView.btnState.Text = temperature;
+ 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));
+ });
- List<string> modeStr = new List<string> {
- Language.StringByID(StringId.coolLogic),
- Language.StringByID(StringId.heatingLogic),
- Language.StringByID(StringId.autoLogic),
- Language.StringByID(StringId.dehumidifyLogic),
- };
- FrameLayout frame = new FrameLayout
- {
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- this.AddChidren(frame);
- LogicView.DateView modeView = new LogicView.DateView();
- modeView.btnTitle.TextID = StringId.modeLogic;
- modeView.FLayoutView(frame, modeStr.Count);
- modeView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
- {
- frame.RemoveFromParent();
- };
- ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
- Button checkBtn = new Button
- {
- Tag = "unknown",
- };
- for (int i = 0; i < modeStr.Count; i++)
- {
- LogicView.CheckView modeTypeView = new LogicView.CheckView();
- modeTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
- modeView.frameLayout.AddChidren(modeTypeView.FLayoutView());
- modeTypeView.btnText.Text = modeStr[i];
- modeTypeView.btnClick.Tag = modeStr[i];//鏍囪
-
- if (acModehView.btnState.Text == modeStr[i])
- {
- //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
- checkBtn.IsSelected = false;
- modeTypeView.btnCheckIcon.IsSelected = true;
- checkBtn = modeTypeView.btnCheckIcon;
- checkBtn.Tag = modeTypeView.btnClick.Tag.ToString();
- }
- //鏄熸湡鐨勭偣鍑讳簨浠�
- modeTypeView.btnClick.MouseUpEventHandler += (sender1, e1) =>
- {
- checkBtn.IsSelected = false;
- modeTypeView.btnCheckIcon.IsSelected = true;
- checkBtn = modeTypeView.btnCheckIcon;
- checkBtn.Tag = modeTypeView.btnClick.Tag.ToString();
- };
-
- }
- modeView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
- {
- if (checkBtn.Tag.ToString() == "unknown")
- {
- return;
- }
-
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", "mode");
- string keyVlaue = "mode";
- LogicMethod.dictionary(dic, "value", GetModeValueString(checkBtn.Tag.ToString(), keyVlaue));
- acModehView.btnState.Text = checkBtn.Tag.ToString();
- selectedState = device.functionType + "_mode";
- AddDictionaryData(dicSateteList, keyVlaue, dic);
- RemView(frame);
- };
};
///椋庨�熺偣鍑讳簨浠�
acSpeedView.btnClick.MouseUpEventHandler += (sender, e) =>
{
- List<string> speedStr = new List<string> {
- Language.StringByID(StringId.LowWindSpeed),
- Language.StringByID(StringId.MiddleWindSpeed),
- Language.StringByID(StringId.HighWindSpeed),
- Language.StringByID(StringId.Auto),
- };
- FrameLayout frame = new FrameLayout
- {
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- this.AddChidren(frame);
- LogicView.DateView speedView = new LogicView.DateView();
- speedView.btnTitle.TextID = StringId.modeLogic;
- speedView.FLayoutView(frame, speedStr.Count);
- speedView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
- {
- frame.RemoveFromParent();
- };
- ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
- Button checkBtn = new Button
- {
- Tag = "unknown",
- };
- for (int i = 0; i < speedStr.Count; i++)
- {
- LogicView.CheckView speedTypeView = new LogicView.CheckView();
- speedTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
- speedView.frameLayout.AddChidren(speedTypeView.FLayoutView());
- speedTypeView.btnText.Text = speedStr[i];
- speedTypeView.btnClick.Tag = speedStr[i];//鏍囪
+ ///涔嬪墠鐨勭姸鎬佹枃鏈�
+ 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 (acSpeedView.btnState.Text == speedStr[i])
- {
- //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
- checkBtn.IsSelected = false;
- speedTypeView.btnCheckIcon.IsSelected = true;
- checkBtn = speedTypeView.btnCheckIcon;
- checkBtn.Tag = speedTypeView.btnClick.Tag.ToString();
- }
- //鏄熸湡鐨勭偣鍑讳簨浠�
- speedTypeView.btnClick.MouseUpEventHandler += (sender1, e1) =>
- {
- checkBtn.IsSelected = false;
- speedTypeView.btnCheckIcon.IsSelected = true;
- checkBtn = speedTypeView.btnCheckIcon;
- checkBtn.Tag = speedTypeView.btnClick.Tag.ToString();
- };
-
- }
- speedView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
- {
- if (checkBtn.Tag.ToString() == "unknown")
- {
- return;
- }
-
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", "fan");
- string keyVlaue = "fan";
- LogicMethod.dictionary(dic, "value", GetModeValueString(checkBtn.Tag.ToString(), keyVlaue));
- acSpeedView.btnState.Text = checkBtn.Tag.ToString();
- selectedState = device.functionType + "_fan";
- AddDictionaryData(dicSateteList, keyVlaue, dic);
- RemView(frame);
- };
+ });
};
if (edit)
{
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
GetEditState(device, index, acSwitchVie.btnState, temperatureView.btnState, acModehView.btnState, acSpeedView.btnState);
}
#endregion
}
break;
- case FunctionType.FloorHeating:
+ case SPK.FloorHeatStandard:
{
#region 鐣岄潰
///寮�鍏�
@@ -347,146 +259,53 @@
///寮�鍏崇偣鍑讳簨浠�
floorHeatingSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
{
+
SwitchViewMethod(device, floorHeatingSwitchVie.btnState, 2);
};
///娓╁害鐐瑰嚮浜嬩欢
temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
{
- FrameLayout frame = new FrameLayout
+ string tempValue = temperatureView.btnState.Text;
+ LogicView.TemperatureView tempView = new LogicView.TemperatureView();
+ tempView.FLayoutView(this, tempValue, (stateStr) =>
{
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- this.AddChidren(frame);
- LogicView.TimeView view = new LogicView.TimeView();
- view.FLayoutView(frame);
- EventHandler<MouseEventArgs> removefLayout = (sender1, e1) =>
- {
- //绉婚櫎fLayout鐣岄潰
- frame.RemoveFromParent();
- };
- //鍙栨秷鐐瑰嚮浜嬩欢
- view.btnCancel.MouseUpEventHandler += removefLayout;
-
- //鍒濆鍖栧垪琛�
- var temperatureList = new List<string>();
- for (int i = 16; i < 32; i++)
- {
- //娣诲姞鏁版嵁
- temperatureList.Add(i.ToString() + "鈩�");
- temperatureList.Add((i + 0.5).ToString() + "鈩�");
-
- }
-
- //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
- view.mUIPickerView.setNPicker(temperatureList, null, null);
-
- //榛樿鍒濆閫変腑鐘舵��
- view.mUIPickerView.setCurrentItems(9, 0, 0);
- //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
- string temperature = "25鈩�";
- for (int i = 0; i < temperatureList.Count; i++)
- {
- if (temperatureList[i] == temperatureView.btnState.Text)
- {
- //鏇存柊鐘舵��
- view.mUIPickerView.setCurrentItems(i, 0, 0);
- //鏇存柊鐘舵��
- temperature = temperatureList[i];
- break;
- }
- }
- //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
- view.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
- {
- temperature = temperatureList[index1];
- };
- //纭畾鐐瑰嚮浜嬩欢
- view.btnConfirm.MouseUpEventHandler += (sender2, e2) =>
- {
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", "set_temp");
+ //鐣岄潰鏄剧ず閫変腑鍊�
+ temperatureView.btnState.Text = stateStr;
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
string keyVlaue = "set_temp";
- string set_temp_value = temperature.Replace("鈩�", "");
- LogicMethod.dictionary(dic, "value", set_temp_value);
- selectedState = device.functionType + "_set_temp";
- AddDictionaryData(dicSateteList, keyVlaue, dic);
- RemView(frame);
- temperatureView.btnState.Text = temperature;
+ selectedState = device.spk + "_" + keyVlaue;
+ string set_temp_value = stateStr.Replace("鈩�", "");
+ //鏁版嵁灏佽
+ AddDictionary(keyVlaue, set_temp_value);
- };
+ });
+
};
///妯″紡鐐瑰嚮浜嬩欢
floorHeatingModehView.btnClick.MouseUpEventHandler += (sender, e) =>
{
- List<string> modeStr = new List<string> {
- Language.StringByID(StringId.dayMode),
- Language.StringByID(StringId.nightMode),
- Language.StringByID(StringId.leaveMode),
- Language.StringByID(StringId.ordinaryMode),
- Language.StringByID(StringId.timeMode),
- };
- FrameLayout frame = new FrameLayout
- {
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- this.AddChidren(frame);
- LogicView.DateView modeView = new LogicView.DateView();
- modeView.btnTitle.TextID = StringId.modeLogic;
- modeView.FLayoutView(frame, modeStr.Count);
- modeView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
- {
- frame.RemoveFromParent();
- };
- ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
- Button checkBtn = new Button
- {
- Tag = "unknown",
- };
- for (int i = 0; i < modeStr.Count; i++)
- {
- LogicView.CheckView modeTypeView = new LogicView.CheckView();
- modeTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
- modeView.frameLayout.AddChidren(modeTypeView.FLayoutView());
- modeTypeView.btnText.Text = modeStr[i];
- modeTypeView.btnClick.Tag = modeStr[i];//鏍囪
- if (floorHeatingModehView.btnState.Text == modeStr[i])
- {
- //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
- checkBtn.IsSelected = false;
- modeTypeView.btnCheckIcon.IsSelected = true;
- checkBtn = modeTypeView.btnCheckIcon;
- checkBtn.Tag = modeTypeView.btnClick.Tag.ToString();
- }
- //鏄熸湡鐨勭偣鍑讳簨浠�
- modeTypeView.btnClick.MouseUpEventHandler += (sender1, e1) =>
- {
- checkBtn.IsSelected = false;
- modeTypeView.btnCheckIcon.IsSelected = true;
- checkBtn = modeTypeView.btnCheckIcon;
- checkBtn.Tag = modeTypeView.btnClick.Tag.ToString();
- };
- }
- modeView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
- {
- if (checkBtn.Tag.ToString() == "unknown")
- {
- return;
- }
+ ///涔嬪墠鐨勭姸鎬佹枃鏈�
+ 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"));
+ });
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", "mode");
- string keyVlaue = "mode";
- LogicMethod.dictionary(dic, "value", GetModeValueString(checkBtn.Tag.ToString(), "FloorHeating"));
- floorHeatingModehView.btnState.Text = checkBtn.Tag.ToString();
- selectedState = device.functionType + "_mode";
- AddDictionaryData(dicSateteList, keyVlaue, dic);
- RemView(frame);
- };
};
if (edit)
{
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
GetEditState(device, index, floorHeatingSwitchVie.btnState, temperatureView.btnState, floorHeatingModehView.btnState, null);
}
@@ -496,17 +315,76 @@
}
#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)
{
//绉婚櫎鏃ф暟鎹�
@@ -540,160 +418,6 @@
}
/// <summary>
- /// 鑾峰彇妯″紡/椋庨�熼敭鍊�
- /// </summary>
- /// <param name="text"></param>
- /// <param name="type"></param>
- /// <returns></returns>
- private string GetModeValueString(string text, string type)
- {
- string str = "";
- switch (type)
- {
- case "mode":
- {
- if (text == Language.StringByID(StringId.coolLogic))
- {
- str = "cool";
- }
- else if (text == Language.StringByID(StringId.heatingLogic))
- {
- str = "heat";
- }
- else if (text == Language.StringByID(StringId.autoLogic))
- {
- str = "auto";
- }
- else if (text == Language.StringByID(StringId.dehumidifyLogic))
- {
- str = "dry";
- }
- }
- break;
- case "fan":
- {
- if (text == Language.StringByID(StringId.HighWindSpeed))
- {
- str = "high";
- }
- else if (text == Language.StringByID(StringId.MiddleWindSpeed))
- {
- str = "medium";
- }
- else if (text == Language.StringByID(StringId.LowWindSpeed))
- {
- str = "low";
- }
- else if (text == Language.StringByID(StringId.Auto))
- {
- str = "auto";
- }
- }
- break;
- case "FloorHeating":
- {
- if (text == Language.StringByID(StringId.dayMode))
- {
- str = "day";
- }
- else if (text == Language.StringByID(StringId.nightMode))
- {
- str = "night";
- }
- else if (text == Language.StringByID(StringId.leaveMode))
- {
- str = "away";
- }
- else if (text == Language.StringByID(StringId.ordinaryMode))
- {
- str = "normal";
- }
- else if (text == Language.StringByID(StringId.timeMode))
- {
- str = "timer";
- }
- }
- break;
- }
- return str;
- }
- /// <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.MotorCurtain || device.functionType == FunctionType.RollingShutter)
- {
-
- 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>
@@ -702,67 +426,39 @@
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>
/// 浜害/鐧惧垎姣�=鍔熻兘涓嬩竴绾х晫闈�
@@ -772,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>
/// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
@@ -865,310 +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.ColorTemperature:
- {
- 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.MotorCurtain:
- case FunctionType.RollingShutter:
- {
-
- 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;
- case FunctionType.AC:
- {
- 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;
- }
- }
- break;
- case "set_temp":
- {
- button2.Text = value + "鈩�";
- }
- break;
- case "mode":
- {
- switch (value)
- {
- case "cool":
- {
- button3.Text = Language.StringByID(StringId.coolLogic);
- }
- break;
- case "heat":
- {
- button3.Text = Language.StringByID(StringId.heatingLogic);
- }
- break;
- case "auto":
- {
- button3.Text = Language.StringByID(StringId.autoLogic);
- }
- break;
- case "dry":
- {
- button3.Text = Language.StringByID(StringId.dehumidifyLogic);
- }
- break;
- }
-
-
-
- }
- break;
- case "fan":
- {
- switch (value)
- {
- case "high":
- {
- button4.Text = Language.StringByID(StringId.HighWindSpeed);
- }
- break;
- case "medium":
- {
- button4.Text = Language.StringByID(StringId.MiddleWindSpeed);
- }
- break;
- case "low":
- {
- button4.Text = Language.StringByID(StringId.LowWindSpeed);
- }
- break;
- case "auto":
- {
- button4.Text = Language.StringByID(StringId.Auto);
- }
- break;
- }
-
-
- }
- break;
-
-
- }
-
- }
-
- }
- break;
- case FunctionType.FloorHeating:
- {
-
- 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;
- }
- }
- break;
- case "set_temp":
- {
- button2.Text = value + "鈩�";
- }
- break;
- case "mode":
- {
- switch (value)
- {
- case "day":
- {
- button3.Text = Language.StringByID(StringId.dayMode);
- }
- break;
- case "night":
- {
- button3.Text = Language.StringByID(StringId.nightMode);
- }
- break;
-
- case "away":
- {
- button3.Text = Language.StringByID(StringId.leaveMode);
- }
- break;
- case "normal":
- {
- button3.Text = Language.StringByID(StringId.ordinaryMode);
- }
- break;
- case "timer":
- {
- button3.Text = Language.StringByID(StringId.timeMode);
- }
- break;
- }
-
-
-
- }
- 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))
{
//鍒ゆ柇鏄惁瀛樺湪
@@ -1180,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);
}
}
@@ -1220,5 +600,6 @@
}
+
}
}
--
Gitblit v1.8.0