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