From 46cfc3decb9f162129e2dd6fad85aada638a9a3f Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期二, 22 十二月 2020 20:38:08 +0800
Subject: [PATCH] 20201222-5
---
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 1175 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 952 insertions(+), 223 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 1880dad..efd0aab 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -17,10 +17,6 @@
/// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵��
/// </summary>
private string selectedState = "unknown";
- /// <summary>
- /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵�佽褰曞睘鎬�
- /// </summary>
- private string keyVlaue = "";
public void Show(Entity.Function device, int index, bool edit)
{
#region 鐣岄潰甯冨眬
@@ -39,152 +35,424 @@
Height = Application.GetRealHeight(667 - 64),
};
this.AddChidren(fLayout);
- #endregion
- switch (device.functionType)
- {
- //寮�鍏崇伅鍏� light.Switch
- case FunctionType.Dimmer:
- {
- 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.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 淇濆瓨
///淇濆瓨View
LogicView.SaveView saveView = new LogicView.SaveView();
saveView.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
saveView.btnSave.TextID = StringId.completeLogic;
this.AddChidren(saveView.FLayoutView());
+ #endregion
+ #region 缂栬緫璁惧鐘舵��
+ switch (device.functionType)
+ {
+ //寮�鍏崇伅鍏� light.Switch
+ case FunctionType.Dimmer:
+ case FunctionType.RGB:
+ case FunctionType.RGBW:
+ case FunctionType.ColorTemperature:
+ {
+ //2琛ㄧず(寮�锛屽叧)鍔熻兘
+ SwitchBrightnessView(fLayout, device, index, edit, 2);
+ }
+ break;
+ case FunctionType.Relay:
+ {
+ //2琛ㄧず(寮�锛屽叧)鍔熻兘
+ SwitchView(fLayout, device, index, edit, 2);
+ }
+ break;
+ //绐楀笜
+ case FunctionType.Curtain:
+ case FunctionType.MotorCurtain:
+ case FunctionType.RollingShutter:
+ {
+ //3琛ㄧず(寮�锛屽叧锛屾殏鍋�)鍔熻兘
+ SwitchView(fLayout, device, index, edit, 3);
+ }
+ break;
+ case FunctionType.AC:
+ {
+ #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) =>
+ {
+ FrameLayout frame = new FrameLayout
+ {
+ 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");
+ string keyVlaue = "set_temp";
+ string set_temp_value = temperature.Replace("鈩�", "");
+ LogicMethod.dictionary(dic, "value", set_temp_value);
+ AddDictionaryData(dicSateteList, keyVlaue, dic);
+ selectedState = device.functionType + "_set_temp";
+ RemView(frame);
+ temperatureView.btnState.Text = temperature;
+
+
+ };
+ };
+ ///妯″紡鐐瑰嚮浜嬩欢
+ acModehView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+
+ 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];//鏍囪
+
+ 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:
+ {
+ #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) =>
+ {
+ FrameLayout frame = new FrameLayout
+ {
+ 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");
+ 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;
+
+ };
+ };
+ ///妯″紡鐐瑰嚮浜嬩欢
+ floorHeatingModehView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ FrameLayout frame = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ this.AddChidren(frame);
+ 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),
+ };
+ ///涔嬪墠鐨勭姸鎬佹枃鏈�
+ string currText= floorHeatingModehView.btnState.Text;
+ PublicInterface modeView = new PublicInterface();
+ modeView.SingleSelectionShow(frame, modeStr, Language.StringByID(StringId.modeLogic), currText
+ , (stateValue) =>
+ {
+ string keyVlaue = "mode";
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ LogicMethod.dictionary(dic, "key", "mode");
+ LogicMethod.dictionary(dic, "value", GetModeValueString(stateValue, "FloorHeating"));
+ AddDictionaryData(dicSateteList, keyVlaue, dic);
+ floorHeatingModehView.btnState.Text = stateValue;
+ selectedState = device.functionType + "_mode";
+ });
+
+ };
+ if (edit)
+ {
+ GetEditState(device, index, floorHeatingSwitchVie.btnState, temperatureView.btnState, floorHeatingModehView.btnState, null);
+ }
+
+ #endregion
+ }
+ break;
+
+ }
+ #endregion
+ #region 淇濆瓨鐐瑰嚮鏃堕棿
saveView.btnClick.MouseUpEventHandler += (sen, e) =>
{
@@ -194,7 +462,69 @@
Output outputDevice = new Output();
outputDevice.target_type = "1";
outputDevice.sid = device.sid;
+
+ switch (device.functionType)
+ {
+ case FunctionType.Dimmer:
+ case FunctionType.RGB:
+ case FunctionType.RGBW:
+ case FunctionType.ColorTemperature:
+ {
+ //璋冨厜鍋氫簡涓�涓壒娈婂鐞嗭紱
+ 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 FunctionType.AC:
+ case FunctionType.FloorHeating:
+ {
+
+ //(绌鸿皟/鍦扮儹)鍋氫簡涓�涓壒娈婂鐞嗭紱
+ 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)
{
//绉婚櫎鏃ф暟鎹�
@@ -224,7 +554,247 @@
addLogic.Show();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
+ #endregion
+ }
+ /// <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>
+ /// <param name="button"></param>
+ /// <param name="len">鏄剧ず閫夋嫨View鏁伴噺</param>
+ private void SwitchViewMethod(Entity.Function device, Button button, int len)
+ {
+ #region 鐣岄潰
+ FrameLayout frame = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ this.AddChidren(frame);
+ LogicView.SwitchView switchView = new LogicView.SwitchView();
+ 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;
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ LogicMethod.dictionary(dic, "key", "on_off");
+ string keyVlaue = "on_off";
+ LogicMethod.dictionary(dic, "value", strValue);
+ AddDictionaryData(dicSateteList, keyVlaue, dic);
+ selectedState = device.functionType + "_" + strValue;
+
+ });
+ #endregion
+ }
+ /// <summary>
+ /// 浜害/鐧惧垎姣�=鍔熻兘涓嬩竴绾х晫闈�
+ /// </summary>
+ /// <param name="device"></param>
+ /// <param name="button"></param>
+ private void BrightnessMethod(Entity.Function device, Button button, string titleName)
+ {
+ #region 鐣岄潰
+ FrameLayout frame = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ this.AddChidren(frame);
+ LogicView.BrightnessView brightness = new LogicView.BrightnessView();
+ brightness.FLayoutView(frame, titleName, button.Text, (brightnesValue) =>
+ {
+ button.Text = brightnesValue+"%";
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ string keyVlaue = "";
+ switch (device.functionType)
+ {
+ //寮�鍏崇伅鍏� light.Switch
+ case FunctionType.Dimmer:
+ case FunctionType.RGB:
+ case FunctionType.RGBW:
+ case FunctionType.ColorTemperature:
+ {
+ LogicMethod.dictionary(dic, "key", "brightness");
+ keyVlaue = "brightness";
+ }
+ break;
+ case FunctionType.MotorCurtain:
+ case FunctionType.RollingShutter:
+ {
+ LogicMethod.dictionary(dic, "key", "percent");
+ keyVlaue = "percent";
+ }
+ break;
+ }
+ LogicMethod.dictionary(dic, "value", brightnesValue.ToString());
+ AddDictionaryData(dicSateteList, keyVlaue, dic);
+ selectedState = device.functionType + brightnesValue.ToString();
+ });
#endregion
}
@@ -240,17 +810,22 @@
/// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
/// </summary>
/// <param name="device">缂栬緫璁惧</param>
- /// <param name="edit">缂栬緫鐘舵��</param>
/// <param name="index">缂栬緫鏁版嵁鐨勭储寮�</param>
/// <param name="button1">鏄剧ずBtn</param>
/// <param name="button2">鏄剧ずBtn</param>
/// <param name="button3">鏄剧ずBtn</param>
/// <param name="button4">鏄剧ずBtn</param>
- private void GetEditState(Entity.Function device, bool edit, int index, Button button1, Button button2, Button button3, Button button4)
+ private void GetEditState(Entity.Function device, int index, Button button1, Button button2, Button button3, Button button4)
{
Output outputs = Logic.currlogic.output[index];
var dicList = outputs.status as List<Dictionary<string, string>>;
-
+ //娓呴櫎涔嬪墠鏃ф暟鎹�
+ dicSateteList.Clear();
+ if (dicList.Count != 0)
+ {
+ //鏈夋暟鎹噸鏂拌祴鍊�
+ dicSateteList = dicList;
+ }
switch (device.functionType)
{
//寮�鍏崇伅鍏�
@@ -270,12 +845,240 @@
}
}
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:
+ case FunctionType.MotorCurtain:
+ case FunctionType.RollingShutter:
+ {
+ 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.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;
}
-
}
/// <summary>
- /// 娣诲姞閫変腑鏁版嵁
+ /// 娣诲姞澶勭悊閫変腑鏁版嵁
/// </summary>
/// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param>
/// <param name="keyValue">璇嗗埆璁惧</param>
@@ -309,7 +1112,6 @@
}
}
-
/// <summary>
/// 娣诲姞鐩爣
/// </summary>
@@ -337,80 +1139,7 @@
}
}
- /// <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>();
- LogicMethod.dictionary(dic, "key", "on_off");
- keyVlaue = "on_off";
-
- 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