From 304dca51c28183a9dfc192c6b93ea1c00bdd5d97 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 01 七月 2020 15:00:40 +0800
Subject: [PATCH] 添加了写入功能类型
---
ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs | 144 ++++++++++++++++++++++++-----------------------
1 files changed, 74 insertions(+), 70 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs
index fbe901a..ee7df2a 100755
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs
@@ -1,12 +1,11 @@
锘縰sing System;
using Shared.Common;
-using Shared.Phone.Device.DeviceLogic;
using Shared.Phone.UserCenter;
using ZigBee.Device;
namespace Shared.Phone.Device.CommonForm
{
- public class RoomView : FrameLayout
+ public class RoomView : FrameLayoutBase
{
/// <summary>
/// Room
@@ -22,12 +21,12 @@
Button temperatureText;
Button humidityText;
- /// <summary>
- /// 娓╁害璁惧
+ /// <summary>
+ /// 娓╁害璁惧
/// </summary>
private CommonDevice temperDevice = null;
- /// <summary>
- /// 婀垮害璁惧
+ /// <summary>
+ /// 婀垮害璁惧
/// </summary>
private CommonDevice humidDevice = null;
@@ -62,14 +61,16 @@
{
Width = Application.GetRealWidth(717),
Height = Application.GetRealHeight(478),
- Radius = (uint)Application.GetRealHeight(17)
+ Radius = (uint)Application.GetRealHeight(17),
+ Tag = "R"
};
AddChidren(roomBackView);
var roomImg = new ImageView()
{
ImagePath = room.BackgroundImageType == 0 ? room.BackgroundImage : System.IO.Path.Combine(Config.Instance.FullPath, room.BackgroundImage),
- Radius = (uint)Application.GetRealHeight(17)
+ Radius = (uint)Application.GetRealHeight(17),
+ Tag = "R"
};
roomBackView.AddChidren(roomImg);
@@ -77,8 +78,8 @@
var frameBackGroudTemp = new FrameLayout();
frameBackGroudTemp.Width = roomBackView.Width;
frameBackGroudTemp.Height = roomBackView.Height;
- frameBackGroudTemp.Radius = roomBackView.Radius;
- frameBackGroudTemp.BackgroundColor = 0x12000000;
+ frameBackGroudTemp.Radius = (uint)Application.GetRealHeight(17);
+ frameBackGroudTemp.BackgroundColor = UserCenterColor.Current.PictrueZhezhaoColor;
roomBackView.AddChidren(frameBackGroudTemp);
roomNameBackground = new FrameLayout
@@ -120,8 +121,8 @@
var temperatureIcon = new Button
{
X = Application.GetRealWidth(12),
- Width = Application.GetMinRealAverage(58),
- Height = Application.GetMinRealAverage(58),
+ Width = this.GetPictrueRealSize(58),
+ Height = this.GetPictrueRealSize(58),
Gravity = Gravity.CenterVertical,
UnSelectedImagePath = "Room/Temperature.png"
};
@@ -135,8 +136,9 @@
TextSize = 14,
TextAlignment = TextAlignment.CenterLeft
};
- if (string.IsNullOrEmpty(room.TemperatrueDevice) == false)
- {
+ if (LocalDevice.Current.GetDevice(room.TemperatrueDevice) != null)
+ {
+ //杩欎釜璁惧瑕佸瓨鍦ㄦ湰鍦版墠琛�
temperatureText.Text = room.Temperatrue == 0 ? "0.0鈩�" : room.Temperatrue.ToString() + "鈩�";
}
roomTemperatureBackground.AddChidren(temperatureText);
@@ -145,8 +147,8 @@
var humidityIcon = new Button
{
X = temperatureText.Right,
- Width = Application.GetMinRealAverage(58),
- Height = Application.GetMinRealAverage(58),
+ Width = this.GetPictrueRealSize(58),
+ Height = this.GetPictrueRealSize(58),
Gravity = Gravity.CenterVertical,
UnSelectedImagePath = "Room/Humidity.png"
};
@@ -160,8 +162,9 @@
TextSize = 14,
TextAlignment = TextAlignment.CenterLeft
};
- if (string.IsNullOrEmpty(room.HumidityDevice) == false)
- {
+ if (LocalDevice.Current.GetDevice(room.HumidityDevice) != null)
+ {
+ //杩欎釜璁惧瑕佸瓨鍦ㄦ湰鍦版墠琛�
humidityText.Text = room.Humidity == 0 ? "0.0%" : room.Humidity.ToString() + "%";
}
roomTemperatureBackground.AddChidren(humidityText);
@@ -169,24 +172,24 @@
roomTemperatureBackground.Width = (humidityText.Width + temperatureText.Width + Application.GetRealWidth(150)) > Application.GetRealWidth(600) ? Application.GetRealWidth(600) : (humidityText.Width + temperatureText.Width + Application.GetRealWidth(150));
if (string.IsNullOrEmpty(room.TemperatrueDevice) == false)
- {
+ {
//鍙戦�佽幏鍙栨俯搴︾殑鍛戒护
var dev = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice);
- ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(dev);
+ HdlDeviceAttributeLogic.Current.SendTemperatureStatuComand(dev);
}
if (string.IsNullOrEmpty(room.HumidityDevice) == false)
{
var dev = Common.LocalDevice.Current.GetDevice(room.HumidityDevice);
- ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(dev);
+ HdlDeviceAttributeLogic.Current.SendHumidityStatuComand(dev);
}
roomListBtn = new Button()
{
X = roomBackView.Width - Application.GetRealWidth(100 + 20),
Y = Application.GetRealHeight(20),
- Width = Application.GetMinRealAverage(100),
- Height = Application.GetMinRealAverage(100),
+ Width = this.GetPictrueRealSize(100),
+ Height = this.GetPictrueRealSize(100),
UnSelectedImagePath = "Room/List.png",
};
roomBackView.AddChidren(roomListBtn);
@@ -197,50 +200,51 @@
var form = new UserCenter.Residence.EditorRoomInforForm();
form.AddForm(room);
- form.FinishEditorEvent += (roomName2) =>
- {
- //閲嶆柊鍒锋柊鎺т欢
- this.Init(this.room);
+ form.FinishEditorEvent += (roomName2) =>
+ {
+ //閲嶆柊鍒锋柊鎺т欢
+ this.Init(this.room);
};
};
//璁惧灞炴�т笂鎶�
- HdlGatewayReceiveLogic.Current.AddAttributeEvent("RoomView" + this.room.Id, ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) =>
+ HdlGatewayReceiveLogic.Current.AddAttributeEvent("RoomView" + this.room.Id, ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) =>
{
- if (this.temperDevice != null)
- {
- //娓╁害璁惧
- if (report.DeviceAddr == temperDevice.DeviceAddr && report.DeviceEpoint == temperDevice.DeviceEpoint)
- {
- HdlThreadLogic.Current.RunMain(() =>
- {
- if (((TemperatureSensor)temperDevice).Temperatrue == 0)
- {
- temperatureText.Text = "0.0鈩�";
- }
- else
- {
- temperatureText.Text = ((TemperatureSensor)temperDevice).Temperatrue + "鈩�";
- }
- }, ShowErrorMode.NO);
- }
+ if (this.temperDevice != null)
+ {
+ //娓╁害璁惧
+ if (report.DeviceAddr == temperDevice.DeviceAddr && report.DeviceEpoint == temperDevice.DeviceEpoint)
+ {
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ if (((TemperatureSensor)temperDevice).Temperatrue == 0)
+ {
+ temperatureText.Text = "0.0鈩�";
+ }
+ else
+ {
+ temperatureText.Text = ((TemperatureSensor)temperDevice).Temperatrue + "鈩�";
+ }
+ }, ShowErrorMode.NO);
+ }
}
- if (this.humidDevice != null)
- {
- //婀垮害璁惧
- if (report.DeviceAddr == humidDevice.DeviceAddr && report.DeviceEpoint == humidDevice.DeviceEpoint)
- {
- HdlThreadLogic.Current.RunMain(() =>
+ if (this.humidDevice != null)
+ {
+ //婀垮害璁惧
+ if (report.DeviceAddr == humidDevice.DeviceAddr && report.DeviceEpoint == humidDevice.DeviceEpoint)
+ {
+ HdlThreadLogic.Current.RunMain(() =>
{
- if (((TemperatureSensor)temperDevice).Humidity == 0)
- {
- humidityText.Text = "--%";
- }
- else
- {
- humidityText.Text = ((TemperatureSensor)temperDevice).Humidity + "%";
- }
- }, ShowErrorMode.NO);
- }
+ decimal humidity = (decimal)humidDevice.GetType().InvokeMember("Humidity", System.Reflection.BindingFlags.GetField, null, humidDevice, null);
+ if (humidity == 0)
+ {
+ humidityText.Text = "--%";
+ }
+ else
+ {
+ humidityText.Text = humidity + "%";
+ }
+ }, ShowErrorMode.NO);
+ }
}
});
}
@@ -251,15 +255,15 @@
public void HideName(bool statu)
{
roomNameBackground.Visible = roomTemperatureBackground.Visible = roomListBtn.Visible = !statu;
- }
-
- /// <summary>
- ///
- /// </summary>
- public override void RemoveFromParent()
- {
- HdlGatewayReceiveLogic.Current.RemoveEvent("RoomView" + this.room.Id);
- base.RemoveFromParent();
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ public override void RemoveFromParent()
+ {
+ HdlGatewayReceiveLogic.Current.RemoveEvent("RoomView" + this.room.Id);
+ base.RemoveFromParent();
}
}
}
--
Gitblit v1.8.0