From 1d1cad99a27c9f644c84eb3d376c70bd30a55879 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 10 三月 2021 18:02:13 +0800
Subject: [PATCH] 2021-3-10-1
---
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs | 230 ++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 145 insertions(+), 85 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs
index 1694d48..b830595 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs
@@ -3,6 +3,7 @@
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using System.Collections.Generic;
+using HDL_ON.DriverLayer;
namespace HDL_ON.UI
{
@@ -19,6 +20,10 @@
/// 鎴块棿閫夋嫨涓嬫媺鍥炬爣
/// </summary>
Button btnFoorDownIcon;
+ /// <summary>
+ /// 鎴块棿閫夋嫨瑙﹀彂鍖哄煙
+ /// </summary>
+ Button btnRoomClickRow;
/// <summary>
/// 浼犳劅鍣ㄥ垪琛ㄥ尯鍩�
/// </summary>
@@ -45,6 +50,7 @@
#region 鍖哄煙鍙橀噺
Room room;
+ Sensor sensorTemp = new Sensor();
#endregion
@@ -200,7 +206,7 @@
Y = Application.GetRealHeight(90),
Width = Application.GetRealWidth(24),
Height = Application.GetRealWidth(24),
- UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
+ UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/HumidityIcon.png",
};
topWeatherView.AddChidren(btnHumidityIcon);
@@ -223,7 +229,7 @@
Y = Application.GetRealHeight(90),
Width = Application.GetRealWidth(24),
Height = Application.GetRealWidth(24),
- UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
+ UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/Pm25Icon.png",
};
topWeatherView.AddChidren(btnPm25Icon);
@@ -279,11 +285,7 @@
bodyView.AddChidren(contentView);
#region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙
- room = new Room();
- if (DB_ResidenceData.residenceData.rooms.Count > 0)
- {
- room = DB_ResidenceData.residenceData.rooms[0];
- }
+ room = new Room() { roomName = Language.StringByID(StringId.All)};
btnFoorDownIcon = new Button()
{
Width = Application.GetMinRealAverage(16),
@@ -303,9 +305,16 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextAlignment = TextAlignment.CenterLeft,
- Text = room.name,
+ Text = room.roomName,
};
contentView.AddChidren(btnRoom);
+
+ btnRoomClickRow = new Button()
+ {
+ Height = Application.GetRealHeight(40),
+ };
+ contentView.AddChidren(btnRoomClickRow);
+
#endregion
sensorListView = new FrameLayout()
@@ -320,16 +329,10 @@
};
contentView.AddChidren(sensorListView);
- int index = 0;
- foreach(var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience)
- {
- if ( sensor.functionType == FunctionType.WindPower)
- {
- continue;
- }
- LoadSensorDiv(sensor, index);
- index++;
- }
+ LoadSenesorList();
+
+ LoadEventList();
+
#endregion
@@ -339,18 +342,32 @@
new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView();
}
+
/// <summary>
/// 鍔犺浇浼犳劅鍣ㄥ垪琛�
/// </summary>
- void LoadSensorDiv(Sensor sensor,int index)
+ void LoadSenesorList()
{
- if (sensor.roomIdList.Contains(room.sid))
+ sensorListView.RemoveAll();
+ int index = 0;
+ foreach (var sensor in FunctionList.List.GetEnvirSensorsList())
+ {
+ LoadSensorDiv(sensor, index);
+ index++;
+ }
+ }
+
+ /// <summary>
+ /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
+ /// </summary>
+ void LoadSensorDiv(Function sensor,int index)
+ {
+ var levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
+ var levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
+
+ if (room.roomId == "" || sensor.roomIds.Contains(room.roomId))
{
var sensorTag = sensor.sid;
- if (sensor.bus_Data != null)
- {
- sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus_Data.SubnetID + "_" + sensor.bus_Data.DeviceID + "_" + sensor.bus_Data.LoopID;
- }
FrameLayout sensorView = new FrameLayout()
{
Width = Application.GetRealWidth(148),
@@ -368,27 +385,22 @@
}
sensorListView.AddChidren(sensorView);
- var arcBar = new ArcSeekBar()
+ var arcBar = new DiyArcSeekBar()
{
- ProgressBarUnitSring = "掳C",
X = Application.GetRealWidth(7),
Gravity = Gravity.CenterVertical,
Width = Application.GetRealWidth(48),
Height = Application.GetRealWidth(48),
- OpenAngle = 1,
- ThumbColor = 0x00000000,
- ThumbModeFill = true,
- ProgressBarColor = sensor.levelColorList[sensor.curLevel - 1],
- ThumbRadius = 1,
- ArcWidthWithDefaultStyle = Application.GetRealWidth(3),
+ OpenAngle = 10,
+ ProgressBarColor = sensorTemp.GetLevelColorList(sensor.spk)[sensorTemp.GetCurLevel(sensor) - 1],
MinValue = 0,
MaxValue = 96,
- Progress = (96 / sensor.levelColorList.Count) * sensor.curLevel,
- //ProgressBarUnitSring = "",
+ Progress = (96 / sensorTemp.GetLevelColorList(sensor.spk).Count * sensorTemp.GetCurLevel(sensor)),
IsClickable = false,
- ProgressTextColor = 0x00000000,
ArcColor = CSS_Color.BackgroundColor,
- //BackgroundColor = 0x33FF0000,
+ ArcWidth = Application.GetRealWidth(4),
+ IsThumbImgBtnShow = false,
+ SeekBarPadding = Application.GetRealWidth(2),
};
sensorView.AddChidren(arcBar);
@@ -401,32 +413,31 @@
TextAlignment = TextAlignment.Center,
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
TextColor = CSS_Color.FirstLevelTitleColor,
- TextID = sensor.functionTypeNameId,
+ TextID = sensorTemp.GetFunctionTypeNameId(sensor.spk),
Tag = "SensorTitle"
};
sensorView.AddChidren(btnSensorTitle);
btnSensorTitle.MouseUpEventHandler = (sender, e) => {
+ #region
var esp = new EnvironmentalSensorPage(sensor);
MainPage.BasePageView.AddChidren(esp);
esp.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ #endregion
};
- if ( sensor.functionType != FunctionType.WindPower)
+ var btnInfoIcon = new Button()
{
- var btnInfoIcon = new Button()
- {
- X = Application.GetRealWidth(120),
- Width = Application.GetRealWidth(28),
- Height = Application.GetRealWidth(28),
- UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png",
- };
- sensorView.AddChidren(btnInfoIcon);
- btnInfoIcon.MouseUpEventHandler = (sender, e) =>
- {
- LoadInfo(sensor);
- };
- }
+ X = Application.GetRealWidth(120),
+ Width = Application.GetRealWidth(28),
+ Height = Application.GetRealWidth(28),
+ UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png",
+ };
+ sensorView.AddChidren(btnInfoIcon);
+ btnInfoIcon.MouseUpEventHandler = (sender, e) =>
+ {
+ LoadInfo(sensor);
+ };
var btnSensorValues = new Button()
{
@@ -438,7 +449,7 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
IsBold = true,
- Text = sensor.values.ToString(),
+ Text = sensor.GetAttrState(FunctionAttributeKey.Value),
Tag = "SensorValues"
};
sensorView.AddChidren(btnSensorValues);
@@ -450,22 +461,24 @@
Width = Application.GetRealWidth(50),
Height = Application.GetRealWidth(18),
TextAlignment = TextAlignment.CenterLeft,
- TextColor = sensor.levelColorList[sensor.curLevel - 1],
+ TextColor = levelColorList[sensorTemp.GetCurLevel( sensor) - 1],
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- TextID = sensor.levelTextList[sensor.curLevel - 1],
+ TextID = levelTextList[sensorTemp.GetCurLevel(sensor) - 1],
Tag = "SensorLevel"
};
sensorView.AddChidren(btnLevel);
- Control.Send(CommandType_A.read, sensor);
+ Control.Ins.SendReadCommand(sensor);
}
}
/// <summary>
/// 鍔犺浇浼犳劅鍣ㄧ瓑绾х浉鍏充俊鎭�
/// </summary>
- void LoadInfo(Sensor sensor)
+ void LoadInfo(Function sensor)
{
+ var levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
+ var levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
Dialog dialog = new Dialog();
FrameLayout dialogBodyView = new FrameLayout();
@@ -474,13 +487,12 @@
{
dialog.Close();
};
-
VerticalScrolViewLayout infoView = new VerticalScrolViewLayout()
{
Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealHeight(667 - 94 - (sensor.levelColorList.Count * 44) - 20),
+ Y = Application.GetRealHeight(667 - 94 - (levelColorList.Count * 44) - 20),
Width = Application.GetRealWidth(343),
- Height = Application.GetRealHeight(94 + (sensor.levelColorList.Count * 44) + sensor.levelColorList.Count),
+ Height = Application.GetRealHeight(94 + (levelColorList.Count * 44) + levelColorList.Count),
Radius = (uint)Application.GetRealWidth(12),
BackgroundColor = CSS_Color.MainBackgroundColor,
Animate = Animate.DownToUp,
@@ -499,29 +511,21 @@
};
infoView.AddChidren(btnTitle);
- switch (sensor.functionType)
+ switch (sensor.spk)
{
- case FunctionType.PM10:
- btnTitle.Text = "PM1.0(ug/m虏)";
- break;
- case FunctionType.PM25:
+ case SPK.SensorPm25:
btnTitle.Text = "PM2.5(ug/m虏)";
break;
- case FunctionType.WindPower:
-
- break;
- //case FunctionType.Noise:
- // break;
- case FunctionType.Temp:
+ case SPK.SensorTemperature:
btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)";
break;
- case FunctionType.TVOC:
+ case SPK.SensorTVOC:
btnTitle.Text = "TVOC(PPM)";
break;
- case FunctionType.CO2:
+ case SPK.SensorCO2:
btnTitle.Text = "CO2(PPM)";
break;
- case FunctionType.Humidity:
+ case SPK.SensorHumidity:
btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)";
break;
}
@@ -564,7 +568,7 @@
IsBold = true,
TextID = StringId.ColorValue,
});
- for (int index = 0; index < sensor.levelTextList.Count; index++)
+ for (int index = 0; index < levelTextList.Count; index++)
{
infoView.AddChidren(new Button()
{
@@ -588,7 +592,7 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
IsBold = true,
- Text = sensor.intervalValue[index]
+ Text = sensorTemp.GetIntervalValue(sensor.spk)[index]
});
subInfoView.AddChidren(new Button()
@@ -599,7 +603,7 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
IsBold = true,
- TextID = sensor.levelTextList[index]
+ TextID = levelTextList[index]
});
subInfoView.AddChidren(new Button()
@@ -609,7 +613,7 @@
Width = Application.GetRealWidth(38),
Height = Application.GetRealHeight(18),
Radius = (uint)Application.GetRealWidth(4),
- BackgroundColor = sensor.levelColorList[index]
+ BackgroundColor = levelColorList[index]
});
}
@@ -637,8 +641,8 @@
X = Application.GetRealWidth(10),
Y = Application.GetRealHeight(266),
Width = Application.GetRealWidth(160),
- Height = Application.GetRealHeight(203),
- BackgroundImagePath = "PersonalCenter/HomeListbg.png",
+ Height = Application.GetRealHeight(110),
+ BackgroundImagePath = "PersonalCenter/HomeList1bg.png",
};
dialogBody.AddChidren(dispalyView);
@@ -647,14 +651,69 @@
X = Application.GetRealWidth(8),
Y = Application.GetRealHeight(15),
Width = Application.GetRealWidth(150),
- Height = Application.GetRealHeight(45 * 4),
+ Height = Application.GetRealHeight(45 * 2),
+ ScrollEnabled = false
};
dispalyView.AddChidren(contentView);
-
- foreach (var roomTemp in DB_ResidenceData.residenceData.rooms)
+ if (SpatialInfo.CurrentSpatial.RoomList.Count < 2)
{
- string roomName = roomTemp.name;
+ }
+ else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3)
+ {
+ dispalyView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(10),
+ Y = Application.GetRealHeight(266),
+ Width = Application.GetRealWidth(160),
+ Height = Application.GetRealHeight(155),
+ BackgroundImagePath = "PersonalCenter/HomeList2bg.png",
+ };
+ dialogBody.AddChidren(dispalyView);
+
+ contentView.Height = Application.GetRealHeight(45 * 3);
+ dispalyView.AddChidren(contentView);
+ }
+ else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4)
+ {
+ dispalyView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(10),
+ Y = Application.GetRealHeight(266),
+ Width = Application.GetRealWidth(160),
+ Height = Application.GetRealHeight(200),
+ BackgroundImagePath = "PersonalCenter/HomeList3bg.png",
+ };
+ dialogBody.AddChidren(dispalyView);
+
+ contentView.Height = Application.GetRealHeight(45 * 4);
+ dispalyView.AddChidren(contentView);
+ }
+ else
+ {
+ dispalyView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(10),
+ Y = Application.GetRealHeight(266),
+ Width = Application.GetRealWidth(160),
+ Height = Application.GetRealHeight(245),
+ BackgroundImagePath = "PersonalCenter/HomeList4bg.png",
+ };
+ dialogBody.AddChidren(dispalyView);
+
+ contentView.Height = Application.GetRealHeight(45 * 5);
+ contentView.ScrollEnabled = true;
+ dispalyView.AddChidren(contentView);
+ }
+
+
+ var showListRoom = new List<Room>();
+ showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) });
+ showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList);
+
+ foreach (var roomTemp in showListRoom)
+ {
+ string roomName = roomTemp.roomName;
var btnRoomName = new Button()
{
Gravity = Gravity.CenterHorizontal,
@@ -676,14 +735,15 @@
dialog.Close();
btnRoom.Text = roomName;
room = roomTemp;
+ LoadSenesorList();
};
}
dialog.Show();
};
- btnRoom.MouseUpEventHandler = eventHandler;
- btnFoorDownIcon.MouseUpEventHandler = eventHandler;
+ btnRoomClickRow.MouseUpEventHandler = eventHandler;
+ //btnFoorDownIcon.MouseUpEventHandler = eventHandler;
}
--
Gitblit v1.8.0