From cbe3c22d13b30208eccfa75ecd36f88adaa72930 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期五, 26 二月 2021 16:50:00 +0800
Subject: [PATCH] Merge branch 'ez-test' into temp-wxr
---
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs | 230 ++++++++++++++++++++------------------------------------
1 files changed, 83 insertions(+), 147 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
index 049a185..9a5237a 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -76,7 +76,6 @@
Scene scene;
- int pageTitleId;
/// <summary>
/// 鏇存柊鍔熻兘row
/// </summary>
@@ -93,21 +92,13 @@
refreshFunctionRowAction = () => {
- LoadFunctionRow(functionListView);
+ LoadFunctionRow();
};
}
- public void LoadPage(int titleId,Action backRefresh)
+ public void LoadPage(Action backRefresh)
{
- pageTitleId = titleId;
- new TopViewDiv(bodyView, Language.StringByID(pageTitleId)).LoadTopView(backRefresh);
- initPage();
- }
-
- public void LoadPage(int titleId)
- {
- pageTitleId = titleId;
- new TopViewDiv(bodyView, Language.StringByID(pageTitleId)).LoadTopView();
+ new TopViewDiv(bodyView, Language.StringByID(StringId.EditScene)).LoadTopView(backRefresh);
initPage();
}
@@ -211,7 +202,7 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
- TextID = StringId.BelongToZone,
+ TextID = StringId.LocationManagement,
};
belongToZoneRow.AddChidren(btnBelongToTitle);
@@ -232,7 +223,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);
@@ -270,7 +261,7 @@
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = scene.delayText
+ Text = FunctionList.List.GetDelayText( scene.delay)
};
sceneDelayRow.AddChidren(btnSceneDelayInfo);
@@ -288,7 +279,17 @@
btnSceneDelayTitle.MouseUpEventHandler = (sender, e) =>
{
- new PublicAssmebly().SetSceneDelayDialog(scene, btnSceneDelayInfo);
+ Action<string> action = (obj) => {
+ scene.delay = obj;
+ btnSceneDelayInfo.Text = FunctionList.List.GetDelayText(obj);
+ scene.EditScene();
+ };
+ 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(items,action,scene.delay);
};
contentView.AddChidren(new Button()
@@ -323,7 +324,7 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.SubheadingFontSize,
- TextID = StringId.AddFunction,
+ TextID = StringId.FunctionManagement,
IsBold = true,
};
addFunctionRow.AddChidren(btnAddFunctionTitle);
@@ -333,7 +334,7 @@
};
contentView.AddChidren(functionListView);
- LoadFunctionRow(functionListView);
+ LoadFunctionRow();
Button btnLine1 = new Button()
{
@@ -365,9 +366,9 @@
Y = Application.GetRealHeight(667 - 50),
Height = Application.GetRealHeight(50),
TextAlignment = TextAlignment.Center,
- TextColor = pageTitleId == StringId.NewScene ? CSS_Color.MainColor : CSS_Color.WarningColor,
+ TextColor = CSS_Color.WarningColor,
TextSize = CSS_FontSize.SubheadingFontSize,
- TextID = pageTitleId == StringId.NewScene ? StringId.Complete : StringId.Del,
+ TextID = StringId.Del,
BackgroundColor = CSS_Color.MainBackgroundColor,
//IsBold = true
};
@@ -377,31 +378,42 @@
var waitPage = new Loading();
new Thread(() => {
- Application.RunOnMainThread(() => {
- bodyView.AddChidren(waitPage);
- waitPage.Start(Language.StringByID(StringId.PleaseWait));
- });
- var pm = new HttpServerRequest();
- var pack = pm.GetSceneInfo(scene.userSceneId);
- if (pack.Code == StateCode.SUCCESS)
+ try
{
- var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
- var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
- if(tempScene!= null)
- {
- scene.functions = tempScene.functions;
- }
Application.RunOnMainThread(() =>
{
- waitPage.Hide();
+ bodyView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
});
+ var pm = new HttpServerRequest();
+ var pack = pm.GetSceneInfo(scene.userSceneId);
+ if (pack.Code == StateCode.SUCCESS)
+ {
+ var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
+ var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
+ if (tempScene != null)
+ {
+ scene.functions = tempScene.functions;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ LoadFunctionRow();
+ waitPage.Hide();
+ waitPage.RemoveFromParent();
+ });
+ }
+ else
+ {
+ IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+ }
}
- else
+ catch { }
+ finally
{
Application.RunOnMainThread(() =>
{
waitPage.Hide();
- IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+ waitPage.RemoveFromParent();
});
}
}).Start();
@@ -409,12 +421,19 @@
/// <summary>
/// 鍔犺浇鍔熻兘鍒楄〃
/// </summary>
- void LoadFunctionRow(VerticalScrolViewLayout functionListView)
+ void LoadFunctionRow()
{
functionListView.RemoveAll();
functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
- foreach (var scenefunction in scene.functions)
+ for(int i =0;i<scene.functions.Count;)
{
+ var scenefunction = scene.functions[i];
+ if (scenefunction.localFunction == null)
+ {
+ scene.functions.Remove(scenefunction);
+ continue;
+ }
+ i++;
var row = new RowLayout()
{
Height = Application.GetRealWidth(65),
@@ -440,8 +459,6 @@
};
row.AddChidren(btnRight);
-
-
var btnFunctionInfo = new Button()
{
Width = Application.GetRealWidth(327),
@@ -466,7 +483,7 @@
if (Convert.ToInt32( scenefunction.delay) > 0)
{
- btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + scenefunction.localFunction.delayText;
+ btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + FunctionList.List.GetDelayText(scenefunction.delay);
}
else
{
@@ -520,13 +537,11 @@
row.AddRightView(btnDelSceneFunction);
btnDelSceneFunction.MouseUpEventHandler = (sender, e) => {
scene.functions.Remove(scenefunction);
- scene.SaveSceneData(true);
+ scene.EditScene();
row.RemoveFromParent();
functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
//LoadFunctionRow(functionListView);
};
-
-
}
}
@@ -545,93 +560,34 @@
return Language.StringByID(StringId.Close);
}
}
-
- if (sceneFunction.status.Count == 0)
- {
- return sceneFunctionInfo += Language.StringByID(StringId.Open);
- }
+ 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)
{
- sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value);
+ sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value) + " ";
}
if (tempState != null)
{
- sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value);
+ sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value) + " ";
sceneFunctionInfo += FunctionList.List.GetUintString(tempState.key);
}
if (fanState != null)
{
- sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value);
+ sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value) + " ";
}
var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
if (briState != null)
{
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + briState.value + "%";
+ sceneFunctionInfo += briState.value + "%";
}
var perState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
if (perState != null)
{
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + perState.value + "%";
+ sceneFunctionInfo += perState.value + "%";
}
- //FunctionAttributes perTrait;
-
- //switch (sceneFunction.localFunction.functionType)
- //{
- // 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;
- //}
return sceneFunctionInfo;
}
@@ -744,7 +700,14 @@
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
{
Action backAction = () => {
- btnZoneName.Text = scene.GetRoomListName();
+ var result = scene.EditScene();
+ if (result == StateCode.SUCCESS)
+ {
+ btnZoneName.Text = scene.GetRoomListName();
+ }else
+ {
+ IMessageCommon.Current.ShowErrorInfoAlter(result);
+ }
};
var ssl = new SetSceneLocationPage(scene, backAction);
MainPage.BasePageView.AddChidren(ssl);
@@ -763,7 +726,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;
@@ -805,30 +768,12 @@
{
btnTakePicture.IsSelected = false;
- //var pid = Guid.NewGuid();
- //CropImage.TakePicture((imagePath) =>
- //{
- // if (imagePath != null)
- // {
- // addSceneImageView.ImagePath = imagePath.ToString();
- // scene.ImagePath = addSceneImageView.ImagePath;
- // MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
- // }
- //}, pid.ToString(), 4, 3);
-
-
var imageName = Guid.NewGuid().ToString();
- //var imageName = scene.sid;
CropImage.TakePicture((imagePath) =>
{
CropImageCallBack(imagePath);
-
}, imageName, 4, 3);
- //if (pageTitleId == StringId.EditScene)
- //{
- // scene.SaveFunctionData();
- //}
pictureOptionView.Parent.RemoveFromParent();
};
btnAlbum.MouseDownEventHandler = (sender, e) => {
@@ -858,10 +803,6 @@
}, imageName, 4, 3);
- //if (pageTitleId == StringId.EditScene)
- //{
- // scene.SaveFunctionData();
- //}
pictureOptionView.Parent.RemoveFromParent();
};
@@ -869,11 +810,9 @@
pictureOptionView.Parent.RemoveFromParent();
Action<string> action = (obj) => {
scene.ImagePath = obj;
+ addSceneImageView.ImageBytes = null;//瑙e喅鏈塈mageBytes涓嶅姞杞絀magePath
addSceneImageView.ImagePath = scene.ImagePath;
- if (pageTitleId == StringId.EditScene)
- {
- scene.SaveSceneData(true);
- }
+ scene.EditScene();
};
var galleryPage = new GalleryPage(scene.ImagePath,action);
@@ -899,12 +838,9 @@
//涓婁紶鎴愬姛鍒板洖璋�
Action<string> uploadSuccessAction = (imageUrl) =>
{
- //2020-12-03 闇�瑕佽鏈�鏂扮殑鍥剧墖璺緞鍚屾鍒颁簯绔�
- scene.ImagePath = imageUrl;
- if (pageTitleId == StringId.EditScene)
- {
- scene.SaveSceneData(true);
- }
+ //2020-12-03 闇�瑕佽鏈�鏂扮殑鍥剧墖璺緞鍚屾鍒颁簯绔�
+ scene.ImagePath = imageUrl;
+ scene.EditScene();
};
//涓婁紶鍥剧墖鍒颁簯绔�
UploadImage(selectImagePath, addSceneImageView, scene, uploadSuccessAction);
@@ -937,7 +873,7 @@
return;
}
}
- scene.SaveSceneData(true);
+ scene.EditScene();
FunctionList.List.scenes.Add(scene);
backAction();
this.RemoveFromParent();
@@ -974,11 +910,11 @@
}.Show(bodyView);
return;
}
- btnSceneName.Text = str;
scene.name = str;
- if (pageTitleId == StringId.EditScene)
+ var result = scene.EditScene();
+ if (result == StateCode.SUCCESS)
{
- scene.SaveSceneData(true);
+ btnSceneName.Text = str;
}
};
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
--
Gitblit v1.8.0