using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone.UserCenter.HideOption { /// /// 隐匿功能的网关列表界面 /// public class HideOptionGatewayListForm : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 列表控件 /// private VerticalListControl listview = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 网关区分,1:本地网关 2:缓存中的网关 3:广播搜到的网关 public void ShowForm(int i_GatewayDiv) { if (i_GatewayDiv == 1) { //设置标题信息 base.SetTitleText("本地网关"); } else if (i_GatewayDiv == 2) { //设置标题信息 base.SetTitleText("缓存中的网关"); } else { //设置标题信息 base.SetTitleText("广播搜到的网关"); } //初始化中部控件 this.InitMiddleFrame(i_GatewayDiv); } /// /// 初始化中部控件 /// private void InitMiddleFrame(int i_GatewayDiv) { //清空bodyFrame this.ClearBodyFrame(); listview = new VerticalListControl(29); listview.Height = bodyFrameLayout.Height; listview.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(listview); HdlThreadLogic.Current.RunMainInThread(() => { //设定中部信息 this.SetMiddleFrameInfo(i_GatewayDiv); }); } /// /// 设定中部信息 /// private void SetMiddleFrameInfo(int i_GatewayDiv) { List listway = null; if (i_GatewayDiv == 1) { //获取本地全部网关对象 listway = HdlGatewayLogic.Current.GetAllLocalGateway(); } else if (i_GatewayDiv == 2) { listway = ZbGateway.GateWayList; } else { listway = new List(); foreach (var way in UserCenterResourse.DicReceiveGatewayTest.Values) { listway.Add(way); } } for (int i = 0; i < listway.Count; i++) { //添加行 this.AddRowLayout(listway[i], i != listway.Count - 1); } //调整列表控件的高度 this.listview.AdjustRealHeight(Application.GetRealHeight(23)); } #endregion #region ■ 添加网关行_________________________ /// /// 添加行 /// /// i_gateway /// 是否添加底线 private void AddRowLayout(ZbGateway i_gateway, bool addLine) { //网关控件 var gatewayRow = new GatewayRowControl(i_gateway, listview.rowSpace / 2); listview.AddChidren(gatewayRow); gatewayRow.InitControl(81); if (addLine == true) { gatewayRow.frameTable.AddBottomLine(); } var btnLink = new NormalViewControl(Application.GetRealWidth(700), gatewayRow.btnIp.Height, false); btnLink.TextSize = 12; btnLink.X = gatewayRow.btnIp.Right; btnLink.Y = gatewayRow.btnIp.Y; btnLink.Text = "本地连接:" + i_gateway.localIsConnected.ToString(); gatewayRow.frameTable.AddChidren(btnLink); //定位 var btnPosition = gatewayRow.AddEditorControl(false); btnPosition.TextID = R.MyInternationalizationString.uFixedPosition; btnPosition.ButtonClickEvent += (sender, e) => { //发送定位命令 HdlGatewayLogic.Current.SetFixedPositionCommand(i_gateway); }; gatewayRow.frameTable.ButtonClickEvent += (sender, e) => { var form = new GatewayManage.GatewayInfoEditorForm(); form.AddForm(i_gateway); }; } #endregion } }