From fb5f023820eb6783bd62d0d69d9afbd00cd3f426 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 07 十二月 2020 16:50:47 +0800
Subject: [PATCH] 2020-12-07-1
---
HDL-ON_Android/Assets/Language.ini | 7
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 70 ---
.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm | 0
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 319 ++++++++++++++++-
HDL_ON/Common/R.cs | 12
.vs/HDL_APP_Project/xs/sqlite3/storage.ide | 0
HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs | 4
.vs/HDL_APP_Project/xs/UserPrefs.xml | 19
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 625 ++++++++++++++++++++++++++++++++-
.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal | 0
10 files changed, 925 insertions(+), 131 deletions(-)
diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml
index ea57df5..f656f4a 100644
--- a/.vs/HDL_APP_Project/xs/UserPrefs.xml
+++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,12 +1,16 @@
锘�<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
<MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.D4411691-F5B8-40F4-97C1-964F33115DBC" />
- <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/FunTypeView.cs">
+ <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs">
<Files>
- <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" Line="86" Column="79" />
+ <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" Line="20" Column="71" />
<File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs" Line="478" Column="44" />
- <File FileName="HDL-ON_Android/Assets/Language.ini" Line="494" Column="1" />
- <File FileName="HDL_ON/Common/R.cs" Line="491" Column="41" />
+ <File FileName="HDL-ON_Android/Assets/Language.ini" Line="507" Column="1" />
+ <File FileName="HDL_ON/Common/R.cs" Line="495" Column="43" />
<File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/FunTypeView.cs" Line="5" Column="18" />
+ <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs" Line="48" Column="46" />
+ <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs" Line="70" Column="18" />
+ <File FileName="HDL_ON/Entity/Enumerative/MyEnum.cs" Line="6" Column="17" />
+ <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" Line="1" Column="1" />
</Files>
<Pads>
<Pad Id="ProjectPad">
@@ -14,13 +18,14 @@
<Node name="HDL_APP_Project" expanded="True">
<Node name="HDL_ON" expanded="True">
<Node name="Common" expanded="True" />
+ <Node name="Entity" expanded="True">
+ <Node name="Enumerative" expanded="True" />
+ </Node>
<Node name="UI" expanded="True">
<Node name="UI2" expanded="True">
<Node name="3-Intelligence" expanded="True">
<Node name="Automation" expanded="True">
- <Node name="LogicView" expanded="True">
- <Node name="FunTypeView.cs" selected="True" />
- </Node>
+ <Node name="InpOrOutLogicMethod.cs" selected="True" />
</Node>
</Node>
</Node>
diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
index a4d5952..a309c1e 100644
--- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
Binary files differ
diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm
index 2f2c603..2768cce 100644
--- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm
Binary files differ
diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
index 9d4ce8e..07fe6ca 100644
--- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
Binary files differ
diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini
index cbda4ec..4e66eb0 100644
--- a/HDL-ON_Android/Assets/Language.ini
+++ b/HDL-ON_Android/Assets/Language.ini
@@ -496,6 +496,13 @@
7059=鍒剁儹
7060=鑷姩
7061=闄ゆ箍
+7062=娓╁害
+7063=椋庨��
+7064=鐧藉ぉ
+7065=澶滄櫄
+7066=绂诲紑
+7067=涓�鑸�
+7068=鏃堕棿
diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs
index 3a80665..adffa7d 100644
--- a/HDL_ON/Common/R.cs
+++ b/HDL_ON/Common/R.cs
@@ -489,8 +489,16 @@
public const int heatingLogic = 7059;
public const int autoLogic = 7060;
public const int dehumidifyLogic = 7061;
-
-
+ public const int temperatureLogic = 7062;
+ public const int speedLogic = 7063;
+ public const int dayMode = 7064;
+ public const int nightMode = 7065;
+ public const int leaveMode = 7066;
+ public const int ordinaryMode = 7067;
+ public const int timeMode = 7068;
+
+
+
#region LE鏂板
/// <summary>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index bff9973..7a6bcc0 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -163,7 +163,7 @@
public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout)
{
- for (int i = 0; i < Logic.currlogic.output.Count; i++)
+ for (int i = 0; i < Logic.currlogic.output.Count; i++)
{
Output outputTarget = Logic.currlogic.output[i];
///鍚勭鏉′欢鐨刅iew
@@ -195,9 +195,9 @@
{
case FunctionType.Relay:
{//寮�鍏崇伅
+
foreach (var dic in dicList)
{
-
string value = dic["value"];
if (value == "on")
{
@@ -212,39 +212,40 @@
targetView.btnState.Text = stateStr;
}
break;
+ case FunctionType.RGB:
+ case FunctionType.RGBW:
+ case FunctionType.CCT:
case FunctionType.Dimmer:
{
- bool _if = false;
- foreach (var dic in dicList)
+ string on_off = GetKeyValue("on_off", dicList);
+ string brightness = GetKeyValue("brightness", dicList);
+ if (on_off != "")
{
-
- if (dic["key"] == "on_off")
+ if (on_off == "on")
{
- 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;
- }
+ stateStr = Language.StringByID(StringId.onLogic);
+
}
-
- }
- foreach (var dic in dicList)
- {
- if (dic["key"] == "brightness")
+ else
{
- string value = dic["value"];
- if (!_if)
- {
- targetView.btnState.Text += value;
- }
+ stateStr = Language.StringByID(StringId.offLogic);
+
}
}
+ if (brightness != "")
+ {
+ stateStr += brightness + "%";
+ }
+ if (on_off != "" && on_off == "off")
+ {
+ targetView.btnState.Text = Language.StringByID(StringId.offLogic);
+ }
+ else
+ {
+ targetView.btnState.Text = stateStr;
+
+ }
+
}
break;
case FunctionType.Curtain:
@@ -274,6 +275,245 @@
targetView.btnState.Text = stateStr;
}
break;
+ case FunctionType.TrietexCurtain:
+ case FunctionType.RollerCurtain:
+ {//寮�鍏崇伅
+ string on_off = GetKeyValue("on_off", dicList);
+ string brightness = GetKeyValue("brightness", dicList);
+ if (on_off != "")
+ {
+ switch (on_off)
+ {
+ case "on":
+ {
+ stateStr = Language.StringByID(StringId.onLogic);
+
+ }
+ break;
+ case "off":
+ {
+ stateStr = Language.StringByID(StringId.offLogic);
+
+ }
+ break;
+ case "stop":
+ {
+ stateStr = Language.StringByID(StringId.stop);
+ }
+ break;
+ }
+ }
+ if (brightness != "")
+ {
+ stateStr += brightness + "%";
+
+ }
+
+ if (on_off != "" && on_off == "stop")
+ {
+ targetView.btnState.Text = Language.StringByID(StringId.stop);
+ }
+ else
+ {
+ targetView.btnState.Text = stateStr;
+
+ }
+
+ }
+ break;
+ case FunctionType.AC: {
+ string on_off = GetKeyValue("on_off", dicList);
+ string set_temp = GetKeyValue("set_temp", dicList);
+ string mode = GetKeyValue("mode", dicList);
+ string fan = GetKeyValue("fan", dicList);
+ if (on_off != "") {
+ switch (on_off)
+ {
+ case "on":
+ {
+ stateStr = Language.StringByID(StringId.onLogic)+",";
+ }
+ break;
+ case "off":
+ {
+ stateStr = Language.StringByID(StringId.offLogic) + ",";
+ }
+ break;
+
+ }
+ }
+
+ if (set_temp != "")
+ {
+
+ stateStr += set_temp + "鈩�,";
+ }
+
+ if (mode != "")
+ {
+
+ switch (mode)
+ {
+ case "cool":
+ {
+ stateStr += Language.StringByID(StringId.coolLogic)+",";
+ }
+ break;
+ case "heat":
+ {
+ stateStr += Language.StringByID(StringId.heatingLogic) + ",";
+ }
+ break;
+ case "auto":
+ {
+ stateStr += Language.StringByID(StringId.autoLogic) + ",";
+ }
+ break;
+ case "dry":
+ {
+ stateStr += Language.StringByID(StringId.dehumidifyLogic) + ",";
+ }
+ break;
+ }
+
+ }
+
+ if (fan != "")
+ {
+
+ switch (fan)
+ {
+ case "high":
+ {
+ stateStr += Language.StringByID(StringId.HighWindSpeed)+",";
+ }
+ break;
+ case "medium":
+ {
+ stateStr += Language.StringByID(StringId.MiddleWindSpeed) + ",";
+ }
+ break;
+ case "low":
+ {
+ stateStr += Language.StringByID(StringId.LowWindSpeed) + ",";
+ }
+ break;
+ case "auto":
+ {
+ stateStr += Language.StringByID(StringId.Auto) + ",";
+ }
+ break;
+ }
+
+ }
+ if (on_off != "" && on_off == "off")
+ {
+ targetView.btnState.Text = Language.StringByID(StringId.offLogic);
+ }
+ else {
+ targetView.btnState.Text = stateStr.TrimEnd(',');
+
+ }
+
+ }
+ break;
+ case FunctionType.FloorHeating:
+ {
+ string on_off = GetKeyValue("on_off", dicList);
+ string set_temp = GetKeyValue("set_temp", dicList);
+ string mode = GetKeyValue("mode", dicList);
+ if (on_off != "")
+ {
+ switch (on_off)
+ {
+ case "on":
+ {
+ stateStr = Language.StringByID(StringId.onLogic) + ",";
+ }
+ break;
+ case "off":
+ {
+ stateStr = Language.StringByID(StringId.offLogic) + ",";
+ }
+ break;
+
+ }
+ }
+ if (set_temp != "")
+ {
+
+ stateStr += set_temp + "鈩�,";
+ }
+ if (mode != "")
+ {
+
+ switch (mode)
+ {
+ case "day":
+ {
+ stateStr += Language.StringByID(StringId.dayMode)+",";
+ }
+ break;
+ case "night":
+ {
+ stateStr += Language.StringByID(StringId.nightMode) + ",";
+ }
+ break;
+
+ case "away":
+ {
+ stateStr += Language.StringByID(StringId.leaveMode) + ",";
+ }
+ break;
+ case "normal":
+ {
+ stateStr += Language.StringByID(StringId.ordinaryMode) + ",";
+ }
+ break;
+ case "timer":
+ {
+ stateStr += Language.StringByID(StringId.timeMode) + ",";
+ }
+ break;
+ }
+
+
+ switch (mode)
+ {
+ case "cool":
+ {
+ stateStr += Language.StringByID(StringId.coolLogic) + ",";
+ }
+ break;
+ case "heat":
+ {
+ stateStr += Language.StringByID(StringId.heatingLogic) + ",";
+ }
+ break;
+ case "auto":
+ {
+ stateStr += Language.StringByID(StringId.autoLogic) + ",";
+ }
+ break;
+ case "dry":
+ {
+ stateStr += Language.StringByID(StringId.dehumidifyLogic) + ",";
+ }
+ break;
+ }
+
+ }
+ if (on_off != "" && on_off == "off")
+ {
+ targetView.btnState.Text =Language.StringByID(StringId.offLogic);
+ }
+ else
+ {
+ targetView.btnState.Text = stateStr.TrimEnd(',');
+
+ }
+ }
+ break;
}
}
break;
@@ -293,7 +533,7 @@
foreach (var dic in dicList)
{
string value = dic["value"];
- targetView.btnText.Text =value;
+ targetView.btnText.Text = value;
}
}
break;
@@ -329,7 +569,7 @@
AddTarget addTarget = new AddTarget();
addTarget.Delayed(fLayout, edit, indexVulae);
-
+
}
break;
}
@@ -343,5 +583,26 @@
}
}
+ /// <summary>
+ /// 鑾峰彇value閿��
+ /// </summary>
+ /// <param name="keyValue"></param>
+ /// <param name="dicList"></param>
+ /// <returns></returns>
+ private static string GetKeyValue(string keyValue, List<Dictionary<string, string>> dicList)
+ {
+
+ string valueStr = "";
+ foreach (var dic in dicList)
+ {
+ if (dic["key"] == keyValue)
+ {
+ valueStr = dic["value"];
+ break;
+ }
+
+ }
+ return valueStr;
+ }
}
}
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
index 1dbe612..a8ec927 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -55,17 +55,22 @@
logicId = sOidBeginsWith + sTimeSpan;
- logicId += "0A";
- logicId += "0A01";
- //0A01 鐗╂ā鍨嬩负閫昏緫锛� 0001 琛ㄧず 1 鍙烽�昏緫鍔熻兘
- int iTopLogicId = 1;
+ logicId += "15";
+ logicId += "1501";
+ //1501 鐗╂ā鍨嬩负閫昏緫锛� 0001 琛ㄧず 1 鍙烽�昏緫鍔熻兘
+ int maxId = 1;
- Random random = new Random();
- iTopLogicId = random.Next(0, 255);
- iTopLogicId += random.Next(0, 255);
- logicId += iTopLogicId.ToString("X4");//閫昏緫鍙� 涓や釜byte
- logicId += "1100";
+ for (int i = 0; i < Logic.LogicList.Count; i++)
+ {
+ string s = Logic.LogicList[i].sid.Substring(20, 4);
+ int iThisSceneId = Convert.ToInt16(s, 16);
+ if (iThisSceneId > maxId)
+ maxId = iThisSceneId ;
+ }
+
+ logicId += (maxId+1).ToString("X4");//閫昏緫鍙� 涓や釜byte
+ logicId += "0000";
}
catch
{
@@ -73,53 +78,6 @@
}
return logicId;
}
-
- /// <summary>
- /// 鐢熸垚閫昏緫sid鏂规硶
- /// </summary>
- //public static string NewSid()
- //{
- // String sLogicid = "";
- // try
- // {
- // String sOidBeginsWith = "000101";//鍘傚晢 + 閫氳鏂瑰紡
- // //鐢熸垚4涓猙yte鏃堕棿鎴�
- // DateTime dt = DateTime.Now;
- // long sTimeSp = GateWay.ConvertDateTimeLong(dt);
- // string sTimeSpan = "";
- // GateWay.ConvertIntToByteArray(sTimeSp, ref sTimeSpan);
- // if (sTimeSpan.Length != 8) return sLogicid;
- // //闂撮殧10姣 閿欏紑鏃堕棿鎴�
- // HDLUDP.TimeBetwnNext(10);
- // sLogicid = sOidBeginsWith + sTimeSpan;
- // //1501 鐗╂ā鍨嬩负鑷姩鍖栵紝 0001 琛ㄧず 1 鍙疯嚜鍔ㄥ寲鍔熻兘
- // sLogicid += "15";
- // sLogicid += "1501";
- // //鑷姩鍖栧彿鑷
- // int iTopSceneId = 1;
- // if (myGateway.LogicResponse != null)
- // {
- // if (myGateway.LogicResponse.objects != null)
- // {
- // for (int i = 0; i < myGateway.LogicResponse.objects.Count; i++)
- // {
- // string ccc = myGateway.LogicResponse.objects[i].sid.Substring(myGateway.LogicResponse.objects[i].sid.Length - 8, 4);
- // int iThisSceneId = Convert.ToInt16(myGateway.LogicResponse.objects[i].sid.Substring(myGateway.LogicResponse.objects[i].sid.Length - 8, 4), 16);
- // if (iThisSceneId >= iTopSceneId)
- // iTopSceneId = iThisSceneId + 1;
- // }
- // }
- // }
- // sLogicid += iTopSceneId.ToString("X4");//鍦烘櫙鍙� 涓や釜byte
- // //澶х被灏忕被娌℃湁鐢ㄥ埌 鍥哄畾涓�0
- // sLogicid += "0000";
- // return sLogicid;
- // }
- // catch
- // {
- // return sLogicid;
- // }
- //}
/// <summary>
/// 灏佽Dictionary瀵硅薄
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index fe144d9..01a8209 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -52,7 +52,7 @@
case FunctionType.CCT:
{
//2琛ㄧず(寮�锛屽叧)鍔熻兘
- SwitchBrightnessView(fLayout, device, index, edit,2);
+ SwitchBrightnessView(fLayout, device, index, edit, 2);
}
break;
case FunctionType.Relay:
@@ -75,25 +75,105 @@
SwitchBrightnessView(fLayout, device, index, edit, 3);
}
break;
- case FunctionType.AC: {
+ case FunctionType.AC:
+ {
#region 鐣岄潰
///寮�鍏�
- LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
- curtainSwitchView.btnText.TextID = StringId.switchLogic;
- fLayout.AddChidren(curtainSwitchView.FLayoutView());
+ 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 = curtainSwitchView.frameLayout.Bottom;
+ 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 鐐瑰嚮浜嬩欢
///寮�鍏崇偣鍑讳簨浠�
- curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+ acSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
{
- SwitchViewMethod(device, curtainSwitchView.btnState, 2);
+ 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);
+ selectedState = device.functionType + "_set_temp";
+ AddDictionaryData(dicSateteList, keyVlaue, dic);
+ RemView(frame);
+ temperatureView.btnState.Text = temperature;
+
+ };
+ };
+ ///妯″紡鐐瑰嚮浜嬩欢
acModehView.btnClick.MouseUpEventHandler += (sender, e) =>
{
@@ -109,14 +189,15 @@
};
this.AddChidren(frame);
LogicView.DateView modeView = new LogicView.DateView();
- modeView.btnTitle.TextID = StringId.modeLogic;
+ modeView.btnTitle.TextID = StringId.modeLogic;
modeView.FLayoutView(frame, modeStr.Count);
modeView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
{
frame.RemoveFromParent();
};
///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
- Button checkBtn = new Button{
+ Button checkBtn = new Button
+ {
Tag = "unknown",
};
for (int i = 0; i < modeStr.Count; i++)
@@ -145,16 +226,260 @@
};
}
- modeView.btnConfirm.MouseUpEventHandler += (sender1,e1) => {
- if (checkBtn.Tag.ToString()== "unknown") {
+ 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()));
+ 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 (acModehView.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) =>
+ {
+ 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;
+ }
+
+ 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);
@@ -162,8 +487,9 @@
};
if (edit)
{
- GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
+ GetEditState(device, index, floorHeatingSwitchVie.btnState, temperatureView.btnState, floorHeatingModehView.btnState, null);
}
+
#endregion
}
break;
@@ -213,23 +539,83 @@
#endregion
}
- private string GetModeValueString(string text)
+ /// <summary>
+ /// 鑾峰彇妯″紡/椋庨�熼敭鍊�
+ /// </summary>
+ /// <param name="text"></param>
+ /// <param name="type"></param>
+ /// <returns></returns>
+ private string GetModeValueString(string text, string type)
{
- string modeStr = "";
- if (text == Language.StringByID(StringId.coolLogic))
+ string str = "";
+ switch (type)
{
- modeStr = "cool";
+ 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;
}
- else if (text == Language.StringByID(StringId.heatingLogic)) {
- modeStr = "heat";
- }
- else if (text == Language.StringByID(StringId.autoLogic)) {
- modeStr = "auto";
- }
- else if (text == Language.StringByID(StringId.dehumidifyLogic)) {
- modeStr = "dry";
- }
- return modeStr;
+ return str;
}
/// <summary>
///寮�鍏�=鐣岄潰
@@ -239,7 +625,7 @@
/// <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)
+ private void SwitchView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView)
{
#region 鐣岄潰
///寮�鍏�
@@ -268,7 +654,7 @@
/// <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)
+ private void SwitchBrightnessView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView)
{
#region 鐣岄潰
///寮�鍏�
@@ -280,7 +666,7 @@
brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
if (device.functionType == FunctionType.TrietexCurtain || device.functionType == FunctionType.RollerCurtain)
{
-
+
brightnessView.btnText.TextID = StringId.percentum;
}
else
@@ -378,7 +764,6 @@
}
-
/// <summary>
/// 浜害/鐧惧垎姣�=鍔熻兘涓嬩竴绾х晫闈�
/// </summary>
@@ -559,7 +944,8 @@
}
break;
case FunctionType.TrietexCurtain:
- case FunctionType.RollerCurtain: {
+ case FunctionType.RollerCurtain:
+ {
foreach (var dic in dicList)
{
@@ -597,6 +983,175 @@
}
}
+ }
+ 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;
}
@@ -665,6 +1220,6 @@
}
-
+
}
}
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs
index 634e7b0..f8a497a 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs
@@ -90,13 +90,13 @@
{
LogicView.TimeView timePointView = new LogicView.TimeView();
timePointView.FLayoutView(fLayout);
- EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) =>
+ EventHandler<MouseEventArgs> removefLayout = (sender, e1) =>
{
//绉婚櫎fLayout鐣岄潰
fLayout.RemoveFromParent();
};
//鍙栨秷鐐瑰嚮浜嬩欢
- timePointView.btnCancel.MouseUpEventHandler += RemovefLayout;
+ timePointView.btnCancel.MouseUpEventHandler += removefLayout;
//鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
timePointView.mUIPickerView.setNPicker(timePointView.GethStringList(), timePointView.GetmStringList(), null);
--
Gitblit v1.8.0