From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3
---
ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs | 245 ++++++++++++++++++++++++++-----------------------
1 files changed, 130 insertions(+), 115 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs b/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs
index 330f836..b50d6ec 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs
@@ -1,20 +1,24 @@
-锘縰sing System;
-using System.Collections.Generic;
-using Shared.Common;
-using Shared.Phone.Device.CommonForm;
+锘縰sing System;
+using System.Collections.Generic;
+using Shared.Common;
+using Shared.Phone.Device.CommonForm;
using Shared.Phone.UserCenter;
-using Shared.Phone.UserView;
-using ZigBee.Device;
-
-namespace Shared.Phone.MainPage
-{
+using Shared.Phone.UserView;
+using ZigBee.Device;
+
+namespace Shared.Phone.MainPage
+{
/// <summary>
/// 鏈垎閰嶇殑绠$悊鐣岄潰
- /// </summary>
- public class UnallocatedRoomForm : EditorCommonForm
+ /// </summary>
+ public class UnallocatedRoomForm : EditorCommonForm
{
#region 鈻� 鍙橀噺澹版槑___________________________
+ /// <summary>
+ /// 鐣岄潰鍏抽棴浜嬩欢
+ /// </summary>
+ public Action FormCloseEvent = null;
/// <summary>
/// 娣诲姞鍒� 鐨勮儗鏅浘鎺т欢
/// </summary>
@@ -22,7 +26,7 @@
/// <summary>
/// 鍔熻兘鐨勬甯冩帶浠�
/// </summary>
- private FrameLayout DeviceBodyTableControl = null;
+ private NormalFrameLayout DeviceBodyTableControl = null;
/// <summary>
/// 鍦烘櫙鐨勫垪琛ㄦ帶浠�
/// </summary>
@@ -34,7 +38,7 @@
/// <summary>
/// 鍦烘櫙鐨勬甯冩帶浠�
/// </summary>
- private FrameLayout SceneBodyTableControl = null;
+ private NormalFrameLayout SceneBodyTableControl = null;
/// <summary>
/// 鍏ㄩ�夋帶浠�
/// </summary>
@@ -54,7 +58,7 @@
/// <summary>
/// 鍏ㄩ儴鍒嗙粍鐨勮澶囦俊鎭�
/// </summary>
- private Dictionary<int, DeviceRowInfo> dicGroupDevice = null;
+ private Dictionary<string, DeviceRowInfo> dicGroupDevice = null;
/// <summary>
/// 鏄惁宸茬粡鏀瑰彉浜嗘暟鎹�
/// </summary>
@@ -68,46 +72,46 @@
#region 鈻� 鍒濆鍖朹____________________________
- /// <summary>
- /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
- /// </summary>
- public void ShowForm()
+ /// <summary>
+ /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+ /// </summary>
+ public void ShowForm()
{
//鍒濆鍖栧ご閮ㄦ帶浠�
- this.InitTopFrameLayout();
- //鍒濆鍖栦腑閮ㄦ帶浠�
- this.InitBodyFrameLayout();
-
- //璁剧疆澶撮儴淇℃伅
- base.SetTitleText(Language.StringByID(R.MyInternationalizationString.Unallocated));
-
- //鍒濆鍖栧叏閫夋帶浠�
- this.InitAllSelectControl();
-
- //鍒濆鍖栦腑閮ㄤ俊鎭�
- this.InitMiddleFrame();
- }
-
- /// <summary>
- /// 鍒濆鍖栦腑閮ㄤ俊鎭�
- /// </summary>
- private void InitMiddleFrame()
+ this.InitTopFrameLayout();
+ //鍒濆鍖栦腑閮ㄦ帶浠�
+ this.InitBodyFrameLayout();
+
+ //璁剧疆澶撮儴淇℃伅
+ base.SetTitleText(Language.StringByID(R.MyInternationalizationString.Unallocated));
+
+ //鍒濆鍖栧叏閫夋帶浠�
+ this.InitAllSelectControl();
+
+ //鍒濆鍖栦腑閮ㄤ俊鎭�
+ this.InitMiddleFrame();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+ /// </summary>
+ private void InitMiddleFrame()
{
var tabControl = new SceneFunctionSwitchControl();
tabControl.Y = Application.GetRealHeight(40);
bodyFrameLayout.AddChidren(tabControl);
//鍒濆鍖栧満鏅甯�
- this.SceneBodyTableControl = new FrameLayout();
- SceneBodyTableControl.Y = tabControl.Bottom;
- SceneBodyTableControl.Height = bodyFrameLayout.Height - tabControl.Bottom;
+ this.SceneBodyTableControl = new NormalFrameLayout();
+ SceneBodyTableControl.Y = tabControl.Bottom;
+ SceneBodyTableControl.Height = bodyFrameLayout.Height - tabControl.Bottom;
bodyFrameLayout.AddChidren(SceneBodyTableControl);
//鍒濆鍖栬澶囨甯�
- this.DeviceBodyTableControl = new FrameLayout();
- DeviceBodyTableControl.Y = tabControl.Bottom;
- DeviceBodyTableControl.Height = bodyFrameLayout.Height - tabControl.Bottom;
- bodyFrameLayout.AddChidren(DeviceBodyTableControl);
-
+ this.DeviceBodyTableControl = new NormalFrameLayout();
+ DeviceBodyTableControl.Y = tabControl.Bottom;
+ DeviceBodyTableControl.Height = bodyFrameLayout.Height - tabControl.Bottom;
+ bodyFrameLayout.AddChidren(DeviceBodyTableControl);
+
tabControl.SelectTabEvent += (index) =>
{
//鍦烘櫙
@@ -126,17 +130,17 @@
//妫�娴嬪悇鎺т欢鐘舵��
this.CheckControlsStatu(this.nowSelectDeviceInfo);
}
- };
-
+ };
+
//寮�濮嬪垵濮嬪寲鍦烘櫙鍔熻兘鍒囨崲鎺т欢
var listTitle = new List<string>();
listTitle.Add(Language.StringByID(R.MyInternationalizationString.uScence));
listTitle.Add(Language.StringByID(R.MyInternationalizationString.uFunction));
- //浠栦細鑷姩鍥炶皟浜嬩欢
- tabControl.InitControl(listTitle);
+ //浠栦細鑷姩鍥炶皟浜嬩欢
+ tabControl.InitControl(listTitle);
}
- #endregion
+ #endregion
#region 鈻� 鍦烘櫙鍒嗘敮___________________________
@@ -176,13 +180,13 @@
SceneBodyTableControl.AddChidren(listSceneView);
var listScene = HdlSceneLogic.Current.GetUnalloctedScenes();
- if (listScene == null || listScene.Count == 0) { return; }
+ if (listScene.Count == 0) { return; }
foreach (var data in listScene)
{
//鍦烘櫙鍥剧墖
var frameContr = new ScenePictrueControl();
- listSceneView.AddChidrenFrame(frameContr);
+ listSceneView.AddChidren(frameContr);
frameContr.InitControl(data);
//娣诲姞閫夋嫨鎺т欢
@@ -218,7 +222,7 @@
//淇冧娇瀹冭秴杩囨椂,鑳藉寰�涓婃粦
var frameTemp = new FrameLayout();
frameTemp.Height = Application.GetRealHeight(202 + 23);
- listSceneView.AddChidrenFrame(frameTemp);
+ listSceneView.AddChidren(frameTemp);
});
}
@@ -267,7 +271,7 @@
//璁惧鐨勮儗鏅鍣�
var frameDeviceBack = new FrameLayout();
- frameDeviceBack.X = ControlCommonResourse.XXLeft;
+ frameDeviceBack.X = HdlControlResourse.XXLeft;
frameDeviceBack.Y = Application.GetRealHeight(369);
frameDeviceBack.BackgroundColor = UserCenterColor.Current.White;
frameDeviceBack.Width = bodyFrameLayout.Width;
@@ -296,7 +300,7 @@
{
//澶撮儴鐨勭櫧鑹茶儗鏅�
var functionBack1 = new FrameLayout();
- functionBack1.X = ControlCommonResourse.XXLeft;
+ functionBack1.X = HdlControlResourse.XXLeft;
functionBack1.Y = Application.GetRealHeight(55);
functionBack1.Height = Application.GetRealHeight(160);
functionBack1.Width = Application.GetRealWidth(1028);
@@ -304,7 +308,7 @@
DeviceBodyTableControl.AddChidren(functionBack1);
functionBack1.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerTopLeft);
var functionBack2 = new FrameLayout();
- functionBack2.X = ControlCommonResourse.XXLeft;
+ functionBack2.X = HdlControlResourse.XXLeft;
functionBack2.Y = functionBack1.Bottom - Application.GetRealHeight(50);
functionBack2.Height = Application.GetRealHeight(279 - 160 + 50);
functionBack2.Width = Application.GetRealWidth(1028);
@@ -314,17 +318,17 @@
//宸﹀彸婊戝姩鐨勬帶浠�
var HorizontalView = new HorizontalScrolViewLayout();
- HorizontalView.X = Application.GetRealWidth(CommonFormResouce.X_Left);
+ HorizontalView.X = HdlControlResourse.XXLeft;
HorizontalView.Y = Application.GetRealHeight(55);
HorizontalView.Height = Application.GetRealHeight(279);
HorizontalView.Width = Application.GetRealWidth(1028);
DeviceBodyTableControl.AddChidren(HorizontalView);
//涓婁竴娆¢�夋嫨鐨勮彍鍗�
- Controls.DeviceFunctionUnallocatedControl oldSelectContr = null;
- foreach (int Textid in this.dicGroupDevice.Keys)
+ Controls.DeviceFunctionMenuControl oldSelectContr = null;
+ foreach (string strText in this.dicGroupDevice.Keys)
{
- var rowInfo = dicGroupDevice[Textid];
+ var rowInfo = dicGroupDevice[strText];
//璁惧绫诲瀷鐨勫鍣�
var devieFrame = new FrameLayout();
@@ -332,13 +336,13 @@
HorizontalView.AddChidren(devieFrame);
//鑿滃崟鍥剧墖鎺т欢
- var deviceObjContr = new Controls.DeviceFunctionUnallocatedControl();
+ var deviceObjContr = new Controls.DeviceFunctionMenuControl();
devieFrame.AddChidren(deviceObjContr);
- deviceObjContr.InitControl(Language.StringByID(Textid), rowInfo.IconPath, rowInfo.IconPathSelected, rowInfo.listDeviceKeys);
+ deviceObjContr.InitControl(strText, rowInfo.IconPath, rowInfo.IconPathSelected);
deviceObjContr.ButtonClickEvent += (sender, e) =>
{
//閫夋嫨鐨勬槸鍚屼竴涓笢瑗跨殑璇�,涓嶅鐞�
- if (this.nowSelectDeviceInfo.TextId != rowInfo.TextId)
+ if (this.nowSelectDeviceInfo.Text != rowInfo.Text)
{
//涓婁竴娆$殑鑿滃崟鍙栨秷,鏈鑿滃崟閫夋嫨
oldSelectContr.SetSelectStatu(false);
@@ -387,7 +391,7 @@
//鍒濆鍖栬澶囧垪琛ㄦ帶浠�
foreach (var deviceKey in rowInfo.listDeviceKeys)
{
- var device = LocalDevice.Current.GetDevice(deviceKey);
+ var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKey);
var deviceRow = new Controls.DeviceSelectUnallocatedControl(listDeviceView.rowSpace / 2);
listDeviceView.AddChidren(deviceRow);
deviceRow.InitControl(device);
@@ -485,12 +489,12 @@
if (this.canSelectAll == true)
{
//娣诲姞缂撳瓨
- dicSelectDevice[LocalDevice.Current.GetDeviceMainKeys(device)] = device;
+ dicSelectDevice[HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device)] = device;
}
else
{
//绉婚櫎缂撳瓨
- dicSelectDevice.Remove(LocalDevice.Current.GetDeviceMainKeys(device));
+ dicSelectDevice.Remove(HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device));
}
}
}
@@ -500,49 +504,56 @@
};
}
- #endregion
+ #endregion
- #region 鈻� [娣诲姞鍒癩鎺т欢_______________________
-
+ #region 鈻� [娣诲姞鍒癩鎺т欢_______________________
+
/// <summary>
/// 鍒濆鍖栨坊鍔犲埌鎺т欢
- /// </summary>
+ /// </summary>
private void InitAddToControl()
{
- //娣诲姞鍒� 鐨勮儗鏅浘鎺т欢
- this.frameAddBackGroud = new FrameLayoutStatuControl();
- frameAddBackGroud.UseClickStatu = false;
- frameAddBackGroud.Height = Application.GetRealHeight(202);
- frameAddBackGroud.Gravity = Gravity.BottomCenter;
- frameAddBackGroud.BackgroundImagePath = "Room/AddBackground.png";
- bodyFrameLayout.AddChidren(frameAddBackGroud);
- frameAddBackGroud.Visible = false;
-
- //娣诲姞鍒� 鎸夐挳
- var btnAdd = new NormalViewControl(1034, 156, true);
- btnAdd.Gravity = Gravity.Center;
+ //娣诲姞鍒� 鐨勮儗鏅浘鎺т欢
+ this.frameAddBackGroud = new FrameLayoutStatuControl();
+ frameAddBackGroud.UseClickStatu = false;
+ frameAddBackGroud.Height = Application.GetRealHeight(202);
+ frameAddBackGroud.Gravity = Gravity.BottomCenter;
+ frameAddBackGroud.BackgroundImagePath = "Room/AddBackground.png";
+ bodyFrameLayout.AddChidren(frameAddBackGroud);
+ frameAddBackGroud.Visible = false;
+
+ //娣诲姞鍒� 鎸夐挳
+ var btnAdd = new NormalViewControl(1034, 156, true);
+ btnAdd.Gravity = Gravity.Center;
btnAdd.BackgroundColor = UserCenterColor.Current.White;
- btnAdd.TextColor = ZigbeeColor.Current.GXCTextSelectedColor4;
- btnAdd.TextAlignment = TextAlignment.Center;
- btnAdd.TextID = R.MyInternationalizationString.AddTo;
- btnAdd.TextSize = 17;
- btnAdd.Radius = (uint)Application.GetRealHeight(35);
- frameAddBackGroud.AddChidren(btnAdd, ChidrenBindMode.BindEventOnly);
+ btnAdd.TextColor = ZigbeeColor.Current.GXCTextSelectedColor4;
+ btnAdd.TextAlignment = TextAlignment.Center;
+ btnAdd.TextID = R.MyInternationalizationString.AddTo;
+ btnAdd.TextSize = 17;
+ btnAdd.Radius = (uint)Application.GetRealHeight(35);
+ frameAddBackGroud.AddChidren(btnAdd, ChidrenBindMode.BindEvent);
frameAddBackGroud.ButtonClickEvent += (sender, e) =>
{
- var selectZone = new SelectZone();
- selectZone.title = Language.StringByID(R.MyInternationalizationString.AddTo);
- selectZone.Init();
- selectZone.ZoneAction += (selectRoom) =>
- {
- //鍙樻洿浜嗗綋鍓嶆埧闂寸殑涓滆タ,涓婚〉闇�瑕佸埛鏂�
- if (HdlRoomLogic.Current.NowMainPageRoom.Id == selectRoom.Id)
+ HdlControlLogic.Current.ShowBottomListRoomView(string.Empty, Language.StringByID(R.MyInternationalizationString.AddTo), (selectId, selectName) =>
+ {
+ if (selectId == string.Empty)
+ {
+ //閫夋嫨鐨勬槸鏈垎閰�
+ return;
+ }
+ //鍙樻洿浜嗗綋鍓嶆埧闂寸殑涓滆タ,涓婚〉闇�瑕佸埛鏂�
+ if (HdlRoomLogic.Current.NowMainPageRoom.Id == selectId)
{
this.dataHadChanged = true;
- }
- //淇濆瓨閫夋嫨鐨勮澶囧拰鍦烘櫙
- this.SaveSelectDeviceAndScene(selectRoom);
- };
+ }
+ //淇濆瓨閫夋嫨鐨勮澶囧拰鍦烘櫙
+ var room = HdlRoomLogic.Current.GetRoomById(selectId);
+ this.SaveSelectDeviceAndScene(room);
+ //鍒嗙被鐣岄潰闇�瑕佸埛鏂�
+ UserPage.Instance.RefreshCategoryForm = true;
+ //涓婁紶绌洪棿鍖哄煙淇℃伅
+ HdlRoomLogic.Current.SetRoomInfoToGateway();
+ });
};
}
@@ -618,29 +629,29 @@
/// 鑾峰彇鍒嗙粍鍚庣殑璁惧
/// </summary>
/// <returns></returns>
- private Dictionary<int, DeviceRowInfo> GetAllGroupDevice()
+ private Dictionary<string, DeviceRowInfo> GetAllGroupDevice()
{
//鍏ㄩ儴鐨勮澶�
var listDevice = HdlRoomLogic.Current.GetUnalloctedDevice();
//鏍规嵁璁惧鎵�灞炵被鍨嬫帓搴�
- listDevice = LocalDevice.Current.SortDeviceByBelongType(listDevice);
- var dic = new Dictionary<int, DeviceRowInfo>();
+ listDevice = HdlDeviceCommonLogic.Current.SortDeviceByBelongType(listDevice);
+ var dic = new Dictionary<string, DeviceRowInfo>();
foreach (var device in listDevice)
{
- var typeInfo = LocalDevice.Current.GetDeviceBelongEnumInfo(device);
+ var typeInfo = HdlDeviceCommonLogic.Current.GetDeviceBelongEnumInfo(device);
//鎸夋墍灞濱D鍒嗙粍
- if (dic.ContainsKey(typeInfo.BeloneTextId) == false)
+ if (dic.ContainsKey(typeInfo.BeloneText) == false)
{
- dic[typeInfo.BeloneTextId] = new DeviceRowInfo();
+ dic[typeInfo.BeloneText] = new DeviceRowInfo();
string path1 = string.Empty;
string path2 = string.Empty;
//鑾峰彇鍥剧墖
- Common.LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo.ConcreteType, ref path1, ref path2);
- dic[typeInfo.BeloneTextId].IconPath = path1;
- dic[typeInfo.BeloneTextId].IconPathSelected = path2;
- dic[typeInfo.BeloneTextId].TextId = typeInfo.BeloneTextId;
+ HdlDeviceCommonLogic.Current.GetDeviceFunctionTypeMenuIcon(typeInfo, ref path1, ref path2);
+ dic[typeInfo.BeloneText].IconPath = path1;
+ dic[typeInfo.BeloneText].IconPathSelected = path2;
+ dic[typeInfo.BeloneText].Text = typeInfo.BeloneText;
}
- dic[typeInfo.BeloneTextId].listDeviceKeys.Add(LocalDevice.Current.GetDeviceMainKeys(device));
+ dic[typeInfo.BeloneText].listDeviceKeys.Add(HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device));
}
return dic;
}
@@ -654,12 +665,16 @@
/// </summary>
public override void CloseFormBefore()
{
+ //璋冪敤鍥炶皟浜嬩欢
+ this.FormCloseEvent?.Invoke();
+ this.FormCloseEvent = null;
+
if (this.dataHadChanged == true)
{
HdlThreadLogic.Current.RunMainInThread(() =>
{
//鍒锋柊涓婚〉
- this.LoadFormMethodByName("HomeMainPageForm", "RefreshBodyView");
+ HomeMainPageForm.Instance?.RefreshBodyView();
});
}
base.CloseFormBefore();
@@ -742,9 +757,9 @@
private class DeviceRowInfo
{
/// <summary>
- /// 鏂囨湰ID,鐩墠鐢ㄦ潵鍋氫富閿�
+ /// 鏂囨湰,鐩墠鐢ㄦ潵鍋氫富閿�
/// </summary>
- public int TextId = 0;
+ public string Text = string.Empty;
/// <summary>
/// 鍥炬爣
/// </summary>
@@ -759,6 +774,6 @@
public List<string> listDeviceKeys = new List<string>();
}
- #endregion
- }
-}
+ #endregion
+ }
+}
--
Gitblit v1.8.0