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/SceneAddPage.cs | 265 +++++++++++++++++++++++++---------------------------
1 files changed, 129 insertions(+), 136 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
index 99b4656..f05323d 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
@@ -81,7 +81,7 @@
/// </summary>
Action refreshFunctionRowAction;
/// <summary>
- /// 鍥炴帀鏇存柊
+ /// 鍥炶皟鏇存柊
/// </summary>
Action backAction;
public SceneAddPage(Scene s, Action act)
@@ -90,35 +90,31 @@
scene = s;
backAction = act;
-
refreshFunctionRowAction = () => {
LoadFunctionRow(functionListView);
};
}
- public void LoadPage( Action backRefresh)
+ public void LoadPage()
{
- new TopViewDiv(bodyView, Language.StringByID(StringId.NewScene)).LoadTopView(backRefresh);
- initPage();
- }
-
- void initPage()
- {
+ new TopViewDiv(bodyView, Language.StringByID(StringId.NewScene)).LoadTopView();
+
bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
- VerticalScrolViewLayout contentView = new VerticalScrolViewLayout()
+ var contentView = new VerticalScrolViewLayout()
{
Y = Application.GetRealHeight(64),
Height = Application.GetRealHeight(603 - 50),
+ //BackgroundColor = CSS_Color.DividingLineColor,
};
bodyView.AddChidren(contentView);
contentView.AddChidren(new Button() { Height = Application.GetRealWidth(12) });
- FrameLayout sceneBgView = new FrameLayout()
+ var sceneBgView = new FrameLayout()
{
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(252),
- Height = Application.GetRealWidth(188 + 24),
+ Height = Application.GetRealWidth(184),
Radius = (uint)Application.GetRealWidth(12),
BackgroundColor = CSS_Color.MainBackgroundColor,
};
@@ -135,7 +131,6 @@
//2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
ImageUtlis.Current.LoadLocalOrNetworkImages(scene.ImagePath, addSceneImageView);
-
#region 鍦烘櫙鍚嶇Оrow
sceneNameView = new FrameLayout()
@@ -202,7 +197,7 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
- TextID = StringId.BelongToZone,
+ TextID = StringId.LocationManagement,
};
belongToZoneRow.AddChidren(btnBelongToTitle);
@@ -223,7 +218,7 @@
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.TextFontSize,
- Text = scene.GetRoomListName() == "" ? Language.StringByID(StringId.WholeHouseScene) : scene.GetRoomListName()
+ Text = scene.GetRoomListName() == "" ? Language.StringByID(StringId.WholeZone) : scene.GetRoomListName()
};
belongToZoneRow.AddChidren(btnZoneName);
@@ -261,7 +256,7 @@
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = scene.delayText
+ Text = scene.GetDelayText()
};
sceneDelayRow.AddChidren(btnSceneDelayInfo);
@@ -276,10 +271,20 @@
};
sceneDelayRow.AddChidren(btnSceneDelayTitle);
-
btnSceneDelayTitle.MouseUpEventHandler = (sender, e) =>
{
- new PublicAssmebly().SetSceneDelayDialog(scene, btnSceneDelayInfo);
+ Action<string> action = (obj) => {
+ scene.delay = obj;
+ btnSceneDelayInfo.Text = scene.GetDelayText();
+ };
+ 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 ,scene.delay);
+
+
};
contentView.AddChidren(new Button()
@@ -314,34 +319,35 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.SubheadingFontSize,
- TextID = StringId.AddFunction,
+ TextID = StringId.FunctionManagement,
IsBold = true,
};
addFunctionRow.AddChidren(btnAddFunctionTitle);
functionListView = new VerticalScrolViewLayout()
{
- Height = 0,
+ Height = Application.GetRealHeight(228+48),
+ BackgroundColor = CSS_Color.DividingLineColor,
+ ScrollEnabled = false,
};
contentView.AddChidren(functionListView);
LoadFunctionRow(functionListView);
- Button btnLine1 = new Button()
- {
- //Y = sceneDelayRow.Bottom,
- Height = Application.GetRealHeight(8),
- BackgroundColor = CSS_Color.DividingLineColor,
- };
- contentView.AddChidren(btnLine1);
+ //Button btnLine1 = new Button()
+ //{
+ // //Y = sceneDelayRow.Bottom,
+ // Height = Application.GetRealHeight(8),
+ //};
+ //contentView.AddChidren(btnLine1);
- Button btnLine2 = new Button()
- {
- //Y = sceneDelayRow.Bottom,
- Height = Application.GetRealHeight(228),
- BackgroundColor = CSS_Color.DividingLineColor,
- };
- contentView.AddChidren(btnLine2);
+ //Button btnLine2 = new Button()
+ //{
+ // //Y = sceneDelayRow.Bottom,
+ // Height = Application.GetRealHeight(228),
+ // BackgroundColor = CSS_Color.DividingLineColor,
+ //};
+ //contentView.AddChidren(btnLine2);
#endregion
Button btnBottomLine = new Button()
@@ -367,13 +373,18 @@
LoadEventList();
}
+
+
/// <summary>
/// 鍔犺浇鍔熻兘鍒楄〃
/// </summary>
void LoadFunctionRow(VerticalScrolViewLayout functionListView)
{
functionListView.RemoveAll();
- functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
+ if (scene.functions.Count > 4)
+ {
+ functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
+ }
foreach (var scenefunction in scene.functions)
{
var row = new RowLayout()
@@ -401,8 +412,6 @@
};
row.AddChidren(btnRight);
-
-
var btnFunctionInfo = new Button()
{
Width = Application.GetRealWidth(327),
@@ -427,7 +436,7 @@
if (Convert.ToInt32(scenefunction.delay) > 0)
{
- btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + scenefunction.localFunction.delayText;
+ btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + new Scene() { delay = scenefunction.delay }.GetDelayText();
}
else
{
@@ -457,14 +466,7 @@
};
row.AddChidren(btnFunctionFloorAndRoom);
- btnFunctionName.MouseUpEventHandler = (sender, e) =>
- {
- var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction);
- MainPage.BasePageView.AddChidren(ssf);
- ssf.LoadPage();
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
- };
- btnFunctionFloorAndRoom.MouseUpEventHandler = (sender, e) =>
+ EventHandler<MouseEventArgs> skipEvent= (sender, e) =>
{
var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction);
MainPage.BasePageView.AddChidren(ssf);
@@ -472,6 +474,8 @@
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
+ btnFunctionName.MouseUpEventHandler = skipEvent;
+ btnFunctionFloorAndRoom.MouseUpEventHandler = skipEvent;
Button btnDelSceneFunction = new Button()
{
@@ -482,13 +486,12 @@
row.AddRightView(btnDelSceneFunction);
btnDelSceneFunction.MouseUpEventHandler = (sender, e) => {
scene.functions.Remove(scenefunction);
- scene.SaveSceneData(true);
row.RemoveFromParent();
- functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
- //LoadFunctionRow(functionListView);
+ if (scene.functions.Count > 4)
+ {
+ functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
+ }
};
-
-
}
}
@@ -506,66 +509,37 @@
if (sfs.value == "off")
return Language.StringByID(StringId.Close);
}
- if (sfs.key == FunctionAttributeKey.Mode)
- {
-
- }
}
- FunctionAttributes perTrait;
- switch (sceneFunction.localFunction.functionType)
+ sceneFunctionInfo += Language.StringByID(StringId.Open);
+
+ var modeState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode);
+ var tempState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp);
+ var fanState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed);
+ if (modeState != null)
{
- case FunctionType.AC:
- sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText();
- sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() +
- sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString;
- sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan").GetCurValueText();
- break;
- case FunctionType.FloorHeating:
- sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText();
- sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() +
- sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString;
- break;
- case FunctionType.Dimmer:
- perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness");
- if (perTrait != null)
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
- }
- else
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open);
- }
- break;
- case FunctionType.Relay:
- sceneFunctionInfo += Language.StringByID(StringId.Open);
- break;
- case FunctionType.RGB:
- perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
- if (perTrait != null)
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
- }
- else
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open);
- }
- break;
- case FunctionType.Curtain:
- sceneFunctionInfo += Language.StringByID(StringId.Open);
- break;
- case FunctionType.MotorCurtain:
- perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
- if (perTrait != null)
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent").curValue.ToString() + "%";
- }
- else
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open);
- }
- break;
+ sceneFunctionInfo += modeState.GetValueText();
}
+ if (tempState != null)
+ {
+ sceneFunctionInfo += tempState.GetValueText();
+ sceneFunctionInfo += tempState.GetUintString();
+ }
+ if (fanState != null)
+ {
+ sceneFunctionInfo += tempState.GetValueText();
+ }
+ var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
+ if (briState != null)
+ {
+ sceneFunctionInfo += briState.value + "%";
+ }
+ var perState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
+ if (perState != null)
+ {
+ sceneFunctionInfo += perState.value + "%";
+ }
+
return sceneFunctionInfo;
}
@@ -697,7 +671,7 @@
void LoadEvent_ChangeFunctionList()
{
btnAddFunctionTitle.MouseUpEventHandler = (sender, e) => {
- var sefp = new SceneFunctionListEditPage(scene, refreshFunctionRowAction);
+ var sefp = new SceneFunctionListChoosePage(scene, refreshFunctionRowAction);
MainPage.BasePageView.AddChidren(sefp);
sefp.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -803,6 +777,7 @@
pictureOptionView.Parent.RemoveFromParent();
Action<string> action = (obj) => {
scene.ImagePath = obj;
+ addSceneImageView.ImageBytes = null;//瑙e喅鏈塈mageBytes涓嶅姞杞絀magePath
addSceneImageView.ImagePath = scene.ImagePath;
};
@@ -837,47 +812,65 @@
}
/// <summary>
+ /// 鍒涘缓鍦烘櫙
/// 瀹屾垚鎸夐挳鐐瑰嚮浜嬩欢
/// </summary>
void LoadEvent_CompleteEvent()
{
btnComplete.MouseUpEventHandler += (sender, e) =>
{
- if (btnComplete.TextID == StringId.Complete)
+ if (string.IsNullOrEmpty(scene.name))
{
- if (string.IsNullOrEmpty(scene.name))
+ new Tip()
{
- new Tip()
- {
- CloseTime = 1,
- Text = Language.StringByID(StringId.SceneNameCannotBeEmpty),
- Direction = AMPopTipDirection.None,
- }.Show(bodyView);
+ CloseTime = 1,
+ Text = Language.StringByID(StringId.SceneNameCannotBeEmpty),
+ Direction = AMPopTipDirection.None,
+ }.Show(bodyView);
+ return;
+ }
+ foreach (var tempRoom in FunctionList.List.scenes)
+ {
+ if (scene.name == tempRoom.name)
+ {
+ new PublicAssmebly().TipMsg(StringId.Tip, StringId.SceneNameAlreadyExists);
return;
}
- foreach (var tempRoom in FunctionList.List.scenes)
- {
- if (scene.name == tempRoom.name)
- {
- new PublicAssmebly().TipMsg(StringId.Tip, StringId.SceneNameAlreadyExists);
- return;
- }
- }
- scene.SaveSceneData(true);
- FunctionList.List.scenes.Add(scene);
- backAction();
- this.RemoveFromParent();
}
- if (btnComplete.TextID == StringId.Del)
+ var waitPage = new Loading();
+ MainPage.BaseView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ new Thread(() =>
{
- Action action = () =>
+ try
{
- FunctionList.List.DeleteScene(scene, true);
- backAction();
- this.RemoveFromParent();
- };
- new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteSceneTip, action);
- };
+ var serverScene = new Scene();
+ var result = FunctionList.List.AddScene(scene, out serverScene);
+ Application.RunOnMainThread(() =>
+ {
+ if (result == StateCode.SUCCESS)
+ {
+ scene = serverScene;
+ FunctionList.List.scenes.Add(scene);
+ backAction();
+ RemoveFromParent();
+ }
+ else
+ {
+ IMessageCommon.Current.ShowErrorInfoAlter(result);
+ }
+ });
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() => {
+ waitPage.Hide();
+ waitPage.RemoveFromParent();
+ });
+ }
+ })
+ { IsBackground = true, Priority = ThreadPriority.AboveNormal }.Start();
};
}
--
Gitblit v1.8.0