From 627093aca723d4bfb971b97c828e8b3a22dbda78 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 17 七月 2020 17:26:19 +0800
Subject: [PATCH] 2020-07-17-1
---
ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs | 181 +++++++++++++++++++++++----------------------
1 files changed, 93 insertions(+), 88 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
index a849299..cd14c9d 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
@@ -18,7 +18,7 @@
/// <summary>
/// 鍒楄〃鎺т欢
/// </summary>
- private VerticalListControl listview = null;
+ private FrameListControl listview = null;
/// <summary>
/// 鎴块棿瀵硅薄
/// </summary>
@@ -69,29 +69,33 @@
//娓呯┖bodyFrame
this.ClearBodyFrame();
+ var listBackControl = new VerticalFrameControl();
+ listBackControl.Height = bodyFrameLayout.Height;
+ bodyFrameLayout.AddChidren(listBackControl);
+
//鍔犱竴涓櫧鑹茶儗鏅�
var frameBack1 = new FrameLayout();
frameBack1.Height = Application.GetRealHeight(450);
frameBack1.Y = Application.GetRealHeight(196);
frameBack1.BackgroundColor = UserCenterColor.Current.White;
frameBack1.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
- bodyFrameLayout.AddChidren(frameBack1);
+ listBackControl.frameTable.AddChidren(frameBack1);
//鍒濆鍖栦俊鎭甯�
var tableContr = new InformationEditorControl();
- this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 613, 1175);
+ this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 1175);
//鎴块棿鍥剧墖搴曢儴闃村奖
- var btnShadow = new PicViewControl(994, 588);
+ var btnShadow = new PicViewControl(853, 593);
btnShadow.Y = Application.GetRealHeight(58);
btnShadow.Gravity = Gravity.CenterHorizontal;
btnShadow.UnSelectedImagePath = "Room/RoomShadow.png";
- bodyFrameLayout.AddChidren(btnShadow);
+ listBackControl.frameTable.AddChidren(btnShadow);
//鎴块棿鍥剧墖
var btnPic = new ImageView();
btnPic.Y = Application.GetRealHeight(60);
- btnPic.Width = Application.GetMinRealAverage(965);
- btnPic.Height = Application.GetMinRealAverage(544);
+ btnPic.Width = this.GetPictrueRealSize(824);
+ btnPic.Height = this.GetPictrueRealSize(549);
btnPic.Radius = (uint)Application.GetRealHeight(17);
btnPic.Gravity = Gravity.CenterHorizontal;
if (this.editorRoom.BackgroundImageType == 0)
@@ -102,16 +106,17 @@
{
btnPic.ImageBytes = Common.Global.ReadFileByHomeId(this.editorRoom.BackgroundImage);
}
- bodyFrameLayout.AddChidren(btnPic);
+ listBackControl.frameTable.AddChidren(btnPic);
//鍥剧墖閬僵
var btnZhezhao = new FrameLayout();
btnZhezhao.Width = btnPic.Width;
btnZhezhao.Height = btnPic.Height;
btnZhezhao.Y = btnPic.Y;
btnZhezhao.Gravity = Gravity.CenterHorizontal;
- btnZhezhao.Radius = btnPic.Radius;
- bodyFrameLayout.AddChidren(btnZhezhao);
- //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀�
+ btnZhezhao.BackgroundColor = UserCenterColor.Current.PictrueZhezhaoColor;
+ btnZhezhao.Radius = (uint)Application.GetRealHeight(17);
+ listBackControl.frameTable.AddChidren(btnZhezhao);
+ //鍒嗕韩鐨勬埧闂翠笉鑳界紪杈�
if (this.editorRoom.IsSharedRoom == false)
{
btnZhezhao.MouseUpEventHandler += (sender, e) =>
@@ -120,6 +125,9 @@
this.RoomPictrueSelect(btnPic);
};
}
+
+ //鍙樻洿涓�涓嬮偅涓櫧鑹茶儗鏅殑Y杞�,瀹冨埌鍥剧墖鐨勪腑闂翠綅缃�
+ frameBack1.Y = btnPic.Y + btnPic.Height / 2;
//娣诲姞鍏ㄩ儴鑿滃崟
this.AddAllMenuRow(tableContr, btnPic);
@@ -135,27 +143,41 @@
private void AddAllMenuRow(InformationEditorControl tableContr, ImageView btnPic)
{
//銆愭埧闂村悕绉般��
- var txtRoomName = new FrameCaptionInputControl(Language.StringByID(R.MyInternationalizationString.uRoomName), this.cloneRoom.Name, this.listview.rowSpace / 2);
- txtRoomName.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputRoomName);
- listview.AddChidren(txtRoomName);
- txtRoomName.InitControl();
- //搴曠嚎
- txtRoomName.AddBottomLine();
+ FrameCaptionInputControl txtRoomName = null;
+ if (this.editorRoom.IsLove == false)
+ {
+ txtRoomName = new FrameCaptionInputControl(Language.StringByID(R.MyInternationalizationString.uRoomName), this.cloneRoom.Name, this.listview.rowSpace / 2);
+ txtRoomName.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputRoomName);
+ listview.AddChidren(txtRoomName);
+ txtRoomName.InitControl();
+ //搴曠嚎
+ txtRoomName.AddBottomLine();
+ }
+ else
+ {
+ //鎴戠殑鍠滅埍涓嶈兘缂栬緫鍚嶅瓧
+ var rowRoomName = new FrameCaptionViewControl(Language.StringByID(R.MyInternationalizationString.uRoomName), this.cloneRoom.Name, this.listview.rowSpace / 2);
+ listview.AddChidren(rowRoomName);
+ rowRoomName.UseClickStatu = false;
+ rowRoomName.InitControl();
+ //搴曠嚎
+ rowRoomName.AddBottomLine();
+ }
//璇PP涓烘湁妤煎眰鐨勬ā寮忔墠寮�鍚繖涓彍鍗�
- if (string.IsNullOrEmpty(this.cloneRoom.FloorId) == false)
+ if (this.editorRoom.IsLove == false && string.IsNullOrEmpty(this.cloneRoom.FloorId) == false)
{
//銆愭墍灞炴ゼ灞傘��
var btnBelone = new FrameCaptionViewControl(Language.StringByID(R.MyInternationalizationString.uBelongeFloor), Common.Config.Instance.Home.FloorDics[this.cloneRoom.FloorId], this.listview.rowSpace / 2);
listview.AddChidren(btnBelone);
btnBelone.InitControl();
- //鍙崇澶�
- btnBelone.AddRightArrow();
//搴曠嚎
btnBelone.AddBottomLine();
//鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀�
if (this.editorRoom.IsSharedRoom == false)
{
+ //鍙崇澶�
+ btnBelone.AddRightArrow();
btnBelone.ButtonClickEvent += (sender, e) =>
{
//妤煎眰閫夋嫨
@@ -173,8 +195,8 @@
var btnTemper = rowTemperature.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uNothing), 300);
//搴曠嚎
rowTemperature.AddBottomLine();
- //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀�
- if (this.editorRoom.IsSharedRoom == false)
+ //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� 鎴栬�呭綋鍓嶄綇瀹呬笉鏄櫄鎷熺殑
+ if (this.editorRoom.IsSharedRoom == false && Common.Config.Instance.Home.IsVirtually == false)
{
rowTemperature.ButtonClickEvent += (sender, e) =>
{
@@ -197,8 +219,8 @@
var btnHumi = rowHumidity.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uNothing), 300);
//搴曠嚎
rowHumidity.AddBottomLine();
- //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀�
- if (this.editorRoom.IsSharedRoom == false)
+ //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� 鎴栬�呭綋鍓嶄綇瀹呬笉鏄櫄鎷熺殑
+ if (this.editorRoom.IsSharedRoom == false && Common.Config.Instance.Home.IsVirtually == false)
{
rowHumidity.ButtonClickEvent += (sender, e) =>
{
@@ -213,10 +235,10 @@
}
//鍒濆鍖栨甯冨畬鎴�
- tableContr.FinishInitControl(bodyFrameLayout, this.listview);
+ tableContr.FinishInitControl();
tableContr = null;
- //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀�
+ //鍒嗕韩鐨勬埧闂翠笉鑳戒繚瀛�
if (this.editorRoom.IsSharedRoom == true)
{
return;
@@ -228,7 +250,10 @@
bodyFrameLayout.AddChidren(btnFinish);
btnFinish.ButtonClickEvent += (sender, e) =>
{
- this.cloneRoom.Name = txtRoomName.Text;
+ if (txtRoomName != null)
+ {
+ this.cloneRoom.Name = txtRoomName.Text;
+ }
//妫�娴嬭兘鍚︿繚瀛樻埧闂�
if (this.CheckCanSaveRoom() == false)
{
@@ -288,6 +313,10 @@
//鍒锋柊宸︽粦鐨勬埧闂村垪琛ㄧ晫闈㈢殑鎴块棿鍒楄〃淇℃伅
MainPage.ListRoomViewFrom.Instance.RefreshListRoom();
}
+
+ //绠椾簡,杩欓噷濡傛灉鎸変笅淇濆瓨,鍒欎富椤甸渶瑕侀噸鏂板埛鏂�
+ UserView.UserPage.Instance.RefreshForm = true;
+
this.CloseForm();
};
}
@@ -395,41 +424,22 @@
{
return;
}
-
- foreach (var data in report.DeviceStatusReport.AttriBute)
+ var localDevice = Common.LocalDevice.Current.GetDevice(mainKeys);
+ HdlThreadLogic.Current.RunMain(() =>
{
- if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
+ if (((ZigBee.Device.TemperatureSensor)localDevice).Temperatrue == 0)
{
- HdlThreadLogic.Current.RunMain(() =>
- {
- if (data.AttriButeData == 0)
- {
- //0鈩�
- btnTemper.Text = "0.0鈩�";
- this.cloneRoom.Temperatrue = 0;
- }
- else if (data.AttriButeData > 32767)
- {
- //璐熸暟(鐗规畩澶勭悊)
- string strValue = (data.AttriButeData - 65536).ToString();
- //灏忔暟鐐归渶瑕佷竴浣�
- strValue = strValue.Substring(0, strValue.Length - 1);
- //璁板綍娓╁害
- this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
- btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�";
- }
- else
- {
- //灏忔暟鐐归渶瑕佷竴浣�
- string strValue = data.AttriButeData.ToString();
- strValue = strValue.Substring(0, strValue.Length - 1);
- //璁板綍娓╁害
- this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
- btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�";
- }
- });
+ //0鈩�
+ btnTemper.Text = "0.0鈩�";
+ this.cloneRoom.Temperatrue = 0;
}
- }
+ else
+ {
+ //璁板綍娓╁害
+ this.cloneRoom.Temperatrue = ((ZigBee.Device.TemperatureSensor)localDevice).Temperatrue;
+ btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�";
+ }
+ }, ShowErrorMode.NO);
}));
//鍙戦�佽幏鍙栨俯搴︾殑鍛戒护
((ZigBee.Device.TemperatureSensor)device).ReadTemperatureOrHumidity();
@@ -450,6 +460,10 @@
{
//鑾峰彇婀垮害浼犳劅鍣�
if (device is ZigBee.Device.TemperatureSensor && ((ZigBee.Device.TemperatureSensor)device).SensorDiv == 2)
+ {
+ listDevice.Add(device);
+ }
+ else if (device.Type == ZigBee.Device.DeviceType.FreshAirHumiditySensor)
{
listDevice.Add(device);
}
@@ -502,33 +516,26 @@
{
return;
}
- foreach (var data in report.DeviceStatusReport.AttriBute)
+ var localDevice = Common.LocalDevice.Current.GetDevice(mainKeys);
+ HdlThreadLogic.Current.RunMain(() =>
{
- if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
+ decimal humidity = (decimal)localDevice.GetType().InvokeMember("Humidity", System.Reflection.BindingFlags.GetField, null, localDevice, null);
+ if (humidity == 0)
{
- HdlThreadLogic.Current.RunMain(() =>
- {
- if (data.AttriButeData == 0)
- {
- //0
- btnHumi.Text = "0.0%";
- this.cloneRoom.Humidity = 0;
- }
- else
- {
- //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟)
- string strValue = data.AttriButeData.ToString();
- strValue = strValue.Substring(0, strValue.Length - 1);
- //璁板綍婀垮害
- this.cloneRoom.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
- btnHumi.Text = this.cloneRoom.Humidity.ToString() + "%";
- }
- });
+ //0
+ btnHumi.Text = "0.0%";
+ this.cloneRoom.Humidity = 0;
}
- }
+ else
+ {
+ //璁板綍婀垮害
+ this.cloneRoom.Humidity = humidity;
+ btnHumi.Text = this.cloneRoom.Humidity.ToString() + "%";
+ }
+ }, ShowErrorMode.NO);
});
//鍙戦�佽幏鍙栨箍搴︾殑鍛戒护
- ((ZigBee.Device.TemperatureSensor)device).ReadTemperatureOrHumidity();
+ device.GetType().InvokeMember("ReadTemperatureOrHumidity", System.Reflection.BindingFlags.InvokeMethod, null, device, null);
}
#endregion
@@ -546,11 +553,9 @@
//榛樿鍥惧簱
menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.LocalPicture), () =>
{
- var localPic = new Phone.Device.Room.AddRoomSelectPicByLocal();
- Shared.Phone.UserView.HomePage.Instance.AddChidren(localPic);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- localPic.Show();
- localPic.action = (imgPath) =>
+ var form = new SelectLocalRoomImageForm();
+ form.AddForm();
+ form.FinishSelectEvent = (imgPath) =>
{
if (string.IsNullOrEmpty(imgPath) == true)
{
@@ -577,7 +582,7 @@
this.cloneRoom.BackgroundImageType = 1;
imageContr.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath);
System.IO.File.Delete(imagePath);
- }, "HdlPic", 16, 9);
+ }, "HdlPic", 2, 1);
});
//鎴戠殑鐩稿唽
menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.MyAblums), () =>
@@ -594,7 +599,7 @@
imageContr.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath);
System.IO.File.Delete(imagePath);
- }, "HdlPic", 16, 9);
+ }, "HdlPic", 2, 1);
});
}
--
Gitblit v1.8.0