using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone.UserCenter.GatewayManage { /// /// 网关通用信息 /// public class GatewayGeneralInformationForm : EditorCommonForm { #region ■ 变量声明___________________________ #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 网关 public void ShowForm(ZbGateway i_gateway) { //设置头部信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uGeneralInformation)); //初始化中部信息 this.InitMiddleFrame(i_gateway); } /// /// 初始化中部信息 /// /// 网关 private void InitMiddleFrame(ZbGateway i_gateway) { //清空bodyFrame this.ClearBodyFrame(); var listView = new VerticalListControl(23); listView.BackgroundColor = UserCenterColor.Current.White; listView.Height = bodyFrameLayout.Height; bodyFrameLayout.AddChidren(listView); //设备名称 var rowName = new FrameRowControl(listView.rowSpace / 2); rowName.UseClickStatu = false; listView.AddChidren(rowName); rowName.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDeviceName), 300); rowName.AddMostRightView(HdlGatewayLogic.Current.GetGatewayName(i_gateway), 600); rowName.AddBottomLine(); //设备型号 var rowType = new FrameRowControl(listView.rowSpace / 2); rowType.UseClickStatu = false; listView.AddChidren(rowType); rowType.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uModelIdentifier), 300); var btnType = rowType.AddMostRightView("", 700); HdlGatewayLogic.Current.SetGatewayImageText(btnType, i_gateway); rowType.AddBottomLine(); //序列号 var rowSerial = new FrameRowControl(listView.rowSpace / 2); rowSerial.UseClickStatu = false; listView.AddChidren(rowSerial); rowSerial.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSerialNumber), 300); rowSerial.AddMostRightView(string.IsNullOrEmpty(i_gateway.GwSerialNum) == false ? i_gateway.GwSerialNum : "000000000000", 600); rowSerial.AddBottomLine(); //网关ID var rowGatewayID = new FrameRowControl(listView.rowSpace / 2); rowGatewayID.UseClickStatu = false; listView.AddChidren(rowGatewayID); rowGatewayID.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uGatewayID), 300); rowGatewayID.AddMostRightView(i_gateway.GwId, 600); rowGatewayID.AddBottomLine(); //网关IP var rowGatewayIP = new FrameRowControl(listView.rowSpace / 2); rowGatewayIP.UseClickStatu = false; listView.AddChidren(rowGatewayIP); rowGatewayIP.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uGatewayIP), 300); rowGatewayIP.AddMostRightView(i_gateway.GwIP, 600); rowGatewayIP.AddBottomLine(); //协议器MAC var rowMac = new FrameRowControl(listView.rowSpace / 2); rowMac.UseClickStatu = false; listView.AddChidren(rowMac); rowMac.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uCoordinatorMac), 300); var btnMac = rowMac.AddMostRightView("", 600); rowMac.AddBottomLine(); //如果当前是展示模板或者虚拟住宅,则不处理 if (Common.Config.Instance.Home.IsShowTemplate == false && Common.Config.Instance.Home.IsVirtually == false) { //协议器信道 var rowChannel = new FrameRowControl(listView.rowSpace / 2); rowChannel.UseClickStatu = false; listView.AddChidren(rowChannel); rowChannel.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uCoordinatorChannel), 300); var btnChannel = rowChannel.AddMostRightView("", 600); rowChannel.AddBottomLine(); //协议器PanID var rowPanid = new FrameRowControl(listView.rowSpace / 2); rowPanid.UseClickStatu = false; listView.AddChidren(rowPanid); rowPanid.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uCoordinatorPanid), 300); var btnPanId = rowPanid.AddMostRightView("", 600); rowPanid.AddBottomLine(); //制造商 var rowProtuct = new FrameRowControl(listView.rowSpace / 2); rowProtuct.UseClickStatu = false; listView.AddChidren(rowProtuct); rowProtuct.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uManufacturerName), 300); rowProtuct.AddMostRightView("广州河东科技有限公司", 600); HdlThreadLogic.Current.RunThread(() => { //获取网关数据 this.GetGatewayData(i_gateway, btnMac, btnChannel, btnPanId); }); } listView.AdjustRealHeight(Application.GetRealHeight(23)); } #endregion #region ■ 获取数据___________________________ /// /// 获取网关数据 /// /// 网关对象 /// 协调器MAC /// 协调器信道 /// 协调器PanId private void GetGatewayData(ZbGateway gateway, NormalViewControl btnMac, NormalViewControl btnChannel, NormalViewControl btnPanid) { //打开进度条 this.ShowProgressBar(); //协调器MAC string strMac = HdlGatewayLogic.Current.GetGatewayCoordinatorMac(gateway); if (strMac == null) { //关闭进度条 this.CloseProgressBar(); return; } //协调器信道 int intChannel = HdlGatewayLogic.Current.GetGatewayChannelId(gateway); if (intChannel == -1) { //关闭进度条 this.CloseProgressBar(); return; } //协调器PanId int intPanId = HdlGatewayLogic.Current.GetGatewayPanId(gateway); if (intPanId == -1) { //关闭进度条 this.CloseProgressBar(); return; } //关闭进度条 this.CloseProgressBar(); HdlThreadLogic.Current.RunMain(() => { btnMac.Text = strMac; btnChannel.Text = intChannel.ToString(); btnPanid.Text = intPanId.ToString(); }); } #endregion } }