From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期三, 22 六月 2022 11:22:18 +0800
Subject: [PATCH] 修改引用路径
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafeguardLogControl.cs | 728 ++++++++++++++++++++++++++++---------------------------
1 files changed, 373 insertions(+), 355 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafeguardLogControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafeguardLogControl.cs
old mode 100755
new mode 100644
index 8bf882e..54dd891
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafeguardLogControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafeguardLogControl.cs
@@ -1,355 +1,373 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Shared.Phone.UserCenter
-{
- /// <summary>
- /// 瀹夐槻璁板綍鎺т欢
- /// </summary>
- public class SafeguardLogControl : FrameLayout
- {
- #region 鈻� 鍙橀噺澹版槑___________________________
-
- /// <summary>
- /// 浠婃棩鏃犱换浣曟姤璀﹁褰� 鐨勬帶浠�
- /// </summary>
- private NormalViewControl btnMsg = null;
- /// <summary>
- /// 鍚勯槻鍖虹殑妗屽竷鎺т欢
- /// </summary>
- private Dictionary<int, FrameLayout> dicFrame = new Dictionary<int, FrameLayout>();
- /// <summary>
- /// 鍚勯槻鍖虹殑琛屾帶浠�
- /// </summary>
- private Dictionary<int, List<FrameLayout>> dicRowFrame = new Dictionary<int, List<FrameLayout>>();
- /// <summary>
- /// 妗屽竷鎺т欢
- /// </summary>
- private FrameLayout frameTable = null;
- /// <summary>
- /// 寮�鏀捐繖涓帶浠跺嚭鏉�,鏈夌偣鐢�
- /// </summary>
- private NormalViewControl btnTime = null;
-
- #endregion
-
- #region 鈻� 鍒濆鍖朹____________________________
-
- /// <summary>
- /// 鍒濆鍖�
- /// </summary>
- public SafeguardLogControl()
- {
- this.Height = Application.GetRealHeight(260 + 44);
- }
-
- /// <summary>
- /// 鍒濆鍖�
- /// </summary>
- /// <param name="dayText">鏃ユ湡</param>
- /// <param name="dicInfo">闃插尯鎶ヨ淇℃伅</param>
- public void InitControl(string dayText, Dictionary<int, List<SafeguardAlarmInfo>> dicInfo)
- {
- this.frameTable = new FrameLayout();
- frameTable.Gravity = Gravity.CenterHorizontal;
- frameTable.Radius = 8;
- frameTable.Height= Application.GetRealHeight(260);
- frameTable.Width = Application.GetRealWidth(968);
- frameTable.BackgroundColor = UserCenterColor.Current.White;
- this.AddChidren(frameTable);
-
- //璁板綍鏃堕棿
- this.btnTime = new NormalViewControl(300, 58, true);
- btnTime.X = Application.GetRealWidth(35);
- btnTime.Y = Application.GetRealHeight(29);
- btnTime.TextColor = UserCenterColor.Current.TextGrayColor3;
- btnTime.TextID = R.MyInternationalizationString.uRecordTime;
- this.frameTable.AddChidren(btnTime);
-
- //鏃ユ湡
- string month = dayText.Substring(4, 2);
- string day = dayText.Substring(6, 2);
- var btnDay = new NormalViewControl(300, 58, true);
- btnDay.X = frameTable.Width - Application.GetRealWidth(300 + 35);
- btnDay.Y = btnTime.Y;
- btnDay.TextColor = UserCenterColor.Current.TextColor2;
- btnDay.TextAlignment = TextAlignment.CenterRight;
- btnDay.Text = month + Language.StringByID(R.MyInternationalizationString.Month) + day + Language.StringByID(R.MyInternationalizationString.Day);
- this.frameTable.AddChidren(btnDay);
-
- //绾�
- var btnLine = new NormalViewControl(Application.GetRealWidth(904), ControlCommonResourse.BottomLineHeight, false);
- btnLine.X = Application.GetRealWidth(29);
- btnLine.Y = Application.GetRealHeight(98);
- btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
- this.frameTable.AddChidren(btnLine);
-
- //棰勫垱寤轰簲澶ч槻鍖虹殑妗屽竷
- var listId = new List<int>() { 1, 2, 4, 5, 3 };
- int tempY = 0;
- for (int i = 0; i < listId.Count; i++)
- {
- var frame1 = new FrameLayout();
- frame1.Height = Application.GetRealHeight(10);
- frame1.Y = tempY == 0 ? Application.GetRealHeight(98) : tempY;
- this.frameTable.AddChidren(frame1);
- dicFrame[listId[i]] = frame1;
- dicRowFrame[listId[i]] = new List<FrameLayout>();
-
- //鍒濆鍖栭槻鍖烘爣棰樻帶浠�
- this.InitGarrisonTitleControl(listId[i]);
-
- if (dicInfo != null && dicInfo.ContainsKey(listId[i]) == true && dicInfo[listId[i]].Count > 0)
- {
- var listRow = dicRowFrame[listId[i]];
- foreach (var alarmInfo in dicInfo[listId[i]])
- {
- //娣诲姞鎶ヨ淇℃伅
- var contr = this.AddAlarmInfoControl(alarmInfo);
- if (listRow.Count != 0)
- {
- contr.Y = listRow[listRow.Count - 1].Bottom + Application.GetRealHeight(23);
- }
- listRow.Add(contr);
- }
- //鍙樻洿楂樺害
- frame1.Height = listRow[listRow.Count - 1].Bottom + Application.GetRealHeight(55);
- this.frameTable.Height = frame1.Bottom;
- this.Height = frame1.Bottom + Application.GetRealHeight(44);
- tempY = frame1.Bottom;
- }
- else
- {
- frame1.Visible = false;
- }
- }
-
- if (dicInfo == null || dicInfo.Count == 0)
- {
- //浠婃棩鏃犱换浣曟姤璀﹁褰�
- btnMsg = new NormalViewControl(frameTable.Width, Application.GetRealHeight(60), false);
- btnMsg.Y = btnLine.Bottom + Application.GetRealHeight(28);
- btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
- btnMsg.TextID = R.MyInternationalizationString.uNowDayNotHadAlarmLog;
- btnMsg.TextAlignment = TextAlignment.Center;
- this.frameTable.AddChidren(btnMsg);
- }
- //娣诲姞搴曢儴闃村奖鐗规晥
- this.frameTable.SetViewShadow(true);
- }
-
- #endregion
-
- #region 鈻� 鍒濆鍖栭槻鍖烘爣棰樻帶浠禵________________
-
- /// <summary>
- /// 鍒濆鍖栭槻鍖烘爣棰樻帶浠�
- /// </summary>
- /// <param name="zoneId"></param>
- private void InitGarrisonTitleControl(int zoneId)
- {
- FrameLayout frame = dicFrame[zoneId];
- //鍥炬爣
- var btnIcon = new IconViewControl(69);
- btnIcon.X = Application.GetRealWidth(29);
- btnIcon.Y = Application.GetRealHeight(23);
- //鍙細鏄�1~5
- if (zoneId == 1 || zoneId == 2)
- {
- btnIcon.UnSelectedImagePath = "Safeguard/ProtectionAtHome.png";
- }
- else
- {
- btnIcon.UnSelectedImagePath = "Safeguard/ProtectionRemoveHome.png";
- }
- frame.AddChidren(btnIcon);
- //闃插尯鍚�
- var btnName = new NormalViewControl(400, 58, true);
- btnName.X = Application.GetRealWidth(109);
- btnName.Y = Application.GetRealHeight(35);
- btnName.Text = HdlSafeguardLogic.Current.GetGarrisonText(zoneId);
- frame.AddChidren(btnName);
- //宸插惎鍔�
- var btnStatu = new NormalViewControl(300, 46, true);
- btnStatu.X = frame.Width - Application.GetRealWidth(300 + 35);
- btnStatu.Y = Application.GetRealHeight(35);
- btnStatu.TextSize = 12;
- btnStatu.TextColor = UserCenterColor.Current.TextGrayColor1;
- btnStatu.TextAlignment = TextAlignment.CenterRight;
- btnStatu.TextID = R.MyInternationalizationString.uHadStarted;
- frame.AddChidren(btnStatu);
- //绌虹櫧琛�
- var btnSpace = new FrameLayout();
- btnSpace.Height = Application.GetRealHeight(46);
- btnSpace.Y = btnIcon.Bottom;
- frame.AddChidren(btnSpace);
- }
-
- #endregion
-
- #region 鈻� 娣诲姞鎶ヨ淇℃伅_______________________
-
- /// <summary>
- /// 娣诲姞鎶ヨ淇℃伅
- /// </summary>
- /// <returns></returns>
- public int AddSafeguardAlarmInfo(SafeguardAlarmInfo alarmInfo)
- {
- if (dicFrame.ContainsKey(alarmInfo.ZoneId) == false)
- {
- return -1;
- }
- if (btnMsg != null)
- {
- //绉婚櫎淇℃伅鎻愮ず鎺т欢
- btnMsg.RemoveFromParent();
- btnMsg = null;
- }
- var listRow = dicRowFrame[alarmInfo.ZoneId];
- if (listRow.Count == 0)
- {
- dicFrame[alarmInfo.ZoneId].Visible = true;
- //閲嶇疆妗屽竷闂寸殑闂磋窛
- int tempY = 0;
- foreach (var frame in dicFrame.Values)
- {
- if (frame.Visible == true)
- {
- frame.Y = tempY == 0 ? Application.GetRealHeight(98) : tempY;
- tempY = frame.Bottom;
- }
- }
- }
-
- //娣诲姞鎶ヨ淇℃伅鎺т欢
- var frameRow = this.AddAlarmInfoControl(alarmInfo);
- if (listRow.Count >= 100)
- {
- //绉婚櫎鏈�鍚庝竴涓�
- listRow[listRow.Count - 1].RemoveFromParent();
- listRow.RemoveAt(listRow.Count - 1);
- }
- //褰撳墠杩欎釜闃插尯鐨勫叏閮ㄨ鎺т欢寰�涓嬬Щ鍔�
- foreach (var row in listRow)
- {
- row.Y += frameRow.Height + Application.GetRealHeight(23);
- }
- listRow.Insert(0, frameRow);
-
- var value = listRow[listRow.Count - 1].Bottom + Application.GetRealHeight(55) - dicFrame[alarmInfo.ZoneId].Height;
- if (value <= 0)
- {
- return 0;
- }
-
- //鍙樻洿楂樺害
- dicFrame[alarmInfo.ZoneId].Height += value;
- //瀹冧箣涓嬬殑鍏ㄩ儴妗屽竷鍏ㄩ儴寰�涓嬬Щ鍔�
- bool canMove = false;
- int realHeight = 0;
- foreach (var id in dicFrame.Keys)
- {
- if (id == alarmInfo.ZoneId)
- {
- //褰撳墠鐨勬甯�
- canMove = true;
- }
- else if (canMove == true)
- {
- dicFrame[id].Y += value;
- }
- if (canMove == true && dicFrame[id].Visible == true)
- {
- //璁板綍璧锋渶鍚庝竴涓狥rameLayout鐨勫簳閮�
- realHeight = dicFrame[id].Bottom;
- }
- }
- if (realHeight > 0)
- {
- //鍙樻洿鏁翠釜鎺т欢鐨勭湡瀹為珮搴�
- this.frameTable.Height = realHeight;
- this.Height = realHeight + Application.GetRealHeight(44);
- }
- //娣诲姞搴曢儴闃村奖鐗规晥
- this.frameTable.SetViewShadow(true);
-
- return value;
- }
-
- /// <summary>
- /// 娣诲姞鎶ヨ淇℃伅鎺т欢
- /// </summary>
- /// <param name="alarmInfo"></param>
- /// <returns></returns>
- private FrameLayout AddAlarmInfoControl(SafeguardAlarmInfo alarmInfo)
- {
- var frame = dicFrame[alarmInfo.ZoneId];
-
- var rowFrame = new FrameLayout();
- rowFrame.Y = Application.GetRealHeight(130);
- rowFrame.Height = Application.GetRealHeight(58);
- frame.AddChidren(rowFrame);
-
- //鎴块棿
- var btnRoom = new NormalViewControl(165, 58, true);
- btnRoom.X = Application.GetRealWidth(35);
- btnRoom.TextColor = UserCenterColor.Current.TextGrayColor3;
- btnRoom.Text = alarmInfo.RoomName;
- rowFrame.AddChidren(btnRoom);
- //璁惧
- string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(alarmInfo.DeviceAddr, alarmInfo.DeviceEpoint);
- var device = Common.LocalDevice.Current.GetDevice(mainkeys);
- var btnDevice = new NormalViewControl(271, 58, true);
- btnDevice.X = Application.GetRealWidth(199);
- btnDevice.TextColor = UserCenterColor.Current.TextGrayColor3;
- btnDevice.Text = device == null ? alarmInfo.DeviceName : Common.LocalDevice.Current.GetDeviceEpointName(device);
- rowFrame.AddChidren(btnDevice);
- //鎶ヨ淇℃伅
- var btnMsg = new NormalViewControl(303, 58, true);
- btnMsg.X = Application.GetRealWidth(469);
- btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
- //鐢垫睜鐢甸噺
- if (alarmInfo.BatteryMsg != null)
- {
- btnMsg.Text = alarmInfo.BatteryMsg;
- }
- //琚媶鎶ヨ
- else if (alarmInfo.DemolishmentMsg != null)
- {
- btnMsg.Text = alarmInfo.DemolishmentMsg;
- }
- else
- {
- btnMsg.Text = alarmInfo.AlarmMsg;
- }
- rowFrame.AddChidren(btnMsg);
- //鏃堕棿锛氭椂鍒嗙
- var btnTime = new NormalViewControl(190, 58, true);
- btnTime.X = Application.GetRealWidth(758);
- btnTime.TextColor = UserCenterColor.Current.TextGrayColor3;
- btnTime.TextAlignment = TextAlignment.CenterRight;
- btnTime.Text = alarmInfo.Time;
- rowFrame.AddChidren(btnTime);
-
- return rowFrame;
- }
-
- #endregion
-
- #region 鈻� 鎺т欢閿�姣乢__________________________
-
- /// <summary>
- /// 鎺т欢閿�姣�
- /// </summary>
- public override void RemoveFromParent()
- {
- dicRowFrame.Clear();
- dicFrame.Clear();
-
- base.RemoveFromParent();
- }
-
- #endregion
- }
-}
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+ /// <summary>
+ /// 瀹夐槻璁板綍鎺т欢
+ /// </summary>
+ public class SafeguardLogControl : FrameLayout
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 浠婃棩鏃犱换浣曟姤璀﹁褰� 鐨勬帶浠�
+ /// </summary>
+ private NormalViewControl btnMsg = null;
+ /// <summary>
+ /// 鍚勯槻鍖虹殑妗屽竷鎺т欢
+ /// </summary>
+ private Dictionary<int, FrameLayout> dicFrame = new Dictionary<int, FrameLayout>();
+ /// <summary>
+ /// 鍚勯槻鍖虹殑琛屾帶浠�
+ /// </summary>
+ private Dictionary<int, List<FrameLayout>> dicRowFrame = new Dictionary<int, List<FrameLayout>>();
+ /// <summary>
+ /// 妗屽竷鎺т欢
+ /// </summary>
+ private FrameLayout frameTable = null;
+ /// <summary>
+ /// 寮�鏀捐繖涓帶浠跺嚭鏉�,鏈夌偣鐢�
+ /// </summary>
+ private NormalViewControl btnTime = null;
+
+ #endregion
+
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鍒濆鍖�
+ /// </summary>
+ public SafeguardLogControl()
+ {
+ this.Height = Application.GetRealHeight(260 + 44);
+ }
+
+ /// <summary>
+ /// 鍒濆鍖�
+ /// </summary>
+ /// <param name="dayText">鏃ユ湡</param>
+ /// <param name="dicInfo">闃插尯鎶ヨ淇℃伅</param>
+ public void InitControl(string dayText, Dictionary<int, List<SafeguardAlarmInfo>> dicInfo)
+ {
+ this.frameTable = new FrameLayout();
+ frameTable.Gravity = Gravity.CenterHorizontal;
+ frameTable.Radius = (uint)Application.GetRealHeight(17);
+ frameTable.Height= Application.GetRealHeight(260);
+ frameTable.Width = Application.GetRealWidth(968);
+ frameTable.BackgroundColor = UserCenterColor.Current.White;
+ this.AddChidren(frameTable);
+
+ //璁板綍鏃堕棿
+ this.btnTime = new NormalViewControl(300, 58, true);
+ btnTime.X = Application.GetRealWidth(35);
+ btnTime.Y = Application.GetRealHeight(29);
+ btnTime.TextColor = UserCenterColor.Current.TextGrayColor3;
+ btnTime.TextID = R.MyInternationalizationString.uRecordTime;
+ this.frameTable.AddChidren(btnTime);
+
+ //鏃ユ湡
+ string month = dayText.Substring(4, 2);
+ string day = dayText.Substring(6, 2);
+ var btnDay = new NormalViewControl(300, 58, true);
+ btnDay.X = frameTable.Width - Application.GetRealWidth(300 + 35);
+ btnDay.Y = btnTime.Y;
+ btnDay.TextColor = UserCenterColor.Current.TextColor2;
+ btnDay.TextAlignment = TextAlignment.CenterRight;
+ btnDay.Text = month + Language.StringByID(R.MyInternationalizationString.Month) + day + Language.StringByID(R.MyInternationalizationString.Day);
+ this.frameTable.AddChidren(btnDay);
+
+ //绾�
+ var btnLine = new NormalViewControl(Application.GetRealWidth(904), ControlCommonResourse.BottomLineHeight, false);
+ btnLine.X = Application.GetRealWidth(29);
+ btnLine.Y = Application.GetRealHeight(98);
+ btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+ this.frameTable.AddChidren(btnLine);
+
+ //棰勫垱寤轰簲澶ч槻鍖虹殑妗屽竷
+ var listId = new List<int>() { 1, 2, 4, 5, 3 };
+ int tempY = 0;
+ for (int i = 0; i < listId.Count; i++)
+ {
+ var frame1 = new FrameLayout();
+ frame1.Height = Application.GetRealHeight(10);
+ frame1.Y = tempY == 0 ? Application.GetRealHeight(98) : tempY;
+ this.frameTable.AddChidren(frame1);
+ dicFrame[listId[i]] = frame1;
+ dicRowFrame[listId[i]] = new List<FrameLayout>();
+
+ //鍒濆鍖栭槻鍖烘爣棰樻帶浠�
+ this.InitGarrisonTitleControl(listId[i]);
+
+ if (dicInfo != null && dicInfo.ContainsKey(listId[i]) == true && dicInfo[listId[i]].Count > 0)
+ {
+ var listRow = dicRowFrame[listId[i]];
+ foreach (var alarmInfo in dicInfo[listId[i]])
+ {
+ //涓�鏉′俊鎭噷闈紝瀹冨彲鑳藉寘鍚涓姤璀�
+ var listMsg = HdlAlarmsLogic.Current.GetSensorListAlarmMsg(alarmInfo);
+ foreach (var strMsg in listMsg)
+ {
+ //娣诲姞鎶ヨ淇℃伅鎺т欢
+ var contr = this.AddAlarmInfoControl(alarmInfo, strMsg);
+ if (listRow.Count != 0)
+ {
+ contr.Y = listRow[listRow.Count - 1].Bottom + Application.GetRealHeight(23);
+ }
+ listRow.Add(contr);
+ }
+ }
+ //鍙樻洿楂樺害
+ frame1.Height = listRow[listRow.Count - 1].Bottom + Application.GetRealHeight(55);
+ this.frameTable.Height = frame1.Bottom;
+ this.Height = frame1.Bottom + Application.GetRealHeight(44);
+ tempY = frame1.Bottom;
+ }
+ else
+ {
+ frame1.Visible = false;
+ }
+ }
+
+ if (dicInfo == null || dicInfo.Count == 0)
+ {
+ //浠婃棩鏃犱换浣曟姤璀﹁褰�
+ btnMsg = new NormalViewControl(frameTable.Width, Application.GetRealHeight(60), false);
+ btnMsg.Y = btnLine.Bottom + Application.GetRealHeight(28);
+ btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
+ btnMsg.TextID = R.MyInternationalizationString.uNowDayNotHadAlarmLog;
+ btnMsg.TextAlignment = TextAlignment.Center;
+ this.frameTable.AddChidren(btnMsg);
+ }
+ //娣诲姞搴曢儴闃村奖鐗规晥
+ this.frameTable.SetViewShadow(true);
+ }
+
+ #endregion
+
+ #region 鈻� 鍒濆鍖栭槻鍖烘爣棰樻帶浠禵________________
+
+ /// <summary>
+ /// 鍒濆鍖栭槻鍖烘爣棰樻帶浠�
+ /// </summary>
+ /// <param name="zoneId"></param>
+ private void InitGarrisonTitleControl(int zoneId)
+ {
+ FrameLayout frame = dicFrame[zoneId];
+ //鍥炬爣
+ var btnIcon = new IconViewControl(69);
+ btnIcon.X = Application.GetRealWidth(29);
+ btnIcon.Y = Application.GetRealHeight(23);
+ //鍙細鏄�1~5
+ if (zoneId == 1 || zoneId == 2)
+ {
+ btnIcon.UnSelectedImagePath = "Safeguard/ProtectionAtHome.png";
+ }
+ else
+ {
+ btnIcon.UnSelectedImagePath = "Safeguard/ProtectionRemoveHome.png";
+ }
+ frame.AddChidren(btnIcon);
+ //闃插尯鍚�
+ var btnName = new NormalViewControl(400, 58, true);
+ btnName.X = Application.GetRealWidth(109);
+ btnName.Y = Application.GetRealHeight(35);
+ btnName.Text = HdlSafeguardLogic.Current.GetGarrisonText(zoneId);
+ frame.AddChidren(btnName);
+ //宸插惎鍔�
+ var btnStatu = new NormalViewControl(300, 46, true);
+ btnStatu.X = frame.Width - Application.GetRealWidth(300 + 35);
+ btnStatu.Y = Application.GetRealHeight(35);
+ btnStatu.TextSize = 12;
+ btnStatu.TextColor = UserCenterColor.Current.TextGrayColor1;
+ btnStatu.TextAlignment = TextAlignment.CenterRight;
+ btnStatu.TextID = R.MyInternationalizationString.uHadStarted;
+ frame.AddChidren(btnStatu);
+ //绌虹櫧琛�
+ var btnSpace = new FrameLayout();
+ btnSpace.Height = Application.GetRealHeight(46);
+ btnSpace.Y = btnIcon.Bottom;
+ frame.AddChidren(btnSpace);
+ }
+
+ #endregion
+
+ #region 鈻� 娣诲姞鎶ヨ淇℃伅_______________________
+
+ /// <summary>
+ /// 娣诲姞鎶ヨ淇℃伅
+ /// </summary>
+ /// <param name="alarmInfo"></param>
+ /// <returns></returns>
+ public int AddSafeguardAlarmInfo(SafeguardAlarmInfo alarmInfo)
+ {
+ if (dicFrame.ContainsKey(alarmInfo.ZoneId) == false)
+ {
+ return -1;
+ }
+ //涓�鏉′俊鎭噷闈紝瀹冨彲鑳藉寘鍚涓姤璀�
+ var listMsg = HdlAlarmsLogic.Current.GetSensorListAlarmMsg(alarmInfo);
+ int valueCount = 0;
+ foreach (var strMsg in listMsg)
+ {
+ //涓�涓姤璀︿俊鎭紝涓�涓帶浠�
+ int value = this.AddSafeguardAlarmInfo2(alarmInfo, strMsg);
+ //杩欎釜value鏄帶浠跺鍔犵殑楂樺害鍊�
+ valueCount += value;
+ }
+ return valueCount;
+ }
+
+ /// <summary>
+ /// 娣诲姞鎶ヨ淇℃伅(涓�涓姤璀︿俊鎭紝涓�涓帶浠�)
+ /// </summary>
+ /// <param name="alarmInfo"></param>
+ /// <param name="strMsg">閽堝涓�鏉℃暟鎹噷闈㈠寘鍚涓姤璀︾殑闂锛岃拷鍔犵殑鎶ヨ鏂囨湰</param>
+ /// <returns></returns>
+ private int AddSafeguardAlarmInfo2(SafeguardAlarmInfo alarmInfo, string strMsg)
+ {
+ if (dicFrame.ContainsKey(alarmInfo.ZoneId) == false)
+ {
+ return -1;
+ }
+ if (btnMsg != null)
+ {
+ //绉婚櫎淇℃伅鎻愮ず鎺т欢
+ btnMsg.RemoveFromParent();
+ btnMsg = null;
+ }
+ var listRow = dicRowFrame[alarmInfo.ZoneId];
+ if (listRow.Count == 0)
+ {
+ dicFrame[alarmInfo.ZoneId].Visible = true;
+ //閲嶇疆妗屽竷闂寸殑闂磋窛
+ int tempY = 0;
+ foreach (var frame in dicFrame.Values)
+ {
+ if (frame.Visible == true)
+ {
+ frame.Y = tempY == 0 ? Application.GetRealHeight(98) : tempY;
+ tempY = frame.Bottom;
+ }
+ }
+ }
+
+ //娣诲姞鎶ヨ淇℃伅鎺т欢
+ var frameRow = this.AddAlarmInfoControl(alarmInfo, strMsg);
+ if (listRow.Count >= 100)
+ {
+ //绉婚櫎鏈�鍚庝竴涓�
+ listRow[listRow.Count - 1].RemoveFromParent();
+ listRow.RemoveAt(listRow.Count - 1);
+ }
+ //褰撳墠杩欎釜闃插尯鐨勫叏閮ㄨ鎺т欢寰�涓嬬Щ鍔�
+ foreach (var row in listRow)
+ {
+ row.Y += frameRow.Height + Application.GetRealHeight(23);
+ }
+ listRow.Insert(0, frameRow);
+
+ var value = listRow[listRow.Count - 1].Bottom + Application.GetRealHeight(55) - dicFrame[alarmInfo.ZoneId].Height;
+ if (value <= 0)
+ {
+ return 0;
+ }
+
+ //鍙樻洿楂樺害
+ dicFrame[alarmInfo.ZoneId].Height += value;
+ //瀹冧箣涓嬬殑鍏ㄩ儴妗屽竷鍏ㄩ儴寰�涓嬬Щ鍔�
+ bool canMove = false;
+ int realHeight = 0;
+ foreach (var id in dicFrame.Keys)
+ {
+ if (id == alarmInfo.ZoneId)
+ {
+ //褰撳墠鐨勬甯�
+ canMove = true;
+ }
+ else if (canMove == true)
+ {
+ dicFrame[id].Y += value;
+ }
+ if (canMove == true && dicFrame[id].Visible == true)
+ {
+ //璁板綍璧锋渶鍚庝竴涓狥rameLayout鐨勫簳閮�
+ realHeight = dicFrame[id].Bottom;
+ }
+ }
+ if (realHeight > 0)
+ {
+ //鍙樻洿鏁翠釜鎺т欢鐨勭湡瀹為珮搴�
+ this.frameTable.Height = realHeight;
+ this.Height = realHeight + Application.GetRealHeight(44);
+ }
+ //娣诲姞搴曢儴闃村奖鐗规晥
+ this.frameTable.SetViewShadow(true);
+
+ return value;
+ }
+
+ /// <summary>
+ /// 娣诲姞鎶ヨ淇℃伅鎺т欢
+ /// </summary>
+ /// <param name="alarmInfo"></param>
+ /// <returns></returns>
+ private FrameLayout AddAlarmInfoControl(SafeguardAlarmInfo alarmInfo, string strMsg)
+ {
+ var frame = dicFrame[alarmInfo.ZoneId];
+
+ var rowFrame = new FrameLayout();
+ rowFrame.Y = Application.GetRealHeight(130);
+ rowFrame.Height = Application.GetRealHeight(58);
+ frame.AddChidren(rowFrame);
+
+ //鎴块棿
+ var btnRoom = new NormalViewControl(165, 58, true);
+ btnRoom.X = Application.GetRealWidth(35);
+ btnRoom.TextColor = UserCenterColor.Current.TextGrayColor3;
+ btnRoom.Text = alarmInfo.RoomName;
+ rowFrame.AddChidren(btnRoom);
+ //璁惧
+ string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(alarmInfo.DeviceAddr, alarmInfo.DeviceEpoint);
+ var device = Common.LocalDevice.Current.GetDevice(mainkeys);
+ var btnDevice = new NormalViewControl(271, 58, true);
+ btnDevice.X = Application.GetRealWidth(199);
+ btnDevice.TextColor = UserCenterColor.Current.TextGrayColor3;
+ btnDevice.Text = device == null ? alarmInfo.DeviceName : Common.LocalDevice.Current.GetDeviceEpointName(device);
+ rowFrame.AddChidren(btnDevice);
+ //鎶ヨ淇℃伅
+ var btnMsg = new NormalViewControl(303, 58, true);
+ btnMsg.X = Application.GetRealWidth(469);
+ btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
+ btnMsg.Text = strMsg;
+ rowFrame.AddChidren(btnMsg);
+ //鏃堕棿锛氭椂鍒嗙
+ var btnTime = new NormalViewControl(190, 58, true);
+ btnTime.X = Application.GetRealWidth(758);
+ btnTime.TextColor = UserCenterColor.Current.TextGrayColor3;
+ btnTime.TextAlignment = TextAlignment.CenterRight;
+ btnTime.Text = alarmInfo.Time;
+ rowFrame.AddChidren(btnTime);
+
+ return rowFrame;
+ }
+
+ #endregion
+
+ #region 鈻� 鎺т欢閿�姣乢__________________________
+
+ /// <summary>
+ /// 鎺т欢閿�姣�
+ /// </summary>
+ public override void RemoveFromParent()
+ {
+ dicRowFrame.Clear();
+ dicFrame.Clear();
+
+ base.RemoveFromParent();
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0