using System; namespace Shared.Phone.UserCenter.GatewayAdd { /// /// 添加网关的选择画面 /// public class NewGateWayMenuSelectForm : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 是否显示提示设置住宅地理位置 /// private bool showSettion = true; /// /// 提示的FrameLayout /// private FrameLayout frameTip = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// public void ShowForm() { //设置头部信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddGateway)); //初始化中部信息 this.InitMiddleFrame(); } /// /// 初始化中部信息 /// private void InitMiddleFrame() { //清空bodyFrame this.ClearBodyFrame(); var listView = new VerticalListControl(29); listView.Height = bodyFrameLayout.Height; listView.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(listView); //有线网关 var row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); var btnIcon1 = row1.AddLeftIcon(81); btnIcon1.UnSelectedImagePath = "Gateway/WiredGateway.png"; var btntext1 = row1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uWiredGateway), 500); btntext1.TextSize = 15; row1.AddRightArrow(); row1.AddBottomLine(); row1.ButtonClickEvent += (sender, e) => { //菜单按钮的点击事件 this.MenuButtonClickEvent(1); }; //无线网关 var row2 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row2); var btnIcon2 = row2.AddLeftIcon(81); btnIcon2.UnSelectedImagePath = "Gateway/WirelessGateway.png"; var btntext2 = row2.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uWirelessGateway), 500); btntext2.TextSize = 15; row2.AddRightArrow(); row2.AddBottomLine(); row2.ButtonClickEvent += (sender, e) => { //菜单按钮的点击事件 this.MenuButtonClickEvent(2); }; //Mini网关 var row3 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row3); var btnIcon3 = row3.AddLeftIcon(81); btnIcon3.UnSelectedImagePath = "Gateway/MiniGateway.png"; var btntext3 = row3.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uMiniGateway), 500); btntext3.TextSize = 15; row3.AddRightArrow(); row3.ButtonClickEvent += (sender, e) => { //菜单按钮的点击事件 this.MenuButtonClickEvent(3); }; listView.AdjustRealHeight(Application.GetRealHeight(23)); //如果还没有设置地理位置 if (Common.Config.Instance.Home.Latitude == 0 && Common.Config.Instance.Home.Longitude == 0) { this.frameTip = new FrameLayout(); frameTip.X = Application.GetRealWidth(179); frameTip.Y = Application.GetRealHeight(1426); frameTip.Height = Application.GetRealHeight(100); frameTip.Width = Application.GetRealWidth(714); bodyFrameLayout.AddChidren(frameTip); var btnIcon = new IconViewControl(58); btnIcon.UnSelectedImagePath = "Item/Tips.png"; frameTip.AddChidren(btnIcon); //如果不设置住宅的地理位置,则会影响自动化地理围栏功能的设置 var btnTip = new NormalViewControl(Application.GetRealWidth(636), Application.GetRealHeight(100), false); btnTip.X = btnIcon.Right + Application.GetRealWidth(20); btnTip.TextAlignment = TextAlignment.Center; btnTip.TextColor = UserCenterColor.Current.TextGrayColor1; btnTip.TextSize = 12; btnTip.IsMoreLines = true; btnTip.Text = Language.StringByID(R.MyInternationalizationString.uNotSetLocationWillAffectTheAutomaticGeofencingFunction); frameTip.AddChidren(btnTip); } } #endregion #region ■ 按键点击___________________________ /// /// 菜单按钮的点击事件 /// /// 1:有线网关 2:无线网关 3:mini网关 private void MenuButtonClickEvent(int menuDiv) { //只弹一次 if (this.showSettion == true && Common.Config.Instance.Home.Latitude == 0 && Common.Config.Instance.Home.Longitude == 0) { this.showSettion = false; //请前往住宅管理{0}设置住宅的地理位置 string msg = Language.StringByID(R.MyInternationalizationString.uGotoResidenceAndSetLocation).Replace("{0}", "\r\n"); var alert = new ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.uGotoSettion), Language.StringByID(R.MyInternationalizationString.uNeglect)); alert.Show(); //忽略 alert.CancelClickEvent += () => { //显示指定的界面 this.ShowFormByMenuDiv(menuDiv); }; //去设置 alert.ConfirmClickEvent += () => { var form = new Residence.ResidenceManagementForm(); form.AddForm(false); }; return; } //显示指定的界面 this.ShowFormByMenuDiv(menuDiv); } /// /// 显示指定的界面 /// /// 1:有线网关 2:无线网关 3:mini网关 private void ShowFormByMenuDiv(int menuDiv) { if (menuDiv == 1) { var form = new WiredGatewayDirectionForm(); form.AddForm(); } else if (menuDiv == 2) { var menuContr = new BottomMenuSelectForm(); menuContr.AddForm(2); //UDP模式(推荐) menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uUdpModeRecommend), () => { var form = new WirelessUdpDirectionForm(); form.AddForm(); }); //AP模式 menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uApMode), () => { var form = new WirelessApDirection1Form(); form.AddForm(); }); } else if (menuDiv == 3) { var form = new MiniGatewayDirection1Form(); form.AddForm(); } } #endregion #region ■ 一般方法___________________________ /// /// 检测住宅经纬度 /// /// private bool CheckResidencePoint() { //只弹一次 if (this.showSettion == false) { return true; } this.showSettion = false; if (Common.Config.Instance.Home.Latitude == 0 && Common.Config.Instance.Home.Longitude == 0) { //请前往住宅管理{0}设置住宅的地理位置 string msg = Language.StringByID(R.MyInternationalizationString.uGotoResidenceAndSetLocation).Replace("{0}", "\r\n"); this.ShowMassage(ShowMsgType.Confirm, msg, () => { var form = new Residence.ResidenceManagementForm(); form.AddForm(false); }, Language.StringByID(R.MyInternationalizationString.uGotoSettion)); return false; } return true; } #endregion #region ■ 界面重新激活事件___________________ /// /// 自身的上层界面关闭后,它自身处于最上层时,触发的事件 /// public override int FormActionAgainEvent() { if (frameTip == null) { return 0; } if (Common.Config.Instance.Home.Latitude != 0 || Common.Config.Instance.Home.Longitude != 0) { //移除掉提示 frameTip.RemoveFromParent(); return 1; } return 1; } #endregion } }