From c1d681f496f2e1c53f88472d803e3c95fab521af Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 29 七月 2021 09:46:16 +0800
Subject: [PATCH] 萤石测试通过
---
HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs | 396 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 364 insertions(+), 32 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
old mode 100755
new mode 100644
index 3131df6..93b3af5
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
@@ -11,6 +11,7 @@
FrameLayout bodyView;
VerticalScrolViewLayout contentView;
Button btnOnText;
+ Button btnBrightnessText;
Scene scene;
@@ -48,6 +49,7 @@
LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp));
break;
case FunctionAttributeKey.Mode:
+
LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode));
break;
case FunctionAttributeKey.FanSpeed:
@@ -59,6 +61,9 @@
case FunctionAttributeKey.Brightness:
LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness));
break;
+ case FunctionAttributeKey.FadeTime:
+ LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FadeTime));
+ break;
}
}
@@ -66,33 +71,36 @@
//LoadFunctionRow(sceneFunction.localFunction.trait_on_off);
//switch (sceneFunction.localFunction.functionType)
//{
- // case FunctionType.AC:
+ // case SPK.AcStandard:
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp"));
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode"));
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan"));
// break;
- // case FunctionType.FloorHeating:
+ // case SPK.FloorHeatStandard:
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp"));
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode"));
// break;
- // case FunctionType.Curtain:
+ // case SPK.CurtainSwitch:
// //鏃犳搷浣�
// break;
- // case FunctionType.MotorCurtain:
- // case FunctionType.RollingShutter:
+ // case SPK.CurtainTrietex:
+ // case SPK.CurtainRoller:
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent"));
// break;
- // case FunctionType.Relay:
+ // case SPK.LightSwitch:
// //鏃犳搷浣�
// break;
- // case FunctionType.Dimmer:
- // case FunctionType.RGB:
+ // case SPK.LightDimming:
+ // case SPK.LightRGB:
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness"));
// break;
//}
- //鍔犺浇寤舵椂Row
- LoadDelayRow();
+ if (DB_ResidenceData.Instance.GatewayType != 0)
+ {
+ //鍔犺浇寤舵椂Row
+ LoadDelayRow();
+ }
var bottomView = new FrameLayout()
{
@@ -122,6 +130,16 @@
btnConfrim.MouseUpEventHandler = (sender, e) =>
{
var temp = scene.functions.Find((obj) => obj.sid == sceneFunction.sid);
+ //if (sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness) != null)
+ //{
+ // try
+ // {
+ // //涓�绔彛涓嶆敮鎸佸紑鍏冲�间笌浜害鍊间竴璧峰鐞嗭紝闇�瑕佸皢寮�鍏冲�肩Щ闄ゆ帀
+ // sceneFunction.status.Remove(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff));
+ // }
+ // catch { }
+ //}
+
if (temp != null)
{
temp = sceneFunction;
@@ -136,7 +154,7 @@
if (result == DAL.Server.StateCode.SUCCESS)
{
refreshAction();
- this.RemoveFromParent();
+ this.RemoveFromParent();
}
else
{
@@ -145,7 +163,7 @@
}
else
{
- refreshAction();
+ refreshAction();
this.RemoveFromParent();
}
};
@@ -166,11 +184,20 @@
BackgroundColor = CSS_Color.MainBackgroundColor,
};
contentView.AddChidren(row);
+
+
if (sceneStatus.key != FunctionAttributeKey.OnOff)
{
row.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
}
- Button btnBrightnessRight = new Button()
+ else
+ {
+ if(sceneStatus.value == "stop")
+ {
+ sceneStatus.value = "on";
+ }
+ }
+ Button btnRight = new Button()
{
X = Application.GetRealWidth(339),
Gravity = Gravity.CenterVertical,
@@ -178,7 +205,61 @@
Height = Application.GetMinRealAverage(16),
UnSelectedImagePath = "Public/Right.png",
};
- row.AddChidren(btnBrightnessRight);
+ row.AddChidren(btnRight);
+
+
+ var showCode = "";
+
+ if (sceneStatus.key == FunctionAttributeKey.Mode)
+ {
+ if (DB_ResidenceData.Instance.GatewayType == 0)
+ {
+ if (SPK.AcSpkList().Contains(sceneFunction.localFunction.spk))
+ {
+ //0 鍒跺喎1鍒剁儹锛�2閫氶锛�3鑷姩锛�4闄ゆ箍
+ switch (sceneStatus.value)
+ {
+ case "0":
+ showCode = "cool";
+ break;
+ case "1":
+ showCode = "heat";
+ break;
+ case "2":
+ showCode = "fan";
+ break;
+ case "3":
+ showCode = "auto";
+ break;
+ case "4":
+ showCode = "dry";
+ break;
+ }
+ }
+ else if (SPK.FhSpkList().Contains(sceneFunction.localFunction.spk))
+ {
+ //1:鏅��,2:鐧藉ぉ,3:澶滄櫄,4:绂诲紑,5:鏃堕棿
+ switch (sceneStatus.value)
+ {
+ case "5":
+ showCode = "timer";
+ break;
+ case "1":
+ showCode = "normal";
+ break;
+ case "2":
+ showCode = "day";
+ break;
+ case "3":
+ showCode = "night";
+ break;
+ case "4":
+ showCode = "away";
+ break;
+ }
+ }
+ }
+ }
var btnFunctionText = new Button()
{
@@ -186,11 +267,20 @@
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = FunctionList.List.GetValueText(sceneStatus.key,sceneStatus.value) + FunctionList.List.GetUintString(sceneStatus.key)
+ Text = sceneStatus.GetValueText(showCode) + sceneStatus.GetUintString()
};
row.AddChidren(btnFunctionText);
+
+
+
if (sceneStatus.key == FunctionAttributeKey.OnOff)
+ {
btnOnText = btnFunctionText;
+ }
+ else if (sceneStatus.key == FunctionAttributeKey.Brightness || sceneStatus.key == FunctionAttributeKey.Percent)
+ {
+ btnBrightnessText = btnFunctionText;
+ }
var btnFunctionName = new Button()
{
@@ -198,7 +288,7 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
- Text = FunctionList.List.GetNameText(sceneStatus.key)
+ Text = sceneStatus.GetNameText()
};
row.AddChidren(btnFunctionName);
btnFunctionName.MouseUpEventHandler = (sender, e) =>
@@ -232,7 +322,8 @@
case FunctionAttributeKey.SetTemp:
LoadEditDialog_Temp(sceneStatus, btnFunctionText);
break;
- case "delay":
+ case FunctionAttributeKey.FadeTime:
+
break;
case "cct":
break;
@@ -277,7 +368,7 @@
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = FunctionList.List.GetDelayText( sceneFunction.delay)
+ Text = new Scene() { delay = sceneFunction.delay }.GetDelayText()
};
delayRow.AddChidren(btnDelayInfo);
@@ -295,14 +386,20 @@
btnSceneDelayTitle.MouseUpEventHandler = (sender, e) => {
Action<string> action = (obj) => {
sceneFunction.delay = obj;
- btnDelayInfo.Text = FunctionList.List.GetDelayText(obj);
+ btnDelayInfo.Text = new Scene() { delay = sceneFunction.delay }.GetDelayText();
};
- new PublicAssmebly().SetSceneDelayDialog(action,sceneFunction.delay);
+ Dictionary<string, string> items = new Dictionary<string, string>();
+ items.Add("30", "30s");
+ items.Add("60", "1min");
+ items.Add("120", "2min");
+ items.Add("300", "5min");
+ new PublicAssmebly().SetSceneDelayDialog(action, sceneFunction.delay);
};
#endregion
}
+
#endregion
#region 灞炴�ч�夋嫨寮圭獥
@@ -394,13 +491,41 @@
dialog.Close();
trait.value = "on";
sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "on";
- btn.Text = FunctionList.List.GetValueText(trait.key, trait.value) + FunctionList.List.GetUintString(trait.key);
+ btn.Text = trait.GetValueText() + trait.GetUintString();
+
+ var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
+ if (temp == null)
+ {
+ temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
+ }
+ if (temp != null)
+ {
+ if (temp.value == "0")
+ {
+ temp.value = "100";
+ }
+ btnBrightnessText.Text = temp.GetValueText() + "%";
+ }
};
btnOff.MouseUpEventHandler = (sender,e) =>{
dialog.Close();
trait.value = "off";
sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "off";
- btn.Text= FunctionList.List.GetValueText(trait.key,trait.value) + FunctionList.List.GetUintString(trait.key);
+ btn.Text= trait.GetValueText() + trait.GetUintString();
+
+ var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
+ if(temp == null)
+ {
+ temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
+ }
+ if (temp != null)
+ {
+ if (temp.value != "0")
+ {
+ temp.value = "0";
+ }
+ btnBrightnessText.Text = temp.GetValueText() + "%";
+ }
};
}
@@ -483,16 +608,16 @@
};
for (int i = 16; i <= 32; i += 1)
{
- pickerItems.Add(i.ToString() + FunctionList.List.GetUintString(trait.key));
+ pickerItems.Add(i.ToString() + trait.GetUintString());
}
uIPickerView.setNPicker(pickerItems, null, null);
optionBaseView.AddChidren(uIPickerView);
uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()), 4, 5);
string selectItem = pickerItems[0];
- if (pickerItems.Contains(trait.value + FunctionList.List.GetUintString(trait.key)))
+ if (pickerItems.Contains(trait.value + trait.GetUintString()))
{
- selectItem = trait.value.ToString() + FunctionList.List.GetUintString(trait.key);
+ selectItem = trait.value.ToString() + trait.GetUintString();
}
dialog.Show();
@@ -511,7 +636,7 @@
dialog.Close();
btn.Text = selectItem;
//sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ;
- trait.value = selectItem.Replace(FunctionList.List.GetUintString(trait.key),"");
+ trait.value = selectItem.Replace(trait.GetUintString(),"");
};
}
@@ -565,7 +690,7 @@
Gravity = Gravity.CenterHorizontal,
TextAlignment = TextAlignment.Center,
Width = Application.GetRealWidth(100),
- Text = FunctionList.List.GetNameText(trait.key),
+ Text = trait.GetNameText(),
IsBold = true,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
@@ -654,7 +779,7 @@
{
dialog.Close();
trait.value = controlBar.Progress.ToString();
- btn.Text = trait.value + FunctionList.List.GetUintString(trait.key);
+ btn.Text = trait.value + trait.GetUintString();
var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff);
if (temp != null)
@@ -667,11 +792,159 @@
{
temp.value = "off";
}
- btnOnText.Text = FunctionList.List.GetValueText(temp.key, temp.value);
+ btnOnText.Text = temp.GetValueText();
}
};
}
-
+
+
+ /// <summary>
+ /// 鍔犺浇鍙樺寲閫熷害閫夋嫨寮圭獥
+ /// </summary>
+ /// <param name="function"></param>
+ /// <param name="btn"></param>
+ void LoadEditDialog_FadeTime(SceneFunctionStatus trait, Button btn)
+ {
+ if (trait == null)
+ {
+ return;
+ }
+
+ Dialog dialog = new Dialog();
+
+ var pView = new FrameLayout()
+ {
+ BackgroundColor = CSS_Color.DialogTransparentColor1,
+ };
+ dialog.AddChidren(pView);
+
+ var optionBaseView = new FrameLayout()
+ {
+ Y = Application.GetRealHeight(467),
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(180),
+ AnimateSpeed = 0.3f,
+ Animate = Animate.DownToUp,
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ Radius = (uint)Application.GetRealWidth(12),
+ };
+ pView.AddChidren(optionBaseView);
+
+ var topView = new FrameLayout()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(40),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ Radius = (uint)Application.GetRealWidth(12),
+ };
+ optionBaseView.AddChidren(topView);
+ topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+ var btnTitle = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ TextAlignment = TextAlignment.Center,
+ Width = Application.GetRealWidth(100),
+ Text = trait.GetNameText(),
+ IsBold = true,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ };
+ topView.AddChidren(btnTitle);
+
+ var btnCancel = new Button()
+ {
+ X = Application.GetRealWidth(21),
+ Width = Application.GetRealWidth(100),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextID = StringId.Cancel,
+ };
+ topView.AddChidren(btnCancel);
+
+ var btnConfrim = new Button()
+ {
+ Width = Application.GetRealWidth(320),
+ TextAlignment = TextAlignment.CenterRight,
+ TextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextID = StringId.Confirm,
+ };
+ topView.AddChidren(btnConfrim);
+
+ Button btnMinusSignIcon = new Button()
+ {
+ X = Application.GetRealWidth(26),
+ Y = Application.GetRealHeight(118),
+ Width = Application.GetMinRealAverage(24),
+ Height = Application.GetMinRealAverage(24),
+ Text = "0s",
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ };
+ optionBaseView.AddChidren(btnMinusSignIcon);
+
+ DiyImageSeekBar controlBar = new DiyImageSeekBar()
+ {
+ X = btnMinusSignIcon.Right + Application.GetRealWidth(12),
+ Y = Application.GetRealHeight(100),//414,璁捐鏁版嵁
+ Width = Application.GetRealWidth(220),
+ Height = Application.GetRealHeight(54),
+ SeekBarViewHeight = Application.GetRealHeight(8),
+ ThumbImagePath = "Public/ThumbImage.png",
+ ThumbImageHeight = Application.GetRealHeight(54),
+ ProgressBarColor = CSS_Color.MainColor,
+ ProgressTextColor = CSS_Color.FirstLevelTitleColor,
+ ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ MaxValue = 100,
+ Progress = trait.value.ToString().Replace("{}", "") == "" ? 0 : Convert.ToInt32(trait.value.Replace("{}", "")),
+ SeekBarPadding = Application.GetRealWidth(20),
+ };
+ optionBaseView.AddChidren(controlBar);
+
+ Button btnPlusSgnIcon = new Button()
+ {
+ X = controlBar.Right + Application.GetRealWidth(12),
+ Y = Application.GetRealHeight(118),
+ Width = Application.GetMinRealAverage(24),
+ Height = Application.GetMinRealAverage(24),
+ Text = "10s",
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ };
+ optionBaseView.AddChidren(btnPlusSgnIcon);
+
+ btnMinusSignIcon.MouseUpEventHandler = (sender, e) =>
+ {
+ controlBar.Progress--;
+ };
+ btnPlusSgnIcon.MouseUpEventHandler = (sender, e) =>
+ {
+ controlBar.Progress++;
+ };
+
+ dialog.Show();
+ pView.MouseUpEventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ };
+
+ btnCancel.MouseUpEventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ };
+ btnConfrim.MouseUpEventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ trait.value = controlBar.Progress.ToString();
+ btn.Text = trait.value + trait.GetUintString();
+ };
+ }
+
+
/// <summary>
/// 鍔犺浇鍔熻兘灞炴�ф暟鎹�夋嫨寮圭獥
/// </summary>
@@ -681,6 +954,65 @@
var lastData = "";
var lastText = "";
Dialog dialog = new Dialog();
+
+ if(DB_ResidenceData.Instance.GatewayType == 0)
+ {
+ if (SPK.AcSpkList().Contains(sceneFunction.localFunction.spk))
+ {
+ //0 鍒跺喎1鍒剁儹锛�2閫氶锛�3鑷姩锛�4闄ゆ箍
+ for (int i = 0; i < statusList.Count; i++)
+ {
+ if (statusList[i] == "0")
+ {
+ statusList[i] = "cool";
+ }
+ else if (statusList[i] == "1")
+ {
+ statusList[i] = "heat";
+ }
+ else if (statusList[i] == "2")
+ {
+ statusList[i] = "fan";
+ }
+ else if (statusList[i] == "3")
+ {
+ statusList[i] = "auto";
+ }
+ else if (statusList[i] == "4")
+ {
+ statusList[i] = "dry";
+ }
+ }
+ }
+ else if (SPK.FhSpkList().Contains(sceneFunction.localFunction.spk))
+ {
+ //1:鏅��,2:鐧藉ぉ,3:澶滄櫄,4:绂诲紑,5:鏃堕棿
+ for (int i = 0; i < statusList.Count; i++)
+ {
+ if (statusList[i] == "5")
+ {
+ statusList[i] = "timer";
+ }
+ else if (statusList[i] == "1")
+ {
+ statusList[i] = "normal";
+ }
+ else if (statusList[i] == "2")
+ {
+ statusList[i] = "day";
+ }
+ else if (statusList[i] == "3")
+ {
+ statusList[i] = "night";
+ }
+ else if (statusList[i] == "4")
+ {
+ statusList[i] = "away";
+ }
+ }
+
+ }
+ }
var pView = new FrameLayout()
{
@@ -716,7 +1048,7 @@
Gravity = Gravity.CenterHorizontal,
TextAlignment = TextAlignment.Center,
Width = Application.GetRealWidth(100),
- Text = FunctionList.List.GetNameText(trait.key),
+ Text = trait.GetNameText(),
IsBold = true,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
@@ -788,7 +1120,7 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
Tag = m,
- Text = FunctionList.List.GetValueText(trait.key, m)
+ Text = trait.GetValueText(m)
};
row.AddChidren(btnPropertyTitle);
--
Gitblit v1.8.0