From c0021397eeb8335d6d1f20990c71533c3d94e7af Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 10 一月 2020 17:02:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into DEV_GXC
---
ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs | 282 +++++++++++++++++++++++++++++++++-----------------------
1 files changed, 165 insertions(+), 117 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs b/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs
index 3ee57ba..f969dd1 100644
--- a/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs
@@ -15,15 +15,13 @@
/// bodyFrameLayout
/// </summary>
private FrameLayout bodyFrameLayout;
-
- private Button addBtn;
+ /// <summary>
+ /// top
+ /// </summary>
+ private TopFrameLayout top;
+ private Button selectAllBtn;
private FrameLayout itemView;
- /// <summary>
- /// editStatus
- /// </summary>
- private bool SelectAll;
-
/// <summary>
/// low_High
/// </summary>
@@ -93,10 +91,10 @@
/// </summary>
public void Show()
{
+ RemoveAll();
InitData();
AddTop();
AddBodyView();
-
}
/// <summary>
@@ -117,14 +115,25 @@
{
devList = Shared.Common.Room.CurrentRoom.GetUnalloctedDeviceUIs();
sceneList = Shared.Common.Room.CurrentRoom.GetUnalloctedScenes();
- var sameDevList = new List<DeviceUI> { };
typeDeviceDic.Clear();
typeIdDic.Clear();
+ if (devList == null)
+ {
+ return;
+ }
foreach (var device in devList)
{
- var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device.CommonDevice });
- sameDevList.Add(device);
- typeDeviceDic[info.BeloneTextId] = sameDevList;
+ var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device?.CommonDevice });
+ if (typeDeviceDic.ContainsKey(info.BeloneTextId) == false)
+ {
+ var sameDevList = new List<DeviceUI> { };
+ sameDevList.Add(device);
+ typeDeviceDic[info.BeloneTextId] = sameDevList;
+ }
+ else
+ {
+ typeDeviceDic[info.BeloneTextId].Add(device);
+ }
typeIdDic[info.BeloneTextId] = info.ConcreteType;
}
}
@@ -145,7 +154,7 @@
/// </summary>
public void AddTop()
{
- var top = new TopFrameLayout();
+ top = new TopFrameLayout();
AddChidren(top);
top.InitTopview();
top.SetTopTitle(R.MyInternationalizationString.Unallocated);
@@ -153,21 +162,6 @@
{
RemoveFromParent();
};
-
- addBtn = new Button()
- {
- X = Application.GetRealWidth(1080-150-80),
- Width = Application.GetRealWidth(150),
- Height = Application.GetRealHeight(80),
- Gravity = Gravity.CenterVertical,
- TextColor = ZigbeeColor.Current.GXCTextBlackColor,
- TextSize = CommonFormResouce.TopTitle_TextSize,
- TextAlignment = TextAlignment.CenterRight,
- TextID = R.MyInternationalizationString.AllSelect
- };
- top.topView.AddChidren(addBtn);
-
- addBtn.MouseUpEventHandler += Edit_MouseUpEventHandler;
}
/// <summary>
@@ -247,35 +241,6 @@
RefreshBodyView();
}
- /// <summary>
- /// 缂栬緫
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="mouseEventArgs"></param>
- private void Edit_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs)
- {
- SelectAll = !SelectAll;
- if (SelectAll)
- {
- addBtn.TextID = R.MyInternationalizationString.Cancel;
- }
- else
- {
- addBtn.TextID = R.MyInternationalizationString.AllSelect;
- }
-
- if (functionBtn.IsSelected)
- {
- functionSceneBodyView.RemoveAll();
- ShowFunction(SelectAll);
- }
- else if (sceneBtn.IsSelected)
- {
- functionSceneBodyView.RemoveAll();
- ShowScene(SelectAll);
- }
- }
-
#endregion
#region 鈼� 鍒锋柊____________________________
@@ -285,14 +250,14 @@
public void RefreshBodyView()
{
functionSceneBodyView.RemoveAll();
- SelectAll = false;
+
if (functionBtn.IsSelected)
{
- ShowFunction(SelectAll);
+ ShowFunction();
}
else if (sceneBtn.IsSelected)
{
- ShowScene(SelectAll);
+ ShowScene();
}
}
@@ -302,9 +267,8 @@
/// <summary>
/// 鍔熻兘
/// </summary>
- public void ShowFunction(bool selectAll)
+ public void ShowFunction()
{
- SelectAll = selectAll;
if (typeIdDic.Count == 0)
{
ShowNoFunctionTip();
@@ -341,7 +305,7 @@
Width = Application.GetRealWidth(1028)
};
functionSceneBodyView.AddChidren(functionTypeScrowView);
-
+
deviceListScrolView = new VerticalScrolViewLayout
{
X = Application.GetRealWidth(CommonFormResouce.X_Left),
@@ -370,18 +334,19 @@
};
string imgPath=string.Empty;
string imgSeletedPath=string.Empty;
- Common.LocalDevice.Current.GetDeviceBeloneIcon(deviceType.Value, ref imgPath ,ref imgSeletedPath);
+ Common.LocalDevice.Current.GetDeviceObjectIcon(deviceType.Value, ref imgPath ,ref imgSeletedPath);
functionTypeIMG.Init(imgPath,imgSeletedPath);
functionTypeIMG.SetTitle(deviceType.Key);
typeRowLayout.AddChidren(functionTypeIMG);
functionTypeIMG.ClickBtn.MouseUpEventHandler += ShowSameTypeFunction;
- if (typeRowLayout.ChildrenCount == 1)
+ if (functionTypeScrowView.ChildrenCount == 1)
{
ShowSameTypeFunction(functionTypeIMG.ImageBtn, null);
}
}
+
}
}
@@ -392,7 +357,6 @@
/// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
private void ShowSameTypeFunction(object typeSender, MouseEventArgs mouseEventArgs)
{
- //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙�
tempFunctionTypeBtn.IsSelected = false;
tempFunctionTypeBtn = (typeSender as Button).Parent as FunctionButton;
((typeSender as Button).Parent as FunctionButton).IsSelected = true;
@@ -403,10 +367,6 @@
var selectedList = new List<DeviceUI> { };
sameTypeList = typeDeviceDic[int.Parse((typeSender as Button).Tag.ToString())];
- if (SelectAll)
- {
- selectedList.AddRange(sameTypeList);
- }
foreach (var deviceUI in sameTypeList)
{
var deviceTypeRowLayout = new FrameLayout()
@@ -419,7 +379,6 @@
var deviceRow = new SelectFunctionView(0, 35);
deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
- deviceRow.IsSelected = SelectAll;
deviceTypeRowLayout.AddChidren(deviceRow);
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
@@ -441,44 +400,96 @@
}
};
deviceRow.ClickBtn.MouseUpEventHandler += eventHandler;
-
- var addBackground = new Button
- {
- Y = Application.GetRealHeight(1405),
- Width = Application.GetMinRealAverage(1080),
- Height = Application.GetMinRealAverage(202),
- UnSelectedImagePath = "Room/AddBackground.png"
- };
- functionSceneBodyView.AddChidren(addBackground);
- var add = new Button
- {
- Y = Application.GetRealHeight(1428),
- Width = Application.GetRealWidth(1034),
- Height = Application.GetRealHeight(156),
- BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
- TextColor = ZigbeeColor.Current.GXCTextSelectedColor4,
- Radius = (uint)Application.GetRealHeight(35),
- TextID = R.MyInternationalizationString.AddTo,
- Gravity = Gravity.CenterHorizontal,
- TextSize=17
- };
- functionSceneBodyView.AddChidren(add);
- add.MouseUpEventHandler += (sender, e) =>
- {
- var selectZone = new SelectZone();
- AddChidren(selectZone);
- selectZone.Init();
- selectZone.ZoneAction = (r) =>
- {
- foreach (var d in selectedList)
- {
- r.AddDevice(d.CommonDevice,true);
- deviceListScrolView.RemoveViewByTag(d);
- }
- RefreshData();
- };
- };
}
+
+ selectAllBtn?.RemoveFromParent();
+ selectAllBtn = new Button()
+ {
+ X = Application.GetRealWidth(1080 - 150 - 80),
+ Width = Application.GetRealWidth(150),
+ Height = Application.GetRealHeight(80),
+ Gravity = Gravity.CenterVertical,
+ TextColor = ZigbeeColor.Current.GXCTextBlackColor,
+ SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor,
+ TextSize = CommonFormResouce.TopTitle_TextSize,
+ TextAlignment = TextAlignment.CenterRight,
+ TextID = R.MyInternationalizationString.AllSelect
+ };
+ top.topView.AddChidren(selectAllBtn);
+ selectAllBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ try
+ {
+ (sender as Button).IsSelected = !(sender as Button).IsSelected;
+ for (int i = 0; i < deviceListScrolView.ChildrenCount; i++)
+ {
+ var frame = deviceListScrolView.GetChildren(i) as FrameLayout;
+ (frame.GetChildren(0) as SelectFunctionView).IsSelected = (sender as Button).IsSelected;
+ }
+ if ((sender as Button).IsSelected)
+ {
+ (sender as Button).TextID = R.MyInternationalizationString.Cancel;
+ selectedList.Clear();
+ selectedList.AddRange(sameTypeList);
+ }
+ else
+ {
+ (sender as Button).TextID = R.MyInternationalizationString.AllSelect;
+ selectedList.Clear();
+ }
+ }
+ catch
+ {
+
+ }
+ };
+
+ var addBackground = new Button
+ {
+ Y = Application.GetRealHeight(1405),
+ Width = Application.GetMinRealAverage(1080),
+ Height = Application.GetMinRealAverage(202),
+ UnSelectedImagePath = "Room/AddBackground.png"
+ };
+ functionSceneBodyView.AddChidren(addBackground);
+ var add = new Button
+ {
+ Y = Application.GetRealHeight(1428),
+ Width = Application.GetRealWidth(1034),
+ Height = Application.GetRealHeight(156),
+ BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
+ TextColor = ZigbeeColor.Current.GXCTextSelectedColor4,
+ Radius = (uint)Application.GetRealHeight(35),
+ TextID = R.MyInternationalizationString.AddTo,
+ Gravity = Gravity.CenterHorizontal,
+ TextSize = 17
+ };
+ functionSceneBodyView.AddChidren(add);
+ add.MouseUpEventHandler += (sender, e) =>
+ {
+ var selectZone = new SelectZone();
+ selectZone.title = Language.StringByID(R.MyInternationalizationString.AddTo);
+ selectZone.Init();
+ selectZone.ZoneAction += (r) =>
+ {
+ foreach (var d in selectedList)
+ {
+ r.AddDevice(d.CommonDevice, true);
+ deviceListScrolView.RemoveViewByTag(d);
+ }
+
+ if (sameTypeList.Count == selectedList.Count)
+ {
+ RefreshData();
+ RefreshBodyView();
+ }
+ else
+ {
+ RefreshData();
+ sameTypeList = typeDeviceDic[int.Parse((typeSender as Button).Tag.ToString())];
+ }
+ };
+ };
}
/// <summary>
@@ -517,19 +528,15 @@
/// <summary>
/// 閫夋嫨鍦烘櫙--鎵�鏈夋埧闂寸殑鎵�鏈夊満鏅�
/// </summary>
- public void ShowScene(bool selectAll)
+ public void ShowScene()
{
List<SceneUI> selectedList = new List<SceneUI>();
- if(selectAll)
- {
- selectedList.AddRange(sceneList);
- }
if (sceneList == null || sceneList.Count == 0)
{
ShowNoSceneTip();
}
else
- {
+ {
var sceneScrolView = new VerticalScrolViewLayout
{
Y = Application.GetRealHeight(22),
@@ -568,7 +575,6 @@
Height = Application.GetMinRealAverage(60),
UnSelectedImagePath = "Room/ItemUnSelected.png",
SelectedImagePath = "Room/ItemSelected.png",
- IsSelected = selectAll
};
sceneFL.AddChidren(selectedBtn);
@@ -626,6 +632,48 @@
sceneImg.MouseUpEventHandler += eventHandler;
}
+ selectAllBtn?.RemoveFromParent();
+ selectAllBtn = new Button()
+ {
+ X = Application.GetRealWidth(1080 - 150 - 80),
+ Width = Application.GetRealWidth(150),
+ Height = Application.GetRealHeight(80),
+ Gravity = Gravity.CenterVertical,
+ TextColor = ZigbeeColor.Current.GXCTextBlackColor,
+ SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor,
+ TextSize = CommonFormResouce.TopTitle_TextSize,
+ TextAlignment = TextAlignment.CenterRight,
+ TextID = R.MyInternationalizationString.AllSelect
+ };
+ top.topView.AddChidren(selectAllBtn);
+ selectAllBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ try
+ {
+ (sender as Button).IsSelected = !(sender as Button).IsSelected;
+ for (int i = 0; i < sceneScrolView.ChildrenCount; i++)
+ {
+ var frame = sceneScrolView.GetChildren(i) as FrameLayout;
+ (frame.GetChildren(1) as Button).IsSelected = (sender as Button).IsSelected;
+ }
+
+ if ((sender as Button).IsSelected)
+ {
+ (sender as Button).TextID = R.MyInternationalizationString.Cancel;
+ selectedList.AddRange(sceneList);
+ }
+ else
+ {
+ (sender as Button).TextID = R.MyInternationalizationString.AllSelect;
+ selectedList.Clear();
+ }
+ }
+ catch
+ {
+
+ }
+ };
+
var addBackground = new Button
{
Y = Application.GetRealHeight(1405),
@@ -651,9 +699,9 @@
add.MouseUpEventHandler += (sender, e) =>
{
var selectZone = new SelectZone();
- CommonPage.Instance.AddChidren(selectZone);
+ selectZone.title = Language.StringByID(R.MyInternationalizationString.AddTo);
selectZone.Init();
- selectZone.ZoneAction = (r) =>
+ selectZone.ZoneAction += (r) =>
{
foreach (var s in selectedList)
{
--
Gitblit v1.8.0