From 32a8370517ce75caac836edc82f62614d5f9b187 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 23 十一月 2022 10:19:31 +0800
Subject: [PATCH] 科技系统优化、大华摄像头功能
---
HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs | 384 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 227 insertions(+), 157 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs
index ee30315..c462573 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs
@@ -375,6 +375,7 @@
public void ShowDialog()
{
+ commandDic.Clear();
commandDic.Add(FunctionAttributeKey.OnOff, "off");
listSwitch = lights.FindAll((obj) => obj.spk == SPK.LightSwitch);
@@ -382,9 +383,31 @@
lightCCT = lights.FindAll((obj) => obj.spk == SPK.LightCCT);
lightRGB = lights.FindAll((obj) => obj.spk == SPK.LightRGB);
+
+
var hadDimming = lightDimming.Count > 0;
var hadCCT = lightCCT.Count > 0;
var hadRGB = lightRGB.Count > 0;
+ if ( hadRGB)
+ {
+ commandDic.Add(FunctionAttributeKey.RGB, lightRGB[0].GetAttrState(FunctionAttributeKey.RGB));
+ commandDic.Add(FunctionAttributeKey.Brightness, lightRGB[0].GetAttrState(FunctionAttributeKey.Brightness));
+ }
+ if (hadCCT)
+ {
+ commandDic.Add(FunctionAttributeKey.CCT, lightCCT[0].GetAttrState(FunctionAttributeKey.CCT));
+ if (!commandDic.ContainsKey(FunctionAttributeKey.Brightness))
+ {
+ commandDic.Add(FunctionAttributeKey.Brightness, lightCCT[0].GetAttrState(FunctionAttributeKey.Brightness));
+ }
+ }
+ if (hadDimming)
+ {
+ if (!commandDic.ContainsKey(FunctionAttributeKey.Brightness))
+ {
+ commandDic.Add(FunctionAttributeKey.Brightness, lightCCT[0].GetAttrState(FunctionAttributeKey.Brightness));
+ }
+ }
var bodyView = new FrameLayout();
this.AddChidren(bodyView);
@@ -435,9 +458,17 @@
X = Application.GetRealWidth(12) + btnTitle.Right,
Gravity = Gravity.CenterVertical,
UnSelectedImagePath = "Public/Edit.png",
- //SelectedImagePath = "Public/HookIcon.png"
};
- titleView.AddChidren(btnEditIcon);
+ if (string.IsNullOrEmpty(scene.userSceneId))
+ {
+ titleView.AddChidren(btnEditIcon);
+ }
+ else
+ {
+ btnTitle.Text = scene.name;
+ btnTitle.Width = btnTitle.GetTextWidth()+ Application.GetRealWidth(10);
+ btnTitle.Gravity = Gravity.Center;
+ }
Action<string> callBack = (str) =>
{
@@ -646,175 +677,198 @@
contentView.AddChidren(bottomView);
bottomView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
- var btnCacel = new Button()
+ if (string.IsNullOrEmpty(scene.userSceneId))
{
- Width = Application.GetRealWidth(172),
- Height = Application.GetRealHeight(44),
- TextAlignment = TextAlignment.Center,
- TextSize = CSS_FontSize.SubheadingFontSize,
- TextColor = CSS_Color.TextualColor,
- TextID = StringId.Cancel,
- };
- bottomView.AddChidren(btnCacel);
-
- var btnSave = new Button()
- {
- X = Application.GetRealWidth(172),
- Width = Application.GetRealWidth(172),
- Height = Application.GetRealHeight(46),
- BackgroundColor = CSS_Color.MainColor,
- TextColor = CSS_Color.MainBackgroundColor,
- TextAlignment = TextAlignment.Center,
- TextSize = CSS_FontSize.SubheadingFontSize,
- TextID = StringId.Save
- };
- bottomView.AddChidren(btnSave);
-
- //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
- int mRectCornerID = HDLUtils.RectCornerBottomRight;
- btnSave.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID);
-
-
-
- btnCacel.MouseUpEventHandler = (sender, e) => {
- this.Close();
-
- //var waitPage = new Loading();
- //MainPage.BaseView.AddChidren(waitPage);
- //waitPage.Start(Language.StringByID(StringId.PleaseWait));
- //new Thread(() =>
- //{
- // try
- // {
- // foreach (var light in lights)
- // {
- // Dictionary<string, string> sendDate = new Dictionary<string, string>();
- // //璧嬪�煎満鏅姛鑳芥暟鎹�
- // foreach (var attr in light.GetAttributes())
- // {
- // if (commandDic.ContainsKey(attr))
- // {
- // try
- // {
- // sendDate.Add(attr, commandDic[attr]);
- // }
- // catch { }
- // }
-
- // }
- // Control.Ins.SendWriteCommand(light, sendDate);
- // Thread.Sleep(50);
- // }
- // }
- // catch
- // { }
- // finally
- // {
- // Application.RunOnMainThread(() =>
- // {
- // waitPage.Hide();
- // new PublicAssmebly().TipMsgAutoClose("缁勫悎鎺у埗宸叉墽琛�", true);
- // if (waitPage != null)
- // {
- // //backAction(null);
- // waitPage.RemoveFromParent();
- // }
- // });
- // }
- //})
- //{ IsBackground = true }.Start();
- };
-
-
-
- btnSave.MouseUpEventHandler = (sender, e) =>
- {
- if (string.IsNullOrEmpty(scene.name))
+ var btnCacel = new Button()
{
- new Tip()
- {
- CloseTime = 1,
- Text = Language.StringByID(StringId.NameCannotBeEmpty),
- Direction = AMPopTipDirection.None,
- }.Show(bodyView);
- return;
- }
- foreach (var tempRoom in FunctionList.List.scenes)
+ Width = Application.GetRealWidth(172),
+ Height = Application.GetRealHeight(44),
+ TextAlignment = TextAlignment.Center,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextColor = CSS_Color.TextualColor,
+ TextID = StringId.Cancel,
+ };
+ bottomView.AddChidren(btnCacel);
+
+ var btnSave = new Button()
{
- if (scene.name == tempRoom.name)
+ X = Application.GetRealWidth(172),
+ Width = Application.GetRealWidth(172),
+ Height = Application.GetRealHeight(46),
+ BackgroundColor = CSS_Color.MainColor,
+ TextColor = CSS_Color.MainBackgroundColor,
+ TextAlignment = TextAlignment.Center,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextID = StringId.Save
+ };
+ bottomView.AddChidren(btnSave);
+
+ //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
+ int mRectCornerID = HDLUtils.RectCornerBottomRight;
+ btnSave.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID);
+
+ btnCacel.MouseUpEventHandler = (sender, e) =>
+ {
+ this.Close();
+
+ //var waitPage = new Loading();
+ //MainPage.BaseView.AddChidren(waitPage);
+ //waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ //new Thread(() =>
+ //{
+ // try
+ // {
+ // foreach (var light in lights)
+ // {
+ // Dictionary<string, string> sendDate = new Dictionary<string, string>();
+ // //璧嬪�煎満鏅姛鑳芥暟鎹�
+ // foreach (var attr in light.GetAttributes())
+ // {
+ // if (commandDic.ContainsKey(attr))
+ // {
+ // try
+ // {
+ // sendDate.Add(attr, commandDic[attr]);
+ // }
+ // catch { }
+ // }
+
+ // }
+ // Control.Ins.SendWriteCommand(light, sendDate);
+ // Thread.Sleep(50);
+ // }
+ // }
+ // catch
+ // { }
+ // finally
+ // {
+ // Application.RunOnMainThread(() =>
+ // {
+ // waitPage.Hide();
+ // new PublicAssmebly().TipMsgAutoClose("缁勫悎鎺у埗宸叉墽琛�", true);
+ // if (waitPage != null)
+ // {
+ // //backAction(null);
+ // waitPage.RemoveFromParent();
+ // }
+ // });
+ // }
+ //})
+ //{ IsBackground = true }.Start();
+ };
+
+ btnSave.MouseUpEventHandler = (sender, e) =>
+ {
+ if (string.IsNullOrEmpty(scene.name))
{
- new PublicAssmebly().TipMsg(StringId.Tip, StringId.NameAlreadyExists);
+ new Tip()
+ {
+ CloseTime = 1,
+ Text = Language.StringByID(StringId.NameCannotBeEmpty),
+ Direction = AMPopTipDirection.None,
+ }.Show(bodyView);
return;
}
- }
- var waitPage = new Loading();
- MainPage.BaseView.AddChidren(waitPage);
- waitPage.Start(Language.StringByID(StringId.PleaseWait));
- new Thread(() =>
- {
- try
+ foreach (var tempRoom in FunctionList.List.scenes)
{
- var serverScene = new Scene();
- for (int i = 0; i < lights.Count; i++)
+ if (scene.name == tempRoom.name)
{
- var light = lights[i];
+ new PublicAssmebly().TipMsg(StringId.Tip, StringId.NameAlreadyExists);
+ return;
+ }
+ }
+ var waitPage = new Loading();
+ MainPage.BaseView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ new Thread(() =>
+ {
+ try
+ {
+ var serverScene = new Scene();
+ for (int i = 0; i < lights.Count; i++)
+ {
+ var light = lights[i];
//璧嬪�煎満鏅姛鑳芥暟鎹�
foreach (var attr in light.GetAttributes())
- {
- if (commandDic.ContainsKey(attr))
{
- try
+ if (commandDic.ContainsKey(attr))
{
- light.SetAttrState(attr, commandDic[attr]);
+ try
+ {
+ light.SetAttrState(attr, commandDic[attr]);
+ }
+ catch { }
}
- catch { }
}
- }
//杞崲鍦烘櫙鐨勫姛鑳藉璞�
var sceneFunction = light.ConvertSceneFunction();
//鏌ヨ鏈夋病鏈夊瓨鍦�
var temp = scene.functions.Find((obj) => obj.sid == sceneFunction.sid);
//璧嬪��
if (temp != null)
- {
- temp = sceneFunction;
- }
- else
- {
- scene.functions.Add(sceneFunction);
- }
- }
- var result = FunctionList.List.AddScene(scene, out serverScene);
- Application.RunOnMainThread(() =>
- {
- if (result == StateCode.SUCCESS)
- {
- scene.userSceneId = serverScene.userSceneId;
- FunctionList.List.scenes.Add(scene);
- backAction?.Invoke(scene);
- this.Close();
- }
- else
- {
- if (result == "124005")
- IMessageCommon.Current.ShowErrorInfoAlter(Language.StringByID(StringId.GatewayOffline));
+ {
+ temp = sceneFunction;
+ }
else
- IMessageCommon.Current.ShowErrorInfoAlter(result);
+ {
+ scene.functions.Add(sceneFunction);
+ }
}
- });
- }
- catch { }
- finally
- {
- Application.RunOnMainThread(() => {
- waitPage.Hide();
- waitPage.RemoveFromParent();
- });
- }
- })
- { IsBackground = true, Priority = ThreadPriority.AboveNormal }.Start();
- };
+ var result = FunctionList.List.AddScene(scene, out serverScene);
+ Application.RunOnMainThread(() =>
+ {
+ if (result == StateCode.SUCCESS)
+ {
+ scene.userSceneId = serverScene.userSceneId;
+ FunctionList.List.scenes.Add(scene);
+ backAction?.Invoke(scene);
+ this.Close();
+ }
+ else
+ {
+ if (result == "124005")
+ IMessageCommon.Current.ShowErrorInfoAlter(Language.StringByID(StringId.GatewayOffline));
+ else
+ IMessageCommon.Current.ShowErrorInfoAlter(result);
+ }
+ });
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ waitPage.RemoveFromParent();
+ });
+ }
+ })
+ { IsBackground = true, Priority = ThreadPriority.AboveNormal }.Start();
+ };
+ }
+ else
+ {
+ var btnCacel = new Button()
+ {
+ Height = Application.GetRealHeight(44),
+ TextAlignment = TextAlignment.Center,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextColor = CSS_Color.TextualColor,
+ TextID = StringId.Close,
+ };
+ bottomView.AddChidren(btnCacel);
+
+ //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
+ //int mRectCornerID = HDLUtils.RectCornerBottomRight;
+ //btnSave.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID);
+
+ btnCacel.MouseUpEventHandler = (sender, e) =>
+ {
+ this.Close();
+ };
+
+ }
@@ -833,8 +887,8 @@
/// <param name="attrView"></param>
void LoadDimmingAttrView(VerticalScrolViewLayout attrView)
{
-
- commandDic.TryAdd(FunctionAttributeKey.Percent, "0");
+ string briValue = "";
+ commandDic.TryGetValue(FunctionAttributeKey.Brightness,out briValue);
var dimmingView = new FrameLayout()
{
@@ -854,7 +908,7 @@
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextID = StringId.Brightness,
};
- btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + commandDic[FunctionAttributeKey.Percent] + "%";
+ btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + commandDic[FunctionAttributeKey.Brightness] + "%";
dimmingView.AddChidren(btnBrightnessText);
@@ -884,7 +938,7 @@
ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
ProgressBarColor = CSS_Color.AuxiliaryColor1,
MaxValue = 100,
- Progress = Convert.ToInt32(commandDic[FunctionAttributeKey.Percent]),
+ Progress = Convert.ToInt32(commandDic[FunctionAttributeKey.Brightness]),
SeekBarPadding = Application.GetRealWidth(20),
IsProgressTextShow = false,
ProgressChangeDelayTime = 0,
@@ -894,7 +948,7 @@
btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + e + "%";
};
dimmerBar.OnStopTrackingTouchEvent = (sender, e) => {
- commandDic[FunctionAttributeKey.Percent] = dimmerBar.Progress.ToString();
+ commandDic[FunctionAttributeKey.Brightness] = dimmerBar.Progress.ToString();
btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + e + "%";
foreach (var light in lights)
@@ -938,6 +992,10 @@
void LoadCctAttrView(VerticalScrolViewLayout attrView)
{
#region 鑹叉俯
+
+ string valueStr = "2700";
+ commandDic.TryGetValue(FunctionAttributeKey.CCT, out valueStr);
+ int value = Convert.ToInt32(valueStr) / 100;
var cctView = new FrameLayout()
{
@@ -1001,9 +1059,7 @@
barColorTemplatrue.SeekBarBackgroundColor = 0x00000000;
cctView.AddChidren(barColorTemplatrue);
barColorTemplatrue.Y = btnTempClolorMin.Y - (barColorTemplatrue.Height - btnTempClolorMin.Height) / 2;
- var cct = 27;
- //int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.CCT).value, out cct);
- barColorTemplatrue.Progress = cct;
+ barColorTemplatrue.Progress = value;
//璁剧疆鍒濆鍊�
btnTempClolor.Text = Language.StringByID(StringId.ColorTemperature) + " " + (barColorTemplatrue.Progress * 100 + "K");
barColorTemplatrue.OnProgressChangedEvent = (sender, e) =>
@@ -1052,7 +1108,9 @@
{
#region RGB
- commandDic.TryAdd(FunctionAttributeKey.RGB, "255,255,255");
+
+ string value = "255,255,255";
+ commandDic.TryGetValue(FunctionAttributeKey.RGB, out value);
var rgbView = new FrameLayout()
{
@@ -1122,6 +1180,10 @@
string rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString();
commandDic[FunctionAttributeKey.RGB] = rgbString;
btnCurColor.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
+ foreach (var rgbTemp in lightRGB)
+ {
+ rgbTemp.SetAttrState(FunctionAttributeKey.RGB, rgbString);
+ }
};
colorPicker.MouseDownEventHandler += (sender, e) =>
{
@@ -1139,6 +1201,14 @@
btnWhiteRound.Visible = true;
}
};
+ colorPicker.MouseUpEventHandler = (sender, e) => {
+ foreach (var rgbTemp in lightRGB)
+ {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.RGB, tempLight.GetRGBcolorString(rgbTemp));
+ Control.Ins.SendWriteCommand(rgbTemp, d, false, 0);
+ }
+ };
colorPicker.MouseMoveEventHandler += (sender, e) =>
{
--
Gitblit v1.8.0