From f7c931e07919d62eb7fb1d1e6f0daaa5929be422 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 04 十二月 2020 14:20:25 +0800
Subject: [PATCH] 2020-12-04-2
---
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs | 203 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 140 insertions(+), 63 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
index 8cadc49..63fdbd6 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -327,9 +327,7 @@
};
contentView.AddChidren(functionListView);
-
LoadFunctionRow(functionListView);
-
Button btnLine1 = new Button()
{
@@ -339,7 +337,6 @@
};
contentView.AddChidren(btnLine1);
-
Button btnLine2 = new Button()
{
//Y = sceneDelayRow.Bottom,
@@ -347,12 +344,11 @@
BackgroundColor = CSS_Color.DividingLineColor,
};
contentView.AddChidren(btnLine2);
-
#endregion
Button btnBottomLine = new Button()
{
- Y = Application.GetRealHeight(667-50)-1,
+ Y = Application.GetRealHeight(667 - 50) - 1,
Height = 1,
BackgroundColor = CSS_Color.DividingLineColor,
};
@@ -379,8 +375,8 @@
void LoadFunctionRow(VerticalScrolViewLayout functionListView)
{
functionListView.RemoveAll();
- functionListView.Height = Application.GetRealWidth(65 * scene.sceneFunctionList.Count);
- foreach (var function in scene.sceneFunctionList)
+ functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
+ foreach (var scenefunction in scene.functions)
{
var row = new RowLayout()
{
@@ -416,7 +412,7 @@
TextAlignment = TextAlignment.BottomRight,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = GetFunctionScnenInfo(function),
+ Text = GetFunctionScnenInfo(scenefunction),
};
row.AddChidren(btnFunctionInfo);
@@ -431,9 +427,9 @@
};
row.AddChidren(btnFunctionDelayInfo);
- if (function.delay > 0)
+ if (Convert.ToInt32( scenefunction.delay) > 0)
{
- btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + function.delayText;
+ btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + scenefunction.localFunction.delayText;
}
else
{
@@ -447,7 +443,7 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
- Text = function.name,
+ Text = scenefunction.localFunction.name,
};
row.AddChidren(btnFunctionName);
@@ -459,20 +455,20 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.TextFontSize,
- Text = function.GetRoomListName(),
+ Text = scenefunction.localFunction.GetRoomListName(),
};
row.AddChidren(btnFunctionFloorAndRoom);
btnFunctionName.MouseUpEventHandler = (sender, e) =>
{
- var ssf = new SceneFunctionInfoEditPage(scene, function, refreshFunctionRowAction);
+ var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction);
MainPage.BasePageView.AddChidren(ssf);
ssf.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
btnFunctionFloorAndRoom.MouseUpEventHandler = (sender, e) =>
{
- var ssf = new SceneFunctionInfoEditPage(scene, function, refreshFunctionRowAction);
+ var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction);
MainPage.BasePageView.AddChidren(ssf);
ssf.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -486,10 +482,10 @@
};
row.AddRightView(btnDelSceneFunction);
btnDelSceneFunction.MouseUpEventHandler = (sender, e) => {
- scene.sceneFunctionList.Remove(function);
- scene.SaveFunctionData();
+ scene.functions.Remove(scenefunction);
+ scene.SaveSceneData();
row.RemoveFromParent();
- functionListView.Height = Application.GetRealWidth(65 * scene.sceneFunctionList.Count);
+ functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
//LoadFunctionRow(functionListView);
};
@@ -501,32 +497,41 @@
/// 瑙f瀽鍦烘櫙鍔熻兘鏁版嵁
/// </summary>
/// <param name="sceneFunction"></param>
- string GetFunctionScnenInfo(Function sceneFunction)
+ string GetFunctionScnenInfo(SceneFunction sceneFunction)
{
- string sceneFunctionInfo = Language.StringByID(StringId.Close);
- if (sceneFunction.trait_on_off.curValue.ToString() == "off")
- return sceneFunctionInfo;
- sceneFunctionInfo = "";
+ var sceneFunctionInfo = "";
+ foreach (var sfs in sceneFunction.status)
+ {
+ if (sfs.key == FunctionAttributeKey.OnOff)
+ {
+ if (sfs.value == "off")
+ return Language.StringByID(StringId.Close);
+ }
+ if (sfs.key == FunctionAttributeKey.Mode)
+ {
+
+ }
+ }
FunctionAttributes perTrait;
- switch (sceneFunction.functionType)
+ switch (sceneFunction.localFunction.functionType)
{
case FunctionType.AC:
- sceneFunctionInfo += sceneFunction.function.Find((obj) => obj.key == "mode").GetCurValueText();
- sceneFunctionInfo += " " + sceneFunction.function.Find((obj) => obj.key == "set_temperature").curValue.ToString() +
- sceneFunction.function.Find((obj) => obj.key == "set_temperature").uintString;
- sceneFunctionInfo += sceneFunction.function.Find((obj) => obj.key == "fan").GetCurValueText();
+ sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText();
+ sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").curValue.ToString() +
+ sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").uintString;
+ sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan").GetCurValueText();
break;
case FunctionType.FloorHeating:
- sceneFunctionInfo += sceneFunction.function.Find((obj) => obj.key == "mode").GetCurValueText();
- sceneFunctionInfo += " " + sceneFunction.function.Find((obj) => obj.key == "set_temperature").curValue.ToString() +
- sceneFunction.function.Find((obj) => obj.key == "set_temperature").uintString;
+ sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText();
+ sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").curValue.ToString() +
+ sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").uintString;
break;
case FunctionType.Dimmer:
- perTrait = sceneFunction.function.Find((obj) => obj.key == "brightness");
+ perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness");
if (perTrait != null)
{
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.function.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
+ sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
}
else
{
@@ -537,10 +542,10 @@
sceneFunctionInfo += Language.StringByID(StringId.Open);
break;
case FunctionType.RGB:
- perTrait = sceneFunction.function.Find((obj) => obj.key == "percent");
+ perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
if (perTrait != null)
{
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.function.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
+ sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
}
else
{
@@ -551,10 +556,10 @@
sceneFunctionInfo += Language.StringByID(StringId.Open);
break;
case FunctionType.MotorCurtain:
- perTrait = sceneFunction.function.Find((obj) => obj.key == "percent");
+ perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
if (perTrait != null)
{
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.function.Find((obj) => obj.key == "percent").curValue.ToString() + "%";
+ sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent").curValue.ToString() + "%";
}
else
{
@@ -735,20 +740,29 @@
{
btnTakePicture.IsSelected = false;
- var pid = Guid.NewGuid();
+ //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) =>
{
- if (imagePath != null)
- {
- addSceneImageView.ImagePath = imagePath.ToString();
- scene.ImagePath = addSceneImageView.ImagePath;
- MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
- }
- }, pid.ToString(), 4, 3);
- if (pageTitleId == StringId.EditScene)
- {
- scene.SaveFunctionData();
- }
+ CropImageCallBack(imagePath, imageName);
+ }, imageName, 4, 3);
+
+ //if (pageTitleId == StringId.EditScene)
+ //{
+ // scene.SaveFunctionData();
+ //}
pictureOptionView.Parent.RemoveFromParent();
};
btnAlbum.MouseDownEventHandler = (sender, e) => {
@@ -758,20 +772,30 @@
btnAlbum.MouseUpEventHandler = (sender, e) =>
{
btnAlbum.IsSelected = false;
- var pid = Guid.NewGuid();
+ //var pid = Guid.NewGuid();
+ //CropImage.SelectPicture((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.SelectPicture((imagePath) =>
{
- if (imagePath != null)
- {
- addSceneImageView.ImagePath = imagePath.ToString();
- scene.ImagePath = addSceneImageView.ImagePath;
- MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
- }
- }, pid.ToString(), 4, 3);
- if (pageTitleId == StringId.EditScene)
- {
- scene.SaveFunctionData();
- }
+ CropImageCallBack(imagePath, imageName);
+ }, imageName, 4, 3);
+
+
+ //if (pageTitleId == StringId.EditScene)
+ //{
+ // scene.SaveFunctionData();
+ //}
pictureOptionView.Parent.RemoveFromParent();
};
@@ -782,7 +806,7 @@
addSceneImageView.ImagePath = scene.ImagePath;
if (pageTitleId == StringId.EditScene)
{
- scene.SaveFunctionData();
+ scene.SaveSceneData();
}
};
@@ -791,6 +815,58 @@
galleryPage.LoadPage(true);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
+
+ }
+
+ /// <summary>
+ /// 瑁佸壀瀹岀収鐗囧洖璋冿紝缁熶竴澶勭悊
+ /// </summary>
+ /// <param name="imagePath">瑁佸壀鍚庣殑鐪熷疄璺緞</param>
+ /// <param name="imageName">鑷畾涔夌殑鍥剧墖鍚嶇О</param>
+ void CropImageCallBack(string imagePath, string imageName)
+ {
+ if (string.IsNullOrEmpty(imagePath) == true)
+ {
+ return;
+ }
+
+ try
+ {
+ var mPath = imagePath;
+ MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
+
+#if __IOS__
+
+
+#else
+ //1.浣跨敤鏂板悕瀛楋紝瑙e喅鐩稿悓璺緞涓嶅埛鏂板浘鐗囬棶棰�
+ imageName = Guid.NewGuid().ToString() + ".png";
+ //1.2濡傛灉鏄嚜瀹氫箟鍥剧墖鍒犻櫎涔嬪墠鐨�
+ if (!addSceneImageView.ImagePath.Contains("Gallery/scenebg"))
+ {
+ Utlis.WriteLine("鍒犻櫎: " + addSceneImageView.ImagePath);
+ System.IO.File.Delete(addSceneImageView.ImagePath);
+ }
+ //1.3濡傛灉鏄畨鍗撻渶瑕佹嫹璐濆洖鏉PP鏍圭洰褰�
+ FileUtils.FileCopyToRootPath(imagePath, imageName);
+ System.IO.File.Delete(imagePath);
+ MainPage.Log("SelectPicture 鏈�缁堣矾寰�: " + imageName);
+ mPath = imageName;
+#endif
+ //娓呯┖鍘熸潵鍥剧墖
+ addSceneImageView.ImagePath = "NULL";
+ addSceneImageView.ImagePath = mPath;
+ scene.ImagePath = mPath;
+
+ if (pageTitleId == StringId.EditScene)
+ {
+ scene.SaveSceneData();
+ }
+ }
+ catch
+ {
+
+ }
}
@@ -821,7 +897,7 @@
return;
}
}
- scene.SaveFunctionData();
+ scene.SaveSceneData();
DB_ResidenceData.functionList.scenes.Add(scene);
backAction();
this.RemoveFromParent();
@@ -862,7 +938,7 @@
scene.name = str;
if (pageTitleId == StringId.EditScene)
{
- scene.SaveFunctionData();
+ scene.SaveSceneData();
}
};
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
@@ -879,5 +955,6 @@
btnEditSceneNameIcon.MouseUpEventHandler = eventHandler;
}
+
}
}
--
Gitblit v1.8.0