From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期五, 28 二月 2020 15:25:13 +0800 Subject: [PATCH] 2020.2.28 --- ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs | 284 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 166 insertions(+), 118 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs b/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs index 3ee57ba..6916f59 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.GetDeviceBelongEnumInfo(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() @@ -418,8 +378,7 @@ var deviceRow = new SelectFunctionView(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); - deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.IsSelected = SelectAll; + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); 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