From f1c3921b08bb22ac6f5db22d620e01d7e8e5c49f Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 30 十二月 2019 13:32:33 +0800
Subject: [PATCH] 2019-12-30-1

---
 ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceAction.cs |  206 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 151 insertions(+), 55 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceAction.cs b/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceAction.cs
index 2e96ac6..73ad5a5 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceAction.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceAction.cs
@@ -38,14 +38,15 @@
 
             var titleName = new Button
             {
-                TextSize = 16,
+                TextSize = 17,
                 TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                 TextAlignment = TextAlignment.CenterLeft,
                 X = Application.GetRealWidth(160),
-                Width = Application.GetRealWidth(300),
+                Width = Application.GetRealWidth(600),
                 Height = Application.GetRealHeight(69),
                 Y = Application.GetRealHeight(92),
                 TextID = MyInternationalizationString.devicestate,
+                IsBold = true,
             };
             topRowLayout.AddChidren(titleName);
 
@@ -86,7 +87,9 @@
                 Width = Application.GetRealWidth(400),
                 Height = Application.GetRealHeight(69),
                 Y = Application.GetRealHeight(92),
-                TextID = MyInternationalizationString.customroom,
+                //TextID = MyInternationalizationString.customroom,
+                Text = Config.Instance.Home.GetCurrentFloorName,
+                TextSize = 14,
             };
             topRowLayout.AddChidren(foolrname);
             var dropdown = new Button
@@ -119,15 +122,6 @@
             this.AddChidren(roomhorizontalScrol);
 
 
-            var devicetypehorizontalScrol1 = new HorizontalScrolViewLayout()
-            {
-                Width = Application.GetRealWidth(1080 - 58 - 200),
-                Height = Application.GetRealHeight(280),
-                Y = roomhorizontalScrol.Bottom,
-                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
-                X = Application.GetRealWidth(58 + 200),
-            };
-            this.AddChidren(devicetypehorizontalScrol1);
             ///璁惧绫诲瀷婊戝姩鎺т欢
             var devicetypehorizontalScrol = new HorizontalScrolViewLayout()
             {
@@ -136,18 +130,20 @@
                 Y = roomhorizontalScrol.Bottom,
                 BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                 X = Application.GetRealWidth(58),
-                Radius = (uint)Application.GetRealHeight(50),
+                //Radius = (uint)Application.GetRealHeight(50),
 
             };
             this.AddChidren(devicetypehorizontalScrol);
+            devicetypehorizontalScrol.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft);
 
             middle = new VerticalScrolViewLayout();
             middle.Y = devicetypehorizontalScrol.Bottom + Application.GetRealHeight(40);
-            middle.Height = Application.GetRealHeight(1920) - devicetypehorizontalScrol.Y;
+            middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
             middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
             middle.X = Application.GetRealWidth(58);
-            middle.Radius = (uint)Application.GetRealHeight(50);
+            //middle.Radius = (uint)Application.GetRealHeight(50);
             this.AddChidren(middle);
+            middle.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft);
 
             ///鐩墠鏀寔鐨勮澶�
             List<DeviceType> deviceTypeList = new List<DeviceType> {
@@ -159,9 +155,8 @@
             };
 
 
-
             ///妤煎眰鐐瑰嚮浜嬩欢
-            foolrname.MouseUpEventHandler += (sender, e) =>
+            EventHandler<MouseEventArgs> foorlclick = (sender, e) =>
             {
 
                 var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
@@ -170,59 +165,119 @@
                 {
                     flMain.RemoveFromParent();
                 };
+                var foolrbjicon = new FrameLayout
+                {
+
+                    Width = Application.GetRealWidth(450),
+                    Height = Application.GetRealHeight(780),
+                    X = Application.GetRealWidth(1080 - 468 - 35),
+                    Y = Application.GetRealHeight(184),
+                    BackgroundImagePath = "Item/SelectFloor_Right.png",
+                };
+                flMain.AddChidren(foolrbjicon);
+
+                var btnfoolrtext = new Button
+                {
+                    Width = Application.GetRealWidth(450),
+                    Height = Application.GetRealHeight(150),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+                    X = Application.GetRealWidth(80),
+                    TextID = MyInternationalizationString.selecfoolr,
+                    TextSize = 14,
+                };
+                foolrbjicon.AddChidren(btnfoolrtext);
+
                 var foolrbj = new VerticalScrolViewLayout
                 {
-                    Width = Application.GetRealWidth(400),
-                    Height = Application.GetRealHeight(600),
-                    X = Application.GetRealWidth(1080 - 400 - 60),
-                    Y = Application.GetRealHeight(184 + 50),
-                    BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
-                    Radius = (uint)Application.GetRealHeight(30),
-                };
-                flMain.AddChidren(foolrbj);
-                ///榛樿璋冭瘯
-                List<string> foolrlist = new List<string> { "涓�妤�", "浜屾ゼ", "涓夋ゼ" };
 
-                foreach (var foolr in foolrlist)
+                    Width = Application.GetRealWidth(450),
+                    Height = foolrbjicon.Height - btnfoolrtext.Height,
+                    X = Application.GetRealWidth(80),
+                    Y = btnfoolrtext.Bottom,
+                };
+                foolrbjicon.AddChidren(foolrbj);
+
+                foreach (var foolr in Config.Instance.Home.FloorDics)
                 {
-                    var foolrRowLayout = new FrameLayout
+                    var foolrRowLayout = new RowLayout
                     {
                         Height = Application.GetRealHeight(150),
+                        LineColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
                     };
                     foolrbj.AddChidren(foolrRowLayout);
+
+                    var btnfoolricon = new Button
+                    {
+                        Width = Application.GetRealWidth(81),
+                        Height = Application.GetRealHeight(81),
+                        UnSelectedImagePath = "Floor/Floor.png",
+                        Gravity = Gravity.CenterVertical,
+                    };
+                    foolrRowLayout.AddChidren(btnfoolricon);
+
 
                     var btnfoolrname = new Button
                     {
                         Width = Application.GetRealWidth(250),
-                        Height = Application.GetRealHeight(160),
-                        Text = foolr,
-                        TextAlignment = TextAlignment.Center,
-                        TextColor = ZigbeeColor.Current.LogicTextBlackColor,
-                        //SelectedTextColor=0xfffc744b,
+                        Height = Application.GetRealHeight(150),
+                        Text = foolr.Value,
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
+                        Tag = foolr.Key,
+                        X = btnfoolricon.Right + Application.GetRealWidth(12),
+                        TextSize = 14,
                     };
                     foolrRowLayout.AddChidren(btnfoolrname);
+                    if (foolrname.Text == foolr.Value)
+                    {
+                        btnfoolricon.UnSelectedImagePath = "Floor/FloorSelected.png";
+                        btnfoolrname.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
+                    }
 
-
-                    EventHandler<MouseEventArgs> foolrclick = (sender13, e13) =>
+                    EventHandler<MouseEventArgs> foolrnameclick = (sender13, e13) =>
                     {
                         roomhorizontalScrol.RemoveAll();
+                        devicetypehorizontalScrol.RemoveAll();
+                        middle.RemoveAll();
                         foolrname.Text = btnfoolrname.Text;
                         flMain.RemoveFromParent();
-                        ///澶囨敞锛氭樉绀洪�変腑妤煎眰鐨勬墍鏈夋埧闂�
-                        AllRoomView(Common.Room.Lists, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
+                        var list = Send.GetRoomList(btnfoolrname.Tag.ToString());
+                        AllRoomView(list, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
 
                     };
-                    foolrRowLayout.MouseUpEventHandler += foolrclick;
-                    btnfoolrname.MouseUpEventHandler += foolrclick;
+                    foolrRowLayout.MouseUpEventHandler += foolrnameclick;
+                    btnfoolrname.MouseUpEventHandler += foolrnameclick;
 
 
                 }
 
-
-
             };
+            foolrname.MouseUpEventHandler += foorlclick;
+            dropdown.MouseUpEventHandler += foorlclick;
+
             ///绗竴娆¤繘鏉�
-            AllRoomView(Common.Room.Lists, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
+            var roomlists = new List<Common.Room>();
+            roomlists.Clear();
+            if (Config.Instance.Home.FloorDics.Count < 2)
+            {
+                foolrname.Visible = false;
+                dropdown.Visible = false;
+                if (Config.Instance.Home.FloorDics.Count == 0)
+                {
+                    roomlists.AddRange(Common.Room.Lists);
+                }
+                else
+                {
+                    roomlists = Send.GetRoomList(Config.Instance.Home.CurrentFloorId);
+                }
+            }
+            else
+            {
+                roomlists = Send.GetRoomList(Config.Instance.Home.CurrentFloorId);
+
+            }
+            AllRoomView(roomlists, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
         }
         /// <summary>
         /// 鍔犺浇鎵�鏈夋埧闂寸殑瑙嗗浘鏂规硶
@@ -274,11 +329,27 @@
                     var list = new List<DeviceUI>();
                     foreach (var device in room.DeviceUIList)
                     {
+                        if (device.CommonDevice == null)
+                        {
+                            continue;
+                        }
                         if (!deviceTypeList.Contains(device.CommonDevice.Type))
                         {
                             continue;
                         }
                         list.Add(device);
+                    }
+                    if (list.Count == 0)
+                    {
+                        devicetypehorizontalScrol.Height = 0;
+                      
+                        middle.Height = 0;
+                    }
+                    else
+                    {
+                        devicetypehorizontalScrol.Height = Application.GetRealHeight(280);
+                        
+                        middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
                     }
                     AllDeviceTypeView(list, devicetypehorizontalScrol);
 
@@ -297,11 +368,27 @@
                     var list = new List<DeviceUI>();
                     foreach (var device in room.DeviceUIList)
                     {
+                        if (device.CommonDevice == null)
+                        {
+                            continue;
+                        }
                         if (!deviceTypeList.Contains(device.CommonDevice.Type))
                         {
                             continue;
                         }
                         list.Add(device);
+                    }
+                    if (list.Count == 0)
+                    {
+                        devicetypehorizontalScrol.Height = 0;
+                      
+                        middle.Height = 0;
+                    }
+                    else
+                    {
+                        devicetypehorizontalScrol.Height = Application.GetRealHeight(280);
+                      
+                        middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
                     }
                     AllDeviceTypeView(list, devicetypehorizontalScrol);
 
@@ -515,6 +602,7 @@
                     TextAlignment = TextAlignment.CenterLeft,
                     TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                     SelectedTextColor = ZigbeeColor.Current.LogicAddColor,
+                    TextSize = 14,
                 };
                 deviceRow.AddChidren(devicename);
                 switch (common.CommonDevice.Type)
@@ -593,14 +681,6 @@
             {
                 flMain.RemoveFromParent();
             };
-            var devicefra1 = new FrameLayout
-            {
-                Width = Application.GetRealWidth(1080),
-                Height = Application.GetRealHeight(100),
-                Y = Application.GetRealHeight(1920 - 100),
-                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
-            };
-            flMain.AddChidren(devicefra1);
 
             var devicefra = new FrameLayout
             {
@@ -609,9 +689,10 @@
                 Height = Application.GetRealHeight(530 + 160),
                 Y = Application.GetRealHeight(1920 - 530 - 160),
                 BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
-                Radius = (uint)Application.GetRealHeight(60),
+               // Radius = (uint)Application.GetRealHeight(60),
             };
             flMain.AddChidren(devicefra);
+            devicefra.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft|HDLUtils.RectCornerTopRight);
 
             #region  -------鍙栨秷   瀹屾垚
             var timetype = new RowLayout
@@ -628,6 +709,7 @@
                 Width = Application.GetRealWidth(200),
                 X = Application.GetRealWidth(80),
                 TextAlignment = TextAlignment.CenterLeft,
+                TextSize = 14,
             };
             timetype.AddChidren(Btncancel);
             Btncancel.MouseUpEventHandler += (sender16, e16) =>
@@ -641,9 +723,9 @@
                 TextID = MyInternationalizationString.security,
                 TextColor = ZigbeeColor.Current.LogicBtnTypeColor,
                 Height = Application.GetRealHeight(140),
-                Width = Application.GetRealWidth(320),
+                Width = Application.GetRealWidth(420),
                 TextAlignment = TextAlignment.Center,
-                X = Btncancel.Right + Application.GetRealWidth(100),
+                X = Btncancel.Right + Application.GetRealWidth(50),
                 TextSize = 16,
                 Text = common.DeviceEpointName,
             };
@@ -655,7 +737,8 @@
                 Height = Application.GetRealHeight(140),
                 Width = Application.GetRealWidth(200),
                 TextAlignment = TextAlignment.CenterRight,
-                X = Btntitle.Right + Application.GetRealWidth(100),
+                X = Btntitle.Right + Application.GetRealWidth(50),
+                TextSize = 14,
 
             };
             timetype.AddChidren(Btncomplete);
@@ -740,6 +823,7 @@
                             TextID = MyInternationalizationString.open,
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         openrowlayout.AddChidren(btnopen);
 
@@ -770,6 +854,7 @@
                             Width = Application.GetRealWidth(600),
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         closerowlayout.AddChidren(btnclose);
 
@@ -800,6 +885,7 @@
                             Width = Application.GetRealWidth(600),
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         takebackrowlayout.AddChidren(btntakeback);
 
@@ -950,6 +1036,7 @@
                             TextID = MyInternationalizationString.open,
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         openrowlayout.AddChidren(btnopen);
 
@@ -1006,6 +1093,7 @@
                             Width = Application.GetRealWidth(600),
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         closerowlayout.AddChidren(btnclose);
 
@@ -1037,6 +1125,7 @@
                             Width = Application.GetRealWidth(600),
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         takebackrowlayout.AddChidren(btntakeback);
 
@@ -1244,6 +1333,7 @@
                             TextID = MyInternationalizationString.open,
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         openrowlayout.AddChidren(btnopen);
 
@@ -1301,6 +1391,7 @@
                             Width = Application.GetRealWidth(600),
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         closerowlayout.AddChidren(btnclose);
 
@@ -1478,6 +1569,7 @@
                                 TextID = MyInternationalizationString.open,
                                 TextAlignment = TextAlignment.CenterLeft,
                                 TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                                TextSize = 14,
                             };
                             openrowlayout.AddChidren(btnopen);
 
@@ -1508,6 +1600,7 @@
                                 Width = Application.GetRealWidth(600),
                                 TextAlignment = TextAlignment.CenterLeft,
                                 TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                                TextSize = 14,
                             };
                             closerowlayout.AddChidren(btnclose);
 
@@ -1538,6 +1631,7 @@
                                 Width = Application.GetRealWidth(600),
                                 TextAlignment = TextAlignment.CenterLeft,
                                 TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                                TextSize = 14,
                             };
                             takebackrowlayout.AddChidren(btntakeback);
 
@@ -1697,6 +1791,7 @@
                             TextID = MyInternationalizationString.open,
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         openrowlayout.AddChidren(btnopen);
 
@@ -1784,6 +1879,7 @@
                             Width = Application.GetRealWidth(600),
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         closerowlayout.AddChidren(btnclose);
 

--
Gitblit v1.8.0