From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs | 347 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 223 insertions(+), 124 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs index 08c517b..1973ec7 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs @@ -15,7 +15,7 @@ /// <summary> /// 鍒楄〃鎺т欢 /// </summary> - private VerticalListControl listview = null; + private FrameListControl listview = null; /// <summary> /// 褰撳墠閫夋嫨鐨勭綉鍏� /// </summary> @@ -51,48 +51,121 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); + var listBackControl = new VerticalFrameControl(); + listBackControl.Height = bodyFrameLayout.Height; + bodyFrameLayout.AddChidren(listBackControl); + //鍒濆鍖栨甯� var tableContr = new InformationEditorControl(); - this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 369, 1368); + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 1368); //鍥剧墖 var btnPic = new DeviceInfoIconControl(); btnPic.Y = Application.GetRealHeight(92); btnPic.Gravity = Gravity.CenterHorizontal; - bodyFrameLayout.AddChidren(btnPic); + listBackControl.frameTable.AddChidren(btnPic); btnPic.InitControl(this.zbGateway); //璁惧澶囨敞 string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote); string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway); var btnNote = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2); + btnNote.txtInput.MaxByte = 32;//闄愬埗鍙兘杈撳叆32涓瓧鑺� listview.AddChidren(btnNote); btnNote.InitControl(); //鍒掔嚎 btnNote.AddBottomLine(); - btnNote.txtInput.FinishInputEvent += () => + //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫 + if (Common.Config.Instance.Home.IsShowTemplate == false) { - string oldName = HdlGatewayLogic.Current.GetGatewayName(zbGateway); - if (btnNote.Text == string.Empty) + btnNote.txtInput.FinishInputEvent += () => { - btnNote.Text = oldName; - } - if (oldName != btnNote.Text) - { - //淇敼鍚嶅瓧 - this.SetGatewayName(btnNote.Text, false); - } - }; + 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); + var infoContent = HdlDeviceCommonLogic.Current.GetDeviceModelIdNameInfo("1"); + var btnType = new FrameCaptionViewControl(caption, infoContent != null ? infoContent.A绫诲瀷鍚嶅瓧 : string.Empty, listview.rowSpace / 2); btnType.UseClickStatu = false; listview.AddChidren(btnType); btnType.InitControl(); - HdlGatewayLogic.Current.SetGatewayImageText(btnType.txtView, this.zbGateway); //鍒掔嚎 btnType.AddBottomLine(); + + //瀹夎浣嶇疆 + var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2); + listview.AddChidren(rowBeloneArea); + rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uInstallationLocation), this.zbGateway); + //搴曠嚎 + rowBeloneArea.AddBottomLine(); + rowBeloneArea.SelectRoomEvent += (roomKeys) => + { + //鍙樻洿缃戝叧鎴块棿 + HdlRoomLogic.Current.ChangedGatewayRoom(this.zbGateway.GwId, roomKeys); + }; + //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫 + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + rowBeloneArea.CanClick = false; + } + + //鎵�灞炰綇瀹� + caption = Language.StringByID(R.MyInternationalizationString.uBelongResidence); + var btnBeloneArea = new FrameCaptionViewControl(caption, Common.Config.Instance.Home.Name, listview.rowSpace / 2); + btnBeloneArea.UseClickStatu = false; + listview.AddChidren(btnBeloneArea); + btnBeloneArea.InitControl(); + //鍒掔嚎 + btnBeloneArea.AddBottomLine(); + + //mini缃戝叧鏈変釜鍔熻兘璁剧疆 + var linuxImageType = this.zbGateway.LinuxImageType; + if (linuxImageType == 11) + { + var listDevice = HdlDeviceCommonLogic.Current.GetDeviceByGatewayID(this.zbGateway.GwId); + CommonDevice miniDevice = null; + foreach (var device in listDevice) + { + //鑾峰彇杩欎釜缃戝叧涓嬬殑灏忓鐏澶� + if (HdlDeviceCommonLogic.Current.IsMiniLight(device) == true) + { + miniDevice = device; + break; + } + } + //濡傛灉鎵惧緱鍒扮殑璇� + if (miniDevice != null) + { + //鍔熻兘璁剧疆 + var rowFunction = new RowLayoutControl(listview.rowSpace / 2); + listview.AddChidren(rowFunction); + rowFunction.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp), 700); + //鍙冲浘鏍� + rowFunction.frameTable.AddRightArrow(); + //搴曠嚎 + rowFunction.frameTable.AddBottomLine(); + //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫 + if (Common.Config.Instance.Home.IsShowTemplate == false) + { + rowFunction.frameTable.ButtonClickEvent += (sender, e) => + { + var form = new DeviceLight.MiniNightLightFunctionSettionForm(); + form.AddForm(miniDevice); + }; + } + } + } //鏁版嵁涓婁紶涓庝笅杞� var rowData = new RowLayoutControl(listview.rowSpace / 2); @@ -102,11 +175,15 @@ rowData.frameTable.AddRightArrow(); //搴曠嚎 rowData.frameTable.AddBottomLine(); - rowData.frameTable.ButtonClickEvent += (sender, e) => + //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫 + if (Common.Config.Instance.Home.IsShowTemplate == false) { - var form = new GatewayUploadAndDownLoadForm(); - form.AddForm(HdlGatewayLogic.Current.GetGatewayId(this.zbGateway)); - }; + rowData.frameTable.ButtonClickEvent += (sender, e) => + { + var form = new GatewayUploadAndDownLoadForm(); + form.AddForm(this.zbGateway.GwId); + }; + } //閫氱敤淇℃伅 var btnGeneral = new FrameRowControl(listview.rowSpace / 2); @@ -136,22 +213,27 @@ btnNewVersion.Visible = false; btnNewVersion.X = Application.GetRealWidth(242); btnNewVersion.Y = Application.GetRealHeight(23); - rowUpDate.AddChidren(btnNewVersion, ChidrenBindMode.BindEventOnly); + rowUpDate.AddChidren(btnNewVersion, ChidrenBindMode.BindEvent); rowUpDate.ButtonClickEvent += (sender, e) => { btnNewVersion.Visible = false; - var form = new GatewayUpdate.GatewayFirmwareInfoForm(); + var form = new GatewayUpdate.GatewayFirmwareUpdateForm(); form.AddForm(zbGateway); }; //鍒濆鍖栨甯冨畬鎴� - tableContr.FinishInitControl(bodyFrameLayout, this.listview); + tableContr.FinishInitControl(); tableContr = null; //淇濆瓨 var btnFinish = new BottomClickButton(); btnFinish.TextID = R.MyInternationalizationString.uSave; bodyFrameLayout.AddChidren(btnFinish); + //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫 + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + btnFinish.CanClick = false; + } btnFinish.ButtonClickEvent += (sender, e) => { string oldName = HdlGatewayLogic.Current.GetGatewayName(zbGateway); @@ -162,7 +244,7 @@ if (oldName != btnNote.Text) { //淇敼鍚嶅瓧 - this.SetGatewayName(btnNote.Text, false); + this.SetGatewayName(btnNote.Text, true); } else { @@ -171,11 +253,15 @@ } }; - HdlThreadLogic.Current.RunThread(() => + //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶉渶瑕佹娴� + if (Common.Config.Instance.Home.IsShowTemplate == false) { - //妫�娴嬫柊鐗堟湰 - this.CheckNewVersion(btnNewVersion, btnType); - }); + HdlThreadLogic.Current.RunThread(() => + { + //妫�娴嬫柊鐗堟湰 + this.CheckNewVersion(btnNewVersion); + }); + } } #endregion @@ -187,6 +273,11 @@ /// </summary> private void InitTopRightMenu() { + //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫 + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + return; + } var btnIcon = new MostRightIconControl(69, 69); btnIcon.UnSelectedImagePath = "Item/More.png"; topFrameLayout.AddChidren(btnIcon); @@ -203,8 +294,29 @@ /// </summary> private void ShowTopRightMenu() { - bool flage = UserCenterResourse.DicActionForm.ContainsKey("NewGateWayMenuSelectForm"); - var frame = new TopRightMenuControl(flage == true ? 1 : 3); + //鎼滅储缃戝叧鐨勬椂鍊�,涓嶈兘鍒犻櫎,涓嶇粰浠栧垏鎹�,鍙湁瀹氫綅鍔熻兘 + bool isSearchGw = HdlFormLogic.Current.IsFormOpen("NewGateWayMenuSelectForm"); + int menuCount = isSearchGw == true ? 1 : 3; + + bool canAddReplaceMenu = false; + //鑾峰彇鏈湴缃戝叧 + var listGateway = HdlGatewayLogic.Current.GetAllLocalGateway(); + foreach (var gw in listGateway) + { + if (gw.GwId != this.zbGateway.GwId && gw.LinuxImageType == this.zbGateway.LinuxImageType) + { + //濡傛灉鏄悓涓�绉嶇被鍨嬬殑缃戝叧,鍏佽鍑虹幇鏇挎崲鑿滃崟 + canAddReplaceMenu = true; + break; + } + } + if (canAddReplaceMenu == true + && Common.Config.Instance.Home.IsShowTemplate == false + && Common.Config.Instance.Home.IsVirtually == false) + { + //menuCount++; + } + var frame = new TopRightMenuControl(menuCount, 1); //瀹氫綅 string MenuName = Language.StringByID(R.MyInternationalizationString.uFixedPosition); frame.AddRowMenu(MenuName, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () => @@ -212,53 +324,60 @@ //鍙戦�佸畾浣嶅姛鑳� HdlGatewayLogic.Current.SetFixedPositionCommand(zbGateway); }); - if (flage == true) - { - //鎼滅储缃戝叧鐨勬椂鍊�,涓嶈兘鍒犻櫎,涓嶇粰浠栧垏鎹� - return; - } - //鍒囨崲 - MenuName = Language.StringByID(R.MyInternationalizationString.uSwitch1); - string strWayId = HdlGatewayLogic.Current.GetGatewayId(zbGateway); - if (strWayId == GatewayResourse.AppOldSelectGatewayId) + //鎼滅储缃戝叧鐨勬椂鍊�,涓嶈兘鍒犻櫎,涓嶇粰浠栧垏鎹� + if (isSearchGw == false) { - 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) + //鍒囨崲 + MenuName = Language.StringByID(R.MyInternationalizationString.uSwitch1); + string strWayId = this.zbGateway.GwId; + if (strWayId == HdlGatewayResourse.AppOldSelectGatewayId) { - //鏄惁閲嶆柊鍒锋柊{0}缃戝叧? - msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToRefreshTheGateway), "[" + nameValue + "]"); + MenuName = Language.StringByID(R.MyInternationalizationString.uRefresh); } - this.ShowMassage(ShowMsgType.Confirm, msg, () => + frame.AddRowMenu(MenuName, "Item/GwSwitchIcon.png", "Item/GwSwitchIconSelected.png", () => { - HdlThreadLogic.Current.RunThread(() => + string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway); + //鏄惁鍒囨崲鍒皗0}缃戝叧? + string msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToSwitchTheGateway), "[" + nameValue + "]"); + if (strWayId == HdlGatewayResourse.AppOldSelectGatewayId) { - //鎵ц鍒囨崲缃戝叧鎿嶄綔 - this.DoSwitchGateway(); + //鏄惁閲嶆柊鍒锋柊{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) + //鍒犻櫎 + MenuName = Language.StringByID(R.MyInternationalizationString.uDelete); + frame.AddRowMenu(MenuName, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () => { - msg = string.Format(msg, "\r\n"); - } - this.ShowMassage(ShowMsgType.Confirm, msg, () => - { - this.DeleteGateway(strWayId); + //濡傜Щ闄ょ綉鍏筹紝璇ョ綉鍏崇粦瀹氱殑璁惧鍒楄〃{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); + }); }); - }); + } + //if (canAddReplaceMenu == true) + //{ + // //鏇挎崲 + // MenuName = Language.StringByID(R.MyInternationalizationString.uReplace); + // frame.AddRowMenu(MenuName, null, "Item/ReplaceIconSelected.png", () => + // { + // }); + //} } #endregion @@ -268,55 +387,25 @@ /// 妫�娴嬫柊鐗堟湰 /// </summary> /// <param name="btnNewVersion">鎻愮ず鏈夋柊鐗堟湰鐨勬帶浠�</param> - /// <param name="btnType">缃戝叧绫诲瀷鎺т欢</param> - private async void CheckNewVersion(PicViewControl btnNewVersion, FrameCaptionViewControl btnType) + private void CheckNewVersion(PicViewControl btnNewVersion) { //鑾峰彇缃戝叧鐗堟湰淇℃伅 - var result = await HdlGatewayLogic.Current.GetGatewayAllNewVersion(this.zbGateway); + var result = HdlGatewayLogic.Current.GetGatewayAllNewVersion(this.zbGateway, ShowErrorMode.NO); if (result == null) { return; } - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { if (this.Parent != null) { - HdlGatewayLogic.Current.SetGatewayImageText(btnType.txtView, this.zbGateway); if (result[0] != null || result[1] != null || result[2] != null) { //鎻愮ず鏈夋柊鐗堟湰 btnNewVersion.Visible = true; } } - }); - } - - #endregion - - #region 鈻� 瀹屾垚鎸夐挳鎸変笅_______________________ - - /// <summary> - /// 瀹屾垚鎸夐挳鎸変笅 - /// </summary> - /// <param name="gatewayName">缃戝叧鍚�</param> - private void FinishButtonClick(string gatewayName) - { - if (string.IsNullOrEmpty(gatewayName) == true) - { - //璇疯緭鍏ョ綉鍏冲悕绉� - string msg = Language.StringByID(R.MyInternationalizationString.uGatewayNameMastInput); - this.ShowMassage(ShowMsgType.Error, msg); - return; - } - string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway); - if (nameValue == gatewayName) - { - //鍚屽悕涓嶉渶瑕佸鐞� - this.CloseForm(); - return; - } - //淇敼鍚嶅瓧 - this.SetGatewayName(gatewayName, true); + }, ShowErrorMode.NO); } #endregion @@ -327,10 +416,10 @@ /// 璁剧疆缃戝叧鍚嶅瓧 /// </summary> /// <param name="gatewayName">缃戝叧鍚嶇О</param> - private async void SetGatewayName(string gatewayName, bool closeForm) + private void SetGatewayName(string gatewayName, bool closeForm) { //淇敼缃戝叧鍚� - var result = await HdlGatewayLogic.Current.ReName(zbGateway, gatewayName); + var result = HdlGatewayLogic.Current.ReName(zbGateway, gatewayName); //缃戝叧淇敼澶辫触 if (result == false) { @@ -351,10 +440,9 @@ /// </summary> /// <param name="gatewayId"></param> /// <param name="online"></param> - private async void DoSwitchGateway() + private void DoSwitchGateway() { - string gatewayId = HdlGatewayLogic.Current.GetGatewayId(zbGateway); - var result = await HdlGatewayLogic.Current.DoSwitchGateway(gatewayId); + var result = HdlGatewayLogic.Current.DoSwitchGateway(zbGateway.GwId); if (result == false) { return; @@ -366,13 +454,13 @@ this.CloseForm(); //鍏抽棴鎸囧畾鐣岄潰(缃戝叧鎼滅储) - this.CloseFormByFormName("GatewaySearchListForm"); - this.CloseFormByFormName("NewGateWayMenuSelectForm"); + HdlFormLogic.Current.CloseFormByFormName("GatewaySearchListForm"); + HdlFormLogic.Current.CloseFormByFormName("NewGateWayMenuSelectForm"); //鍏抽棴鎸囧畾鐣岄潰(缃戝叧缂栬緫) - this.CloseFormByFormName("GatewayListForm"); + HdlFormLogic.Current.CloseFormByFormName("GatewayListForm"); - if (UserCenterResourse.DicActionForm.ContainsKey("DeviceListMainForm") == false) + if (HdlFormLogic.Current.IsFormOpen("DeviceListMainForm") == false) { //鍒锋柊涓荤敾闈� var form = new Device.DeviceListMainForm(); @@ -381,7 +469,7 @@ else { //鍒锋柊涓荤敾闈�(涓嶉噸鏂拌幏鍙栬澶囩姸鎬�) - this.LoadFormMethodByName("DeviceListMainForm", "InitMiddleFrame", false); + this.LoadFormMethodByName("DeviceListMainForm", "InitMiddleFrame"); } }); } @@ -395,21 +483,32 @@ /// </summary> /// <param name="strWayId"></param> /// <param name="row"></param> - private async void DeleteGateway(string strWayId) + private void DeleteGateway(string strWayId) { - //鍒犻櫎浜戠缃戝叧 - bool result = await HdlGatewayLogic.Current.DeleteGateway(strWayId); - if (result == false) + HdlThreadLogic.Current.RunThread(() => { - return; - } + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); - if (strWayId == GatewayResourse.AppOldSelectGatewayId) - { - HdlGatewayLogic.Current.SaveGatewayIdToLocation(string.Empty); - } - //鍏抽棴鑷韩 - this.CloseForm(); + //鍒犻櫎浜戠缃戝叧 + bool result = HdlGatewayLogic.Current.DeleteGateway(strWayId); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + if (result == false) + { + return; + } + + if (strWayId == HdlGatewayResourse.AppOldSelectGatewayId) + { + HdlGatewayLogic.Current.SaveGatewayIdToLocation(string.Empty); + } + HdlThreadLogic.Current.RunMain(() => + { + //鍏抽棴鑷韩 + this.CloseForm(); + }); + }); } #endregion -- Gitblit v1.8.0