From 71f1df7772feec5cf83feefa851608adac18e005 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期三, 06 十一月 2019 17:45:23 +0800
Subject: [PATCH] 2019.11.6
---
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