From 1c4904d77f484c075080942d87785481b52b6fb2 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期一, 28 十月 2019 14:58:46 +0800 Subject: [PATCH] Revert "Merge branch 'dev-tzy' into DEV_GXC" --- ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs | 428 +++++++++++++++++++---------------------------------- 1 files changed, 152 insertions(+), 276 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs index 6b3fb19..d2ecb43 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs @@ -1,7 +1,6 @@ 锘縰sing System; using ZigBee.Device; using System.Collections.Generic; -using System.Threading.Tasks; namespace Shared.Phone.UserCenter.GatewayManage { @@ -13,9 +12,13 @@ #region 鈻� 鍙橀噺澹版槑___________________________ /// <summary> - /// 鍒楄〃鎺т欢 + /// 缃戝叧鍚嶇О鎺т欢 /// </summary> - private VerticalListControl listview = null; + private FrameCaptionInputControl rowGateway = null; + /// <summary> + /// 璁惧鏄庣粏鍒楄〃鎺т欢鐨勬甯� + /// </summary> + private DeviceInformationListControl listDeviceControl = null; /// <summary> /// 褰撳墠閫夋嫨鐨勭綉鍏� /// </summary> @@ -34,10 +37,19 @@ this.zbGateway = i_zbGateway; //璁剧疆鏍囬淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDeviceSettion)); + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorGatewayInformation)); - //鍒濆鍖栧彸涓婅鑿滃崟 - this.InitTopRightMenu(); + //缃戝叧瀹氫綅 + var btnIcon = new MostRightIconControl(69, 69); + btnIcon.UnSelectedImagePath = "Item/Test.png"; + topFrameLayout.AddChidren(btnIcon); + btnIcon.InitControl(); + + btnIcon.ButtonClickEvent += (sender, e) => + { + //娴嬭瘯 + HdlGatewayLogic.Current.SetTestCommand(i_zbGateway); + }; //鍒濆鍖栦腑閮ㄦ帶浠� this.InitMiddleFrame(); @@ -51,233 +63,162 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); - //鍒濆鍖栨甯� - var tableContr = new InformationEditorControl(); - this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 369, 1368); - + //鍥剧墖涓婁笅鐨勯棿璺�(涓婁笅闂磋窛涓�鑷�) + int picSpcae = Application.GetRealHeight(100); //鍥剧墖 - var btnPic = new DeviceInfoIconControl(); - btnPic.Y = Application.GetRealHeight(92); - btnPic.Gravity = Gravity.CenterHorizontal; - bodyFrameLayout.AddChidren(btnPic); - btnPic.InitControl(this.zbGateway); + var btnImage = new PicViewControl(838, 530, true); + btnImage.Y = picSpcae; + btnImage.Gravity = Gravity.CenterHorizontal; + HdlGatewayLogic.Current.SetRealGatewayPictrue(btnImage, zbGateway); + bodyFrameLayout.AddChidren(btnImage); - //璁惧澶囨敞 - string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote); - string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway); - var btnNote = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2); - listview.AddChidren(btnNote); - btnNote.InitControl(); - //鍒掔嚎 - btnNote.AddBottomLine(); - btnNote.txtInput.FinishInputEvent += () => - { - string oldName = HdlGatewayLogic.Current.GetGatewayName(zbGateway); - if (btnNote.Text == string.Empty) - { - btnNote.Text = oldName; - } - if (oldName != btnNote.Text) - { - //淇敼鍚嶅瓧 - this.SetGatewayName(btnNote.Text, false); - } - }; - - //璁惧绫诲瀷 - caption = Language.StringByID(R.MyInternationalizationString.uDeviceType); - var btnType = new FrameCaptionViewControl(caption, nameValue, listview.rowSpace / 2); - btnType.UseClickStatu = false; - listview.AddChidren(btnType); - btnType.InitControl(); - HdlGatewayLogic.Current.SetGatewayImageText(btnType.txtView, this.zbGateway); - //鍒掔嚎 - btnType.AddBottomLine(); - - //鏁版嵁涓婁紶涓庝笅杞� - var rowData = new RowLayoutControl(listview.rowSpace / 2); - listview.AddChidren(rowData); - rowData.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDataUploadAndDownLoad), 700); - //鍙冲浘鏍� - rowData.frameTable.AddRightArrow(); - //搴曠嚎 - rowData.frameTable.AddBottomLine(); - rowData.frameTable.ButtonClickEvent += (sender, e) => - { - }; - - //閫氱敤淇℃伅 - var btnGeneral = new FrameRowControl(listview.rowSpace / 2); - listview.AddChidren(btnGeneral); - btnGeneral.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uGeneralInformation), 600); - //鍚戝彸鍥炬爣 - btnGeneral.AddRightArrow(); - //搴曠嚎 - btnGeneral.AddBottomLine(); - btnGeneral.ButtonClickEvent += (sender, e) => - { - var form = new GatewayGeneralInformationForm(); - form.AddForm(zbGateway); - }; - - //鍥轰欢鍗囩骇 - var rowUpDate = new FrameRowControl(listview.rowSpace / 2); - listview.AddChidren(rowUpDate); - rowUpDate.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uFirmwareUpdate), 600); - //鍚戝彸鍥炬爣 - rowUpDate.AddRightArrow(); - //搴曠嚎 - rowUpDate.AddBottomLine(); - //鎻愮ず鏈夋柊鐗堟湰 - var btnNewVersion = new PicViewControl(78, 55); - btnNewVersion.UnSelectedImagePath = "Item/NewVersion.png"; - btnNewVersion.Visible = false; - btnNewVersion.X = Application.GetRealWidth(242); - btnNewVersion.Y = Application.GetRealHeight(23); - rowUpDate.AddChidren(btnNewVersion, ChidrenBindMode.BindEventOnly); - rowUpDate.ButtonClickEvent += (sender, e) => - { - btnNewVersion.Visible = false; - }; - - //鍒濆鍖栨甯冨畬鎴� - tableContr.FinishInitControl(bodyFrameLayout, this.listview); - tableContr = null; - - //淇濆瓨 + //瀹屾垚鎸夐挳 var btnFinish = new BottomClickButton(); - btnFinish.TextID = R.MyInternationalizationString.uSave; + btnFinish.TextID = R.MyInternationalizationString.uFinish; bodyFrameLayout.AddChidren(btnFinish); - btnFinish.ButtonClickEvent += (sender, e) => + btnFinish.MouseUpEventHandler += (sender, e) => { - string oldName = HdlGatewayLogic.Current.GetGatewayName(zbGateway); - if (btnNote.Text == string.Empty) - { - btnNote.Text = oldName; - } - if (oldName != btnNote.Text) - { - //淇敼鍚嶅瓧 - this.SetGatewayName(btnNote.Text, false); - } - else - { - //鍏抽棴鑷韩 - this.CloseForm(); - } + //瀹屾垚鎸夐挳鎸変笅 + this.FinishButtonClick(); }; - HdlThreadLogic.Current.RunThread(() => - { - //妫�娴嬫柊鐗堟湰 - this.CheckNewVersion(btnNewVersion, btnType); - }); + //鐧借壊搴曢儴鑳屾櫙 + var frameBottomWhite = new FrameLayout(); + frameBottomWhite.Y = btnFinish.Y - ControlCommonResourse.BottomButtonAndListViewSpace; + frameBottomWhite.Height = bodyFrameLayout.Height - btnFinish.Y + ControlCommonResourse.BottomButtonAndListViewSpace; + frameBottomWhite.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(frameBottomWhite); + //灏嗗畬鎴愭寜閽疆椤� + btnFinish.BringToFront(); + + //鑷畾涔夌殑璁惧鍒楄〃瀹瑰櫒 + this.listDeviceControl = new DeviceInformationListControl(); + //鍒楄〃鎺т欢鏈�澶х殑楂樺害(瀹屾垚鎸夐挳鐨刌杞� - 璁剧疆鐨勯棿闅� - 鍥剧墖Y杞� - 鍥剧墖鐨勪笁鍒嗕箣涓�) + int listViewMaxHeight = btnFinish.Y - ControlCommonResourse.BottomButtonAndListViewSpace - btnImage.Y - btnImage.Height / 3; + //鏄庣粏Frame鐨勬渶灏忛珮搴�(搴曢儴frame鐨刌杞� - 鍥剧墖搴曢儴 - 鍥剧墖涓庡姬搴﹀渾鐨勯棿璺� - 寮у害鍦嗛珮搴�) + int minDetailHeight = frameBottomWhite.Y - btnImage.Bottom - picSpcae - listDeviceControl.halfRoundHeigth; + //鍒濆鍖栨帶浠� + listDeviceControl.InitControl(bodyFrameLayout, frameBottomWhite.Height, listViewMaxHeight, minDetailHeight, 4); + + //璁惧缂栬緫 + var btnTitle = new DetailTitleControl(Application.GetRealWidth(800), listDeviceControl.titleHeight, false); + btnTitle.TextID = R.MyInternationalizationString.uDeviceEditor; + listDeviceControl.AddChidren(btnTitle); + + //娣诲姞鍏ㄩ儴鑿滃崟琛� + this.AddAllMenuRow(); } #endregion - #region 鈻� 鍙充笂瑙掕彍鍗昣________________________ + #region 鈻� 娣诲姞鍏ㄩ儴鑿滃崟琛宊____________________ /// <summary> - /// 鍒濆鍖栧彸涓婅鑿滃崟 + /// 娣诲姞鍏ㄩ儴鑿滃崟琛� /// </summary> - private void InitTopRightMenu() + private void AddAllMenuRow() { - var btnIcon = new MostRightIconControl(69, 69); - btnIcon.UnSelectedImagePath = "Item/More.png"; - topFrameLayout.AddChidren(btnIcon); - btnIcon.InitControl(); - btnIcon.ButtonClickEvent += ((sender, e) => - { - //鏄剧ず鍙充笂瑙掕彍鍗曠晫闈� - this.ShowTopRightMenu(); - }); + //缃戝叧鍚嶇О + string caption = Language.StringByID(R.MyInternationalizationString.uGatewayName); + string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway); + this.rowGateway = new FrameCaptionInputControl(caption, nameValue); + listDeviceControl.AddChidren(rowGateway); + rowGateway.InitControl(); + rowGateway.AddBottomLine(); + + //缃戝叧IP + caption = Language.StringByID(R.MyInternationalizationString.uGatewayIP); + nameValue = HdlGatewayLogic.Current.GetGatewayBaseInfoAttribute(zbGateway, "IpAddress").ToString(); + var btnIp = new FrameCaptionViewControl(caption, nameValue); + listDeviceControl.AddChidren(btnIp); + btnIp.InitControl(); + btnIp.txtView.TextColor = UserCenterColor.Current.TextGrayColor; + btnIp.AddBottomLine(); + //涓荤綉鍏虫垨鑰呭瓙缃戝叧鏍囪瘑 + var btnFlage = new RowMostRightTextView(); + btnFlage.TextColor = UserCenterColor.Current.TextGrayColor; + btnIp.AddChidren(btnFlage, ChidrenBindMode.NotBind); + int result = HdlGatewayLogic.Current.IsMainGateway(this.zbGateway); + //涓荤綉鍏� + if (result == 1) { btnFlage.TextID = R.MyInternationalizationString.uMainGateway; } + //瀛愮綉鍏� + else if (result == 0) { btnFlage.TextID = R.MyInternationalizationString.uChidrenGateway; } + + //缃戝叧绫诲瀷 + caption = Language.StringByID(R.MyInternationalizationString.uGatewayType); + nameValue = HdlGatewayLogic.Current.GetGatewayImageText(this.zbGateway); + var btnObject = new FrameCaptionViewControl(caption, nameValue); + listDeviceControl.AddChidren(btnObject); + btnObject.InitControl(); + btnObject.txtView.TextColor = UserCenterColor.Current.TextGrayColor; + btnObject.AddBottomLine(); + + //鍥轰欢淇℃伅 + this.AddHardWareInfoRow(); } - /// <summary> - /// 鏄剧ず鍙充笂瑙掕彍鍗曠晫闈� - /// </summary> - private void ShowTopRightMenu() - { - bool flage = UserCenterResourse.DicActionForm.ContainsKey("NewGateWayMenuSelectForm"); - var frame = new TopRightMenuControl(flage == true ? 1 : 3); - //瀹氫綅 - string MenuName = Language.StringByID(R.MyInternationalizationString.uFixedPosition); - frame.AddRowMenu(MenuName, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () => - { - //鍙戦�佸畾浣嶅姛鑳� - HdlGatewayLogic.Current.SetFixedPositionCommand(zbGateway); - }); - if (flage == true) - { - //鎼滅储缃戝叧鐨勬椂鍊�,涓嶈兘鍒犻櫎,涓嶇粰浠栧垏鎹� - return; - } - - //鍒囨崲 - MenuName = Language.StringByID(R.MyInternationalizationString.uSwitch1); - string strWayId = HdlGatewayLogic.Current.GetGatewayId(zbGateway); - if (strWayId == GatewayResourse.AppOldSelectGatewayId) - { - MenuName = Language.StringByID(R.MyInternationalizationString.uRefresh); - } - frame.AddRowMenu(MenuName, "Item/GwSwitchIcon.png", "Item/GwSwitchIconSelected.png", () => - { - string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway); - //鏄惁鍒囨崲鍒皗0}缃戝叧? - string msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToSwitchTheGateway), "[" + nameValue + "]"); - if (strWayId == GatewayResourse.AppOldSelectGatewayId) - { - //鏄惁閲嶆柊鍒锋柊{0}缃戝叧? - msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToRefreshTheGateway), "[" + nameValue + "]"); - } - this.ShowMassage(ShowMsgType.Confirm, msg, () => - { - HdlThreadLogic.Current.RunThread(() => - { - //鎵ц鍒囨崲缃戝叧鎿嶄綔 - this.DoSwitchGateway(); - }); - }); - }); - //鍒犻櫎 - MenuName = Language.StringByID(R.MyInternationalizationString.uDelete); - frame.AddRowMenu(MenuName, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () => - { - //濡傜Щ闄ょ綉鍏筹紝璇ョ綉鍏崇粦瀹氱殑璁惧鍒楄〃{0}灏嗘竻绌猴紝纭缁х画鎵ц璇ユ搷浣滐紵 - string msg = Language.StringByID(R.MyInternationalizationString.uUnBindedMsg); - if (msg.Contains("{0}") == true) - { - msg = string.Format(msg, "\r\n"); - } - this.ShowMassage(ShowMsgType.Confirm, msg, () => - { - this.DeleteGateway(strWayId); - }); - }); - } #endregion - #region 鈻� 妫�娴嬫柊鐗堟湰_________________________ + #region 鈻� 娣诲姞鍥轰欢淇℃伅琛宊____________________ + + /// <summary> + /// 娣诲姞鍥轰欢淇℃伅琛� + /// </summary> + private void AddHardWareInfoRow() + { + var rowInfo = new RowLayoutControl(); + listDeviceControl.AddChidren(rowInfo); + + //鍥轰欢淇℃伅 + //var btnInfo = new RowCenterViewControl(false, 14); + //btnInfo.TextID = R.MyInternationalizationString.uFirmwareInformation; + //rowInfo.AddChidren(btnInfo); + + //鍚戝彸鍥炬爣 + //rowInfo.AddRightArrow(); + + //鏂扮増鏈彁绀烘帶浠� + var btnNewVersion = new RowNewVersionTipView(); + btnNewVersion.Visible = false; + rowInfo.AddChidren(btnNewVersion); + + //rowInfo.MouseUpEvent += (sender, e) => + //{ + // btnNewVersion.Visible = false; + // var form = new GatewayFirmwareInfoForm(); + // form.AddForm(zbGateway); + //}; + + //妫�娴嬫柊鐗堟湰 + this.CheckNewVersion(btnNewVersion); + } /// <summary> /// 妫�娴嬫柊鐗堟湰 /// </summary> /// <param name="btnNewVersion">鎻愮ず鏈夋柊鐗堟湰鐨勬帶浠�</param> - /// <param name="btnType">缃戝叧绫诲瀷鎺т欢</param> - private async void CheckNewVersion(PicViewControl btnNewVersion, FrameCaptionViewControl btnType) + private async void CheckNewVersion(RowNewVersionTipView btnNewVersion) { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); + //鑾峰彇缃戝叧鐗堟湰淇℃伅 var result = await HdlGatewayLogic.Current.GetGatewayAllNewVersion(this.zbGateway); if (result == null) { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); return; } + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + Application.RunOnMainThread(() => { - if (this.Parent != null) + if (this.rowGateway != null) { - HdlGatewayLogic.Current.SetGatewayImageText(btnType.txtView, this.zbGateway); + //璁剧疆缃戝叧鍚嶇О + this.rowGateway.Text = HdlGatewayLogic.Current.GetGatewayName(zbGateway); if (result[0] != null || result[1] != null || result[2] != null) { //鎻愮ず鏈夋柊鐗堟湰 @@ -294,25 +235,25 @@ /// <summary> /// 瀹屾垚鎸夐挳鎸変笅 /// </summary> - /// <param name="gatewayName">缃戝叧鍚�</param> - private void FinishButtonClick(string gatewayName) + private void FinishButtonClick() { - if (string.IsNullOrEmpty(gatewayName) == true) + if (string.IsNullOrEmpty(this.rowGateway.Text) == true) { //璇疯緭鍏ョ綉鍏冲悕绉� + this.rowGateway.Text = string.Empty; string msg = Language.StringByID(R.MyInternationalizationString.uGatewayNameMastInput); this.ShowMassage(ShowMsgType.Error, msg); return; } string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway); - if (nameValue == gatewayName) + if (nameValue == this.rowGateway.Text) { //鍚屽悕涓嶉渶瑕佸鐞� this.CloseForm(); return; } //淇敼鍚嶅瓧 - this.SetGatewayName(gatewayName, true); + this.SetGatewayName(this.rowGateway.Text); } #endregion @@ -323,91 +264,26 @@ /// 璁剧疆缃戝叧鍚嶅瓧 /// </summary> /// <param name="gatewayName">缃戝叧鍚嶇О</param> - private async void SetGatewayName(string gatewayName, bool closeForm) + private async void SetGatewayName(string gatewayName) { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); //淇敼缃戝叧鍚� var result = await HdlGatewayLogic.Current.ReName(zbGateway, gatewayName); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + //缃戝叧淇敼澶辫触 if (result == false) { return; } - if (closeForm == true) + Application.RunOnMainThread(() => { //鍏抽棴鐣岄潰 this.CloseForm(); - } - } - #endregion - - #region 鈻� 缃戝叧鍒囨崲___________________________ - - /// <summary> - /// 鎵ц鍒囨崲缃戝叧鎿嶄綔 - /// </summary> - /// <param name="gatewayId"></param> - /// <param name="online"></param> - private async void DoSwitchGateway() - { - string gatewayId = HdlGatewayLogic.Current.GetGatewayId(zbGateway); - var result = await HdlGatewayLogic.Current.DoSwitchGateway(gatewayId); - if (result == false) - { - return; - } - - HdlThreadLogic.Current.RunMain(() => - { - //鍏抽棴鑷韩 - this.CloseForm(); - - //鍏抽棴鎸囧畾鐣岄潰(缃戝叧鎼滅储) - this.CloseFormByFormName("WiredGatewayListForm"); - this.CloseFormByFormName("NewGateWayMenuSelectForm"); - - //鍏抽棴鎸囧畾鐣岄潰(缃戝叧缂栬緫) - this.CloseFormByFormName("GatewayListForm"); - - if (UserCenterResourse.DicActionForm.ContainsKey("DeviceListMainForm") == false) - { - //鍒锋柊涓荤敾闈� - var form = new Device.DeviceListMainForm(); - form.AddForm(); - } - else - { - //鍒锋柊涓荤敾闈�(涓嶉噸鏂拌幏鍙栬澶囩姸鎬�) - this.LoadFormMethodByName("DeviceListMainForm", "InitMiddleFrame", false); - } }); } - - #endregion - - #region 鈻� 瑙g粦缃戝叧___________________________ - - /// <summary> - /// 瑙g粦缃戝叧 - /// </summary> - /// <param name="strWayId"></param> - /// <param name="row"></param> - private async void DeleteGateway(string strWayId) - { - //鍒犻櫎浜戠缃戝叧 - bool result = await HdlGatewayLogic.Current.DeleteGateway(strWayId); - if (result == false) - { - return; - } - - if (strWayId == GatewayResourse.AppOldSelectGatewayId) - { - HdlGatewayLogic.Current.SaveGatewayIdToLocation(string.Empty); - } - //鍏抽棴鑷韩 - this.CloseForm(); - } - #endregion } } -- Gitblit v1.8.0