From a4924de3136289d10cabbf2f61a228387d44ded7 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 07 十一月 2019 13:48:36 +0800
Subject: [PATCH] Merge branch 'dev-tzy' into DEV_GXC

---
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayListForm.cs |  181 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 181 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayListForm.cs
new file mode 100755
index 0000000..cc9c284
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayListForm.cs
@@ -0,0 +1,181 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.GatewayAdd
+{
+    /// <summary>
+    /// 鎼滅储寰楀埌鐨勬湁绾跨綉鍏崇殑鍒楄〃鐣岄潰
+    /// </summary>
+    public class WiredGatewayListForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 鎼滅储鍒扮殑缃戝叧鍒楄〃
+        /// </summary>
+        private List<ZbGateway> listZbGateway = null;
+        /// <summary>
+        /// 鎼滅储鍒扮殑缃戝叧绫诲埆  0:绗竴娆$粦瀹� 1:宸茬粡缁戝畾 2:闇�瑕佹崲缁�
+        /// </summary>
+        private Dictionary<string, int> dicZbGatewayDiv = null;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        /// <param name="i_listZbGateway">鎼滅储鍒扮殑缃戝叧鍒楄〃</param>
+        /// <param name="i_dicZbGatewayDiv">鎼滅储鍒扮殑缃戝叧绫诲埆  0:绗竴娆$粦瀹� 1:宸茬粡缁戝畾 2:闇�瑕佹崲缁�</param>
+        public void ShowForm(List<ZbGateway> i_listZbGateway, Dictionary<string, int> i_dicZbGatewayDiv)
+        {
+            this.listZbGateway = i_listZbGateway;
+            this.dicZbGatewayDiv = i_dicZbGatewayDiv;
+
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddGateway));
+
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        private void InitMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            var frameBack = new FrameLayout();
+            frameBack.Height = Application.GetRealHeight(23);
+            frameBack.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(frameBack);
+
+            var listView = new VerticalListControl(12);
+            listView.Y = frameBack.Bottom;
+            listView.BackgroundColor = UserCenterColor.Current.White;
+            listView.Height = bodyFrameLayout.Height - frameBack.Height;
+            bodyFrameLayout.AddChidren(listView);
+
+            HdlThreadLogic.Current.RunMainInThread(() =>
+            {
+                //娣诲姞缃戝叧琛�
+                for (int i = 0; i < listZbGateway.Count; i++)
+                {
+                    this.AddGatewayRow(listView, listZbGateway[i], i != listZbGateway.Count - 1);
+                }
+                listView.AdjustRealHeight(Application.GetRealHeight(23));
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 娣诲姞缃戝叧琛宊________________________
+
+        /// <summary>
+        /// 娣诲姞缃戝叧琛�
+        /// </summary>
+        /// <param name="listView"></param>
+        /// <param name="gateway"></param>
+        /// <param name="addLine"></param>
+        private void AddGatewayRow(VerticalListControl listView, ZbGateway gateway, bool addLine)
+        {
+            string gwid = HdlGatewayLogic.Current.GetGatewayId(gateway);
+            if (this.dicZbGatewayDiv[gwid] != 2)
+            {
+                //濡傛灉鏈湴娌℃湁,閭d箞搴旇鏄湪涔嬪悗鐨勭紪杈戠晫闈㈠垹闄や簡
+                if (HdlGatewayLogic.Current.IsGatewayExist(gwid) == false)
+                {
+                    return;
+                }
+            }
+
+            var frameRow = new RowLayoutControl(listView.rowSpace / 2);
+            listView.AddChidren(frameRow);
+            //鍥炬爣
+            var btnIcon = frameRow.frameTable.AddLeftIcon(81);
+            HdlGatewayLogic.Current.SetGatewayIcon(btnIcon, gateway);
+            //缃戝叧鍚�
+            var wayName = HdlGatewayLogic.Current.GetGatewayName(gateway);
+            if (wayName == string.Empty)
+            {
+                //鏃犳硶璇嗗埆鐨勭綉鍏宠澶�
+                wayName = Language.StringByID(R.MyInternationalizationString.uUnDistinguishTheGatewayDevice);
+            }
+            if (dicZbGatewayDiv[gwid] == 0)
+            {
+                //xxx(鏂�)
+                wayName += Language.StringByID(R.MyInternationalizationString.uNewTip1);
+            }
+            var btnName = frameRow.frameTable.AddLeftCaption(wayName, 700);
+            btnName.TextSize = 15;
+            //鍙崇澶�
+            frameRow.frameTable.AddRightArrow();
+            if (addLine == true)
+            {
+                //搴曠嚎
+                frameRow.frameTable.AddBottomLine();
+            }
+            frameRow.frameTable.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new GatewayProductInfoForm();
+                form.AddForm(gateway);
+            };
+
+            if (dicZbGatewayDiv[gwid] == 2)
+            {
+                //鎹㈢粦
+                var btnBind = new NormalViewControl(Application.GetRealWidth(184), frameRow.Height, false);
+                btnBind.BackgroundColor = 0xfffb744a;
+                btnBind.TextAlignment = TextAlignment.Center;
+                btnBind.TextColor = UserCenterColor.Current.White;
+                btnBind.TextSize = 12;
+                btnBind.TextID = R.MyInternationalizationString.uReBindAgain;
+                frameRow.AddRightView(btnBind);
+                btnBind.ButtonClickEvent += (sender, e) =>
+                {
+                    //纭缁戝畾鏃х綉鍏筹紵
+                    string msg = Language.StringByID(R.MyInternationalizationString.uRebindGatewayMsg);
+                    this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+                    {
+                        var form = new WiredGatewayRebindForm();
+                        form.AddForm(gateway, dicZbGatewayDiv);
+                    });
+                };
+            }
+            //瀹氫綅
+            var btnPosition = new NormalViewControl(Application.GetRealWidth(184), frameRow.Height, false);
+            btnPosition.BackgroundColor = 0xff4a4a4a;
+            btnPosition.TextAlignment = TextAlignment.Center;
+            btnPosition.TextColor = UserCenterColor.Current.White;
+            btnPosition.TextSize = 12;
+            btnPosition.TextID = R.MyInternationalizationString.uFixedPosition;
+            frameRow.AddRightView(btnPosition);
+            btnPosition.ButtonClickEvent += (sender, e) =>
+            {
+                //鍙戦�佸畾浣嶅懡浠�
+                HdlGatewayLogic.Current.SetFixedPositionCommand(gateway);
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
+
+        /// <summary>
+        /// 鑷韩鐨勪笂灞傜晫闈㈠叧闂悗,瀹冭嚜韬浜庢渶涓婂眰鏃�,瑙﹀彂鐨勪簨浠�
+        /// </summary>
+        public override int FormActionAgainEvent()
+        {
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame();
+            return 1;
+        }
+
+        #endregion
+    }
+}

--
Gitblit v1.8.0