From 0c0536e9b5db204fd3bd3c2443ef500b66bf7423 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 24 十一月 2020 17:48:40 +0800
Subject: [PATCH] 2020-11-24-1

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs |  317 +++++++++++++++++++++++++++++++---------------------
 1 files changed, 190 insertions(+), 127 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
index 621dbd6..bf7e4d7 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
@@ -1,6 +1,7 @@
 锘縰sing System;
 using HDL_ON.UI.UI2.Intelligence.Automation.LogicView;
 using Shared;
+using System.Collections.Generic;
 
 namespace HDL_ON.UI.UI2.Intelligence.Automation
 {
@@ -10,6 +11,10 @@
         {
             Tag = "Logic";
         }
+        /// <summary>
+        /// 榛樿閫変腑鏄埧闂存椂锛氬叏閮ㄥ尯鍩�
+        /// </summary>
+        private Entity.Room selectedRoom = new Entity.Room { name = Language.StringByID(StringId.allAreas) };
 
         public void Show()
         {
@@ -26,128 +31,6 @@
             funAllAreaView.frameLayout.Y = topView.frameLayout.Bottom;
             this.AddChidren(funAllAreaView.FLayoutView());
 
-            funAllAreaView.btnText1.MouseUpEventHandler += (sen, e) =>
-            {
-                FrameLayout fLayout = new FrameLayout
-                {
-                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                };
-                this.AddChidren(fLayout);
-                fLayout.MouseUpEventHandler += (sender, e1) =>
-                {
-                    fLayout.RemoveFromParent();
-                };
-                FrameLayout areaFra = new FrameLayout
-                {
-                    X = Application.GetRealWidth(10),
-                    Y = Application.GetRealHeight(103),
-                    Width = Application.GetRealWidth(160),
-                    Height = Application.GetRealHeight(241),
-                    BackgroundImagePath = "LogicIcon/bjicon.png",
-                };
-                fLayout.AddChidren(areaFra);
-
-                var roomNameList= LogicMethod.GetGetRoomNameList();
-
-                FrameLayout areaBgh= new FrameLayout
-                {
-                    X = Application.GetRealWidth(10),
-                    Y = Application.GetRealHeight(103),
-                    Width = Application.GetRealWidth(160),
-                    Height = Application.GetRealHeight(241),
-                    BackgroundImagePath = "LogicIcon/bjicon.png",
-                };
-                fLayout.AddChidren(areaFra);
-
-                VerticalScrolViewLayout vvBgh= new VerticalScrolViewLayout
-                {
-                    X = Application.GetRealWidth(10),
-                    Y = Application.GetRealHeight(103),
-                    Width = Application.GetRealWidth(160),
-                    Height = Application.GetRealHeight(241),
-                    BackgroundImagePath = "LogicIcon/bjicon.png",
-                };
-                fLayout.AddChidren(areaFra);
-
-                if (roomNameList.Count < 5) {
-
-
-                }
-
-
-                for (int i = 0; i < roomNameList.Count; i++)
-                {
-                    string roomname = roomNameList[i];
-                    var roomFlayout = new FrameLayout
-                    {
-                        X = Application.GetRealWidth(8),
-                        Y = Application.GetRealHeight(14),
-                        Width = Application.GetRealWidth(144),
-                        Height = Application.GetRealHeight(44),
-                        BackgroundImagePath = "LogicIcon/bjicon.png",
-                    };
-                   // foolrbj.AddChidren(roomFlayout);
-
-                    var btnRoomName = new Button
-                    {
-                        Width = Application.GetRealWidth(50),
-                        Height = Application.GetRealHeight(20),
-                        X = Application.GetRealWidth(16),
-                        TextAlignment = TextAlignment.CenterLeft,
-                        Gravity = Gravity.CenterVertical,
-                        TextSize = TextSize.text14,
-                        TextColor = CSS.CSS_Color.textColor,
-                        Text = roomname,
-
-                    };
-                    roomFlayout.AddChidren(btnRoomName);
-                    Button btnLine = new Button
-                    {
-                        Width = Application.GetRealWidth(112),
-                        X = Application.GetRealWidth(16),
-                        Height = 1,
-                        BackgroundColor = CSS.CSS_Color.viewLine,
-                    };
-                    btnLine.Y = roomFlayout.Height - 1;
-                    var btnClick = new Button
-                    {
-                        Width = Application.GetRealWidth(144),
-                        Height = Application.GetRealHeight(44),
-                    };
-                    roomFlayout.AddChidren(btnClick);
-
-
-                    btnClick.MouseUpEventHandler+= (sender, e2) =>
-                    {
-
-                        //roomhorizontalScrol.RemoveAll();
-                        //devicetypehorizontalScrol.RemoveAll();
-                        //middle.RemoveAll();
-                        //view.foolrnameBtn.Text = btnfoolrname.Text;
-                        //flMain.RemoveFromParent();
-                        //var list = Method.GetRoomList(IfType, btnfoolrname.Tag.ToString());
-                        //if (list.Count == 0)
-                        //{
-                        //    devicetypehorizontalScrol.Height = 0;
-                        //    middle.Height = 0;
-                        //}
-                        //else
-                        //{
-                        //    devicetypehorizontalScrol.Height = Application.GetRealHeight(280);
-                        //    middle.Height = Application.GetRealHeight(1920 - 40 - 184 - 280 - 200);
-                        //}
-                        //AllRoomView(list, deviceTypeList);
-                    };
-
-                }
-
-
-
-
-            };
-
-
-
             VerticalScrolViewLayout vv = new VerticalScrolViewLayout
             {
                 Y = Application.GetRealHeight(117),
@@ -155,7 +38,186 @@
             };
             this.AddChidren(vv);
 
-            var deviceList = LogicMethod.GetDeviceList();
+            //鎴块棿鐐瑰嚮浜嬩欢
+            EventHandler<MouseEventArgs> roomClick = (sender, e) =>
+            {
+                #region 鍖哄煙寮规鐣岄潰
+                FrameLayout fLayout = new FrameLayout
+                {
+                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                };
+                this.AddChidren(fLayout);
+                fLayout.MouseUpEventHandler += (sender1, e1) =>
+                {
+                    fLayout.RemoveFromParent();
+                };
+
+                FrameLayout bghFrameLyout = new FrameLayout
+                {
+                    X = Application.GetRealWidth(10),
+                    Y = Application.GetRealHeight(103),
+                    Width = Application.GetRealWidth(160),
+                    Height = Application.GetRealHeight(21 + 44),
+                    BackgroundImagePath = "LogicIcon/bjicon.png",
+                };
+                fLayout.AddChidren(bghFrameLyout);
+
+                FrameLayout areaBgh = new FrameLayout
+                {
+                    X = Application.GetRealWidth(8),
+                    Y = Application.GetRealHeight(14),
+                    Width = Application.GetRealWidth(144),
+                    Height = Application.GetRealHeight(44),
+                };
+                VerticalScrolViewLayout vvBgh = new VerticalScrolViewLayout
+                {
+                    X = Application.GetRealWidth(8),
+                    Y = Application.GetRealHeight(14),
+                    Width = Application.GetRealWidth(144),
+                    Height = Application.GetRealHeight(44 * 5),
+                };
+                var roomList = LogicMethod.GetGatewayRoomListG(Language.StringByID(StringId.allAreas));
+                if (roomList.Count > 5)
+                {
+                    bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5);
+                    bghFrameLyout.AddChidren(vvBgh);
+
+                }
+                else
+                {
+
+                    bghFrameLyout.AddChidren(areaBgh);
+                    bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * roomList.Count);
+                    areaBgh.Height = Application.GetRealHeight(44 * roomList.Count);
+                }
+                #endregion
+
+                for (int i = 0; i < roomList.Count; i++)
+                {
+                    var room = roomList[i];
+                    LogicView.AreaView areaView = new LogicView.AreaView();
+                    if (roomList.Count > 5)
+                    {
+                        vvBgh.AddChidren(areaView.FLayoutView());
+                    }
+                    else
+                    {
+                        areaView.frameLayout.Y = Application.GetRealHeight(i * 44);
+                        areaBgh.AddChidren(areaView.FLayoutView());
+                    }
+                    areaView.btnRoomName.Text = room.name;
+                    areaView.btnClick.Tag = room;
+                    areaView.btnClick.MouseUpEventHandler += (sender2, e2) =>
+                    {
+                        fLayout.RemoveFromParent();
+                        funAllAreaView.btnText1.Text = (areaView.btnClick.Tag as Entity.Room).name;
+                        selectedRoom = (areaView.btnClick.Tag as Entity.Room);
+
+                        var list = LogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room,LogicMethod.condition_if);
+                        DeviceListView(vv, list);
+                    };
+
+                }
+            };
+            funAllAreaView.btnText1.MouseUpEventHandler += roomClick;
+            funAllAreaView.btnIcon1.MouseUpEventHandler += roomClick;
+            //鍔熻兘鐐瑰嚮浜嬩欢
+            EventHandler<MouseEventArgs> funClick = (sender3, e3) =>{
+                #region 鍖哄煙寮规鐣岄潰
+                FrameLayout fLayout = new FrameLayout
+                {
+                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                };
+                this.AddChidren(fLayout);
+                fLayout.MouseUpEventHandler += (sender1, e1) =>
+                {
+                    fLayout.RemoveFromParent();
+                };
+
+                FrameLayout bghFrameLyout = new FrameLayout
+                {
+                    X = Application.GetRealWidth(10),
+                    Y = Application.GetRealHeight(103),
+                    Width = Application.GetRealWidth(160),
+                    Height = Application.GetRealHeight(21 + 44),
+                    BackgroundImagePath = "LogicIcon/bjicon.png",
+                };
+                fLayout.AddChidren(bghFrameLyout);
+
+                FrameLayout areaBgh = new FrameLayout
+                {
+                    X = Application.GetRealWidth(8),
+                    Y = Application.GetRealHeight(14),
+                    Width = Application.GetRealWidth(144),
+                    Height = Application.GetRealHeight(44),
+                };
+                VerticalScrolViewLayout vvBgh = new VerticalScrolViewLayout
+                {
+                    X = Application.GetRealWidth(8),
+                    Y = Application.GetRealHeight(14),
+                    Width = Application.GetRealWidth(144),
+                    Height = Application.GetRealHeight(44 * 5),
+                };
+
+                var functionList = LogicMethod.GetFunctionDeviceList(selectedRoom, LogicMethod.condition_if);
+                var deviceTypeList = LogicMethod.GetDeviceTypeList(functionList);
+
+
+                if (deviceTypeList.Count > 5)
+                {
+                    bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5);
+                    bghFrameLyout.AddChidren(vvBgh);
+
+                }
+                else
+                {
+                    bghFrameLyout.AddChidren(areaBgh);
+                    bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * deviceTypeList.Count);
+                    areaBgh.Height = Application.GetRealHeight(44 * deviceTypeList.Count);
+                }
+                #endregion
+
+                for (int i = 0; i < deviceTypeList.Count; i++)
+                {
+                    var deviceTypeName = deviceTypeList[i];
+                    LogicView.AreaView areaView = new LogicView.AreaView();
+                    if (deviceTypeList.Count > 5)
+                    {
+                        vvBgh.AddChidren(areaView.FLayoutView());
+                    }
+                    else
+                    {
+                        areaView.frameLayout.Y = Application.GetRealHeight(i * 44);
+                        areaBgh.AddChidren(areaView.FLayoutView());
+                    }
+                    areaView.btnRoomName.Text = deviceTypeName;
+                    areaView.btnClick.Tag = deviceTypeName;
+                    areaView.btnClick.MouseUpEventHandler += (sender, e2) =>
+                    {
+                        fLayout.RemoveFromParent();
+                        funAllAreaView.btnText1.Text = areaView.btnClick.Tag.ToString();
+                        var typeFunctionList = LogicMethod.GetDeviceTypeFunctionList(areaView.btnClick.Tag.ToString());
+                        var lists = LogicMethod.GetShowDeviceList(typeFunctionList, functionList);
+                        DeviceListView(vv, lists);
+                    };
+
+                }
+            };
+            funAllAreaView.btnText2.MouseUpEventHandler += funClick;
+            funAllAreaView.btnIcon2.MouseUpEventHandler += funClick;
+
+            var deviceList = LogicMethod.GetFunctionDeviceList(selectedRoom, LogicMethod.condition_if);
+            DeviceListView(vv, deviceList);
+
+        }
+        /// <summary>
+        /// 鏄剧ず璁惧鐨刅iew
+        /// </summary>
+        /// <param name="verticalScrolView">涓婁笅婊戝姩</param>
+        /// <param name="deviceList"></param>
+        public void DeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function>  deviceList)
+        {
+            verticalScrolView.RemoveAll();
             foreach (var dev in deviceList)
             {
                 LogicView.SelectTypeView funView = new LogicView.SelectTypeView();
@@ -164,14 +226,15 @@
                 funView.btnRoomName.Visible = true;
                 funView.btnLine.X = Application.GetRealWidth(16);
                 funView.btnLine.Width = Application.GetRealWidth(343);
-                vv.AddChidren(funView.FLayoutView());
+                verticalScrolView.AddChidren(funView.FLayoutView());
                 funView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(dev.functionType);
                 funView.btnDeviceName.Text = dev.name;
-                funView.btnRoomName.Text = dev.GetRoomListName(); 
+                funView.btnRoomName.Text = dev.GetRoomListName();
+
 
             }
-
-
         }
     }
+
+
 }

--
Gitblit v1.8.0