From 7a2b08af309d3b16e380c83063da8211cc97217a Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 22 九月 2020 14:18:42 +0800
Subject: [PATCH] 一个新版本
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs | 191 +++++++++++++++++------------------------------
1 files changed, 70 insertions(+), 121 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs
index b0aca49..2ecd19d 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs
@@ -20,25 +20,9 @@
/// </summary>
public string RoomKey = string.Empty;
/// <summary>
- /// 褰撳墠閫夋嫨鐨勬ゼ灞備富閿�(娌″繀瑕佸叕寮�鍑哄幓)
+ /// 鏄剧ず鏂囨湰
/// </summary>
- private string FloorKey = string.Empty;
- /// <summary>
- /// 妤煎眰鍒楄〃鍚嶅瓧
- /// </summary>
- private List<string> listFloorName = new List<string>();
- /// <summary>
- /// 妤煎眰鍒楄〃涓婚敭
- /// </summary>
- private List<string> listFloorKeys = new List<string>();
- /// <summary>
- /// 鎴块棿鍚嶅瓧
- /// </summary>
- private List<List<string>> listRoomName = new List<List<string>>();
- /// <summary>
- /// 鎴块棿涓婚敭
- /// </summary>
- private List<List<string>> listRoomKeys = new List<List<string>>();
+ private NormalViewControl btnTextView = null;
#endregion
@@ -47,11 +31,31 @@
/// <summary>
/// 鎵�灞炲尯鍩熺殑鎺т欢
/// </summary>
- /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(鐪熷疄鍊�,鏈変簺鐣岄潰闇�瑕佽繖绉嶇壒娈婃搷浣�)</param>
+ /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(銆愬垪琛ㄦ帶浠剁殑rowSpace/2銆戝嵆鍙�,涓嶆噦榛樿涓�0鍗冲彲)</param>
public BelongAreaControl(int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis)
{
- //鍒濆鍖栨暟鎹�
- this.InitData();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鍦烘櫙)
+ /// </summary>
+ /// <param name="i_caption">鏍囬鏂囨湰</param>
+ /// <param name="i_roomId">鎴块棿ID</param>
+ public void InitControl(string i_caption, string i_roomId)
+ {
+ var room = HdlRoomLogic.Current.GetRoomById(i_roomId);
+ this.DoInitControl(i_caption, room);
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸缃戝叧)
+ /// </summary>
+ /// <param name="i_caption">鏍囬鏂囨湰</param>
+ /// <param name="i_gateway">缃戝叧瀵硅薄</param>
+ public void InitControl(string i_caption, ZigBee.Device.ZbGateway i_gateway)
+ {
+ var room = HdlGatewayLogic.Current.GetRoomByGateway(i_gateway);
+ this.DoInitControl(i_caption, room);
}
/// <summary>
@@ -61,8 +65,8 @@
/// <param name="i_device">璁惧瀵硅薄</param>
public void InitControl(string i_caption, ZigBee.Device.CommonDevice i_device)
{
- var room = Common.Room.CurrentRoom.GetRoomByDevice(i_device);
- this.InitControl(i_caption, room);
+ var room = HdlRoomLogic.Current.GetRoomByDevice(i_device);
+ this.DoInitControl(i_caption, room);
}
/// <summary>
@@ -73,7 +77,7 @@
public void InitControl(string i_caption, List<ZigBee.Device.CommonDevice> i_listDevice)
{
var room = Common.LocalDevice.Current.GeteRealDeviceRoom(i_listDevice[0]);
- this.InitControl(i_caption, room);
+ this.DoInitControl(i_caption, room);
}
/// <summary>
@@ -81,7 +85,7 @@
/// </summary>
/// <param name="i_caption"></param>
/// <param name="i_Room"></param>
- private void InitControl(string i_caption, Common.Room i_Room)
+ private void DoInitControl(string i_caption, Common.Room i_Room)
{
if (i_Room == null)
{
@@ -92,7 +96,6 @@
{
string roomName = i_Room.Name;
this.RoomKey = i_Room.Id;
- this.FloorKey = i_Room.FloorId;
if (Common.Config.Instance.Home.FloorDics.ContainsKey(i_Room.FloorId) == true)
{
//妤煎眰+鎴块棿
@@ -115,20 +118,20 @@
btnCaption.X = ControlCommonResourse.XXLeft;
btnCaption.Gravity = Gravity.CenterVertical;
btnCaption.Text = i_caption + "锛�";
- this.AddChidren(btnCaption, ChidrenBindMode.BindEventOnly);
+ this.AddChidren(btnCaption, ChidrenBindMode.BindEvent);
//鏄剧ず妗�
- var txtView = new NormalViewControl(700, true);
- txtView.X = Application.GetRealWidth(294);
- txtView.Gravity = Gravity.CenterVertical;
- txtView.TextColor = UserCenterColor.Current.TextGrayColor1;
- txtView.Text = i_RoomName;
- this.AddChidren(txtView, ChidrenBindMode.BindEventOnly);
+ this.btnTextView = new NormalViewControl(700, true);
+ btnTextView.X = Application.GetRealWidth(294);
+ btnTextView.Gravity = Gravity.CenterVertical;
+ btnTextView.TextColor = UserCenterColor.Current.TextGrayColor1;
+ btnTextView.Text = i_RoomName;
+ this.AddChidren(btnTextView, ChidrenBindMode.BindEvent);
if (chidrenYaxis != 0)
{
btnCaption.Y += chidrenYaxis;
- txtView.Y += chidrenYaxis;
+ btnTextView.Y += chidrenYaxis;
}
if (IsSharedRoom == true)
@@ -137,67 +140,18 @@
this.UseClickStatu = false;
return;
}
- if (this.listFloorKeys.Count == 0 && listRoomKeys.Count == 0)
- {
- //鎴栬�呮牴鏈氨娌℃湁鍒涘缓鎴块棿锛屽垯涓嶅厑璁告洿鏀�
- this.UseClickStatu = false;
- return;
- }
+
//鍙崇澶�
this.AddRightArrow();
- this.ButtonClickEvent += (sender, e) =>
+ //濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欓渶瑕佸鐞�
+ if (Common.Config.Instance.Home.IsShowTemplate == false)
{
- //鍖哄煙閫夋嫨
- this.ShowSelectRoom(txtView, i_caption);
- };
- }
-
- /// <summary>
- /// 鍒濆鍖栨暟鎹�
- /// </summary>
- private void InitData()
- {
- var dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
- if (dicFloor.Count == 0)
- {
- var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(string.Empty, false);
- if (listRoom.Count > 0)
+ this.ButtonClickEvent += (sender, e) =>
{
- //鎴块棿鍚嶅瓧鍜屼富閿敹闆�
- var listName = new List<string>();
- var listKeys = new List<string>();
- foreach (var myRoom in listRoom)
- {
- listName.Add(myRoom.Name);
- listKeys.Add(myRoom.Id);
- }
- listRoomName.Add(listName);
- listRoomKeys.Add(listKeys);
- }
- }
- else
- {
- foreach (string fKeys in dicFloor.Keys)
- {
- var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(fKeys, false);
- if (listRoom.Count > 0)
- {
- //妤煎眰鍚嶅瓧鍜屼富閿敹闆�
- this.listFloorKeys.Add(fKeys);
- this.listFloorName.Add(dicFloor[fKeys]);
- //鎴块棿鍚嶅瓧鍜屼富閿敹闆�
- var listName = new List<string>();
- var listKeys = new List<string>();
- foreach (var myRoom in listRoom)
- {
- listName.Add(myRoom.Name);
- listKeys.Add(myRoom.Id);
- }
- listRoomName.Add(listName);
- listRoomKeys.Add(listKeys);
- }
- }
+ //鍖哄煙閫夋嫨
+ this.ShowSelectRoom(btnTextView, i_caption);
+ };
}
}
@@ -212,44 +166,39 @@
/// <param name="i_caption"></param>
private void ShowSelectRoom(NormalViewControl txtView, string i_caption)
{
- int index1 = this.listFloorKeys.IndexOf(FloorKey);
- if (index1 == -1) { index1 = 0; }
- int index2 = this.listRoomKeys[index1].IndexOf(RoomKey);
- if (index2 == -1) { index2 = 0; }
-
- if (this.listFloorKeys.Count == 0)
+ //鏄剧ず搴曢儴寮圭獥鐨勬埧闂村垪琛�
+ var result = HdlControlLogic.Current.ShowBottomListRoomView(this.RoomKey, i_caption, (selectId, selectName) =>
{
- //鏃犳ゼ灞傛ā寮�
- PickerView.Show(this.listRoomName[0], (value) =>
- {
- //妤煎眰+鎴块棿
- txtView.Text = this.listRoomName[0][value];
- RoomKey = this.listRoomKeys[0][value];
- this.SelectRoomEvent?.Invoke(RoomKey);
-
- }, index2, i_caption,
- Language.StringByID(R.MyInternationalizationString.uFinish),
- Language.StringByID(R.MyInternationalizationString.uCancel));
- }
- else
+ this.RoomKey = selectId;
+ txtView.Text = selectName;
+ //璋冪敤鍥炶皟鍑芥暟
+ this.SelectRoomEvent?.Invoke(RoomKey);
+ });
+ if (result == false)
{
- //鏈夋ゼ灞傛ā寮�
- PickerView.ShowSecondary(this.listFloorName, this.listRoomName, (value1, value2) =>
- {
- //妤煎眰+鎴块棿
- txtView.Text = this.listFloorName[value1] + " " + this.listRoomName[value1][value2];
- FloorKey = this.listFloorKeys[value1];
- RoomKey = this.listRoomKeys[value1][value2];
- this.SelectRoomEvent?.Invoke(RoomKey);
-
- }, index1, index2, i_caption,
- Language.StringByID(R.MyInternationalizationString.uFinish),
- Language.StringByID(R.MyInternationalizationString.uCancel));
+ //鎴栬�呮牴鏈氨娌℃湁鍒涘缓鎴块棿锛屽垯涓嶅厑璁告洿鏀�
+ this.UseClickStatu = false;
}
}
#endregion
+ #region 鈻� 鍒锋柊鎺т欢___________________________
+
+ /// <summary>
+ /// 閲嶆柊鍒锋柊鎺т欢
+ /// </summary>
+ /// <param name="i_RoomId">鎸囧畾浠ュ摢涓埧闂碔D鍒锋柊鎺т欢</param>
+ public void RefreshControl(string i_RoomId)
+ {
+ this.RoomKey = i_RoomId;
+
+ var room = HdlRoomLogic.Current.GetRoomById(i_RoomId);
+ this.btnTextView.Text = HdlRoomLogic.Current.GetRoomName(room);
+ }
+
+ #endregion
+
#region 鈻� 鎺т欢鎽ф瘉___________________________
/// <summary>
--
Gitblit v1.8.0