using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.HideOption
{
///
/// 隐匿功能的主界面
///
public class HideOptionMainForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 列表控件
///
private VerticalListRefreshControl listView = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
public void ShowForm()
{
//设置头部信息
base.SetTitleText("隐匿主界面");
listView = new VerticalListRefreshControl(23);
listView.BackgroundColor = UserCenterColor.Current.White;
listView.Height = bodyFrameLayout.Height;
bodyFrameLayout.AddChidren(listView);
listView.BeginHeaderRefreshingAction += () =>
{
//初始化中部信息
this.InitMiddleFrame();
listView.EndHeaderRefreshing();
};
//初始化中部信息
this.InitMiddleFrame();
}
///
/// 初始化中部信息
///
private void InitMiddleFrame()
{
listView.RemoveAll();
this.AddNormalRowControl("当前身份", 400, UserCenterResourse.UserInfo.AuthorityText, 400);
this.AddTopButtomRowControl("住宅ID", 400, Common.Config.Instance.Home.Id, 900);
this.AddTopButtomRowControl("账号GUID", 400, string.IsNullOrEmpty(Common.Config.Instance.Guid) == true ? Common.Config.Instance.Home.MainUserDistributedMark : Common.Config.Instance.Guid, 900);
this.AddNormalRowControl("住宅分享", 400, Common.Config.Instance.Home.IsOthreShare == true ? "是" : "否", 400);
this.AddNormalRowControl("账号类型", 400, Common.Config.Instance.Home.AccountType.ToString(), 400);
this.AddNormalRowControl("远程连接", 400, ZigBee.Device.ZbGateway.IsRemote == true ? "是" : "否", 400);
this.AddNormalRowControl("拥有远程权限", 400, ZigBee.Device.ZbGateway.AllowRemoteCtrl == true ? "是" : "否", 400);
this.AddNormalRowControl("WIFI变量", 400, Shared.Application.IsWifi == true ? "true" : "false", 400);
if (ZigBee.Common.Application.FindGateWaySocket.busSocket == null)
{
this.AddNormalRowControl("Socket链接", 400, "未初始化", 400);
}
else
{
this.AddNormalRowControl("Socket链接", 400, ZigBee.Common.Application.FindGateWaySocket.busSocket.Connected == true ? "true" : "false", 400);
}
int count = HdlGatewayLogic.Current.GetAllLocalGateway().Count;
var row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.UseClickStatu = false;
row1.AddLeftCaption("本地网关", 400);
if (count > 0)
{
row1.UseClickStatu = true;
row1.AddRightArrow();
row1.ButtonClickEvent += (sender, e) =>
{
var form = new HideOptionGatewayListForm();
form.AddForm(1);
};
}
row1.AddMostRightView(count + "个", 400);
row1.AddBottomLine();
count = ZigBee.Device.ZbGateway.GateWayList.Count;
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.UseClickStatu = false;
row1.AddLeftCaption("缓存中的网关", 400);
if (count > 0)
{
row1.UseClickStatu = true;
row1.AddRightArrow();
row1.ButtonClickEvent += (sender, e) =>
{
var form = new HideOptionGatewayListForm();
form.AddForm(2);
};
}
row1.AddMostRightView(count + "个", 400);
row1.AddBottomLine();
//检测能否广播得到网关
this.AddCheckReceviceGatewayRow();
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("查看缓存文件", 500);
row1.AddRightArrow();
row1.AddBottomLine();
row1.ButtonClickEvent += (sender, e) =>
{
var form = new HideOptionDirectoryListForm();
form.AddForm();
};
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("设备缓存变量", 500);
row1.AddRightArrow();
row1.AddBottomLine();
row1.ButtonClickEvent += (sender, e) =>
{
var form = new HideOptionMemoryListDeviceForm();
form.AddForm();
};
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("收集发送和接收的数据", 600);
row1.AddBottomLine();
var btnSwitchLog = row1.AddMostRightSwitchIcon();
btnSwitchLog.ButtonClickEvent += (sender, e) =>
{
if (btnSwitchLog.IsSelected == false)
{
this.ShowMassage(ShowMsgType.Confirm, "是否打开记录发送及接收数据的记录?", () =>
{
btnSwitchLog.IsSelected = true;
HdlFileLogic.Current.DeleteFile(DirNameResourse.SendAndReceveDataLog);
UserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 1;
});
}
else
{
btnSwitchLog.IsSelected = false;
var txtvalue = HdlFileLogic.Current.ReadFileTextContent(DirNameResourse.SendAndReceveDataLog);
if (txtvalue != null)
{
var form = new HideOptionFileContentForm();
form.AddForm(string.Empty);
form.SetTextContent(txtvalue);
}
}
};
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("上传Log", 500);
row1.AddRightArrow();
row1.ButtonClickEvent += (sender, e) =>
{
this.ShowMassage(ShowMsgType.Confirm, "是否上传Log文件", () =>
{
HdlThreadLogic.Current.RunThread(() =>
{
HdlBackupLogic.Current.UpLoadLogBackup();
});
});
};
listView.AdjustRealHeight(Application.GetRealHeight(23));
}
///
/// 添加行
///
///
///
///
///
private FrameRowControl AddNormalRowControl(string caption, int width1, string viewText, int width2)
{
var row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption(caption, width1);
row1.AddMostRightView(viewText, width2);
row1.AddBottomLine();
row1.UseClickStatu = false;
return row1;
}
///
/// 添加行
///
///
///
///
///
private FrameRowControl AddTopButtomRowControl(string caption, int width1, string viewText, int width2)
{
var row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddTopView(caption, width1);
row1.AddBottomView(viewText, width2);
row1.AddBottomLine();
row1.UseClickStatu = false;
return row1;
}
///
/// 检测能否广播得到网关
///
private void AddCheckReceviceGatewayRow()
{
var row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("检测能否广播得到网关", 700);
row1.AddRightArrow();
row1.AddBottomLine();
var btnCount = row1.AddMostRightView("", 400);
row1.ButtonClickEvent += (sender, e) =>
{
int waiteCount = 5;
this.ShowMassage(ShowMsgType.Confirm, "该操作将等待" + waiteCount + "秒,是否继续?", () =>
{
Shared.Phone.UserCenter.UserCenterResourse.DicReceiveGatewayTest = new Dictionary();
UserCenterResourse.HideOption.CheckCanReceiveGateway = 1;
HdlThreadLogic.Current.RunThread(() =>
{
while (waiteCount > 0)
{
HdlThreadLogic.Current.RunMain(() =>
{
btnCount.Text = "请等待" + waiteCount + "秒";
});
System.Threading.Thread.Sleep(1000);
waiteCount--;
}
HdlThreadLogic.Current.RunMain(() =>
{
btnCount.Text = string.Empty;
});
//结束
UserCenterResourse.HideOption.CheckCanReceiveGateway = 0;
if (Shared.Phone.UserCenter.UserCenterResourse.DicReceiveGatewayTest.Count == 0)
{
this.ShowMassage(ShowMsgType.Normal, "抱歉,没有广播到任何网关");
return;
}
HdlThreadLogic.Current.RunMain(() =>
{
var form = new HideOptionGatewayListForm();
form.AddForm(3);
});
});
});
};
}
#endregion
#region ■ 界面关闭___________________________
///
/// 界面关闭
///
public override void CloseFormBefore()
{
Shared.Phone.UserCenter.UserCenterResourse.DicReceiveGatewayTest = null;
UserCenterResourse.HideOption.CheckCanReceiveGateway = 0;
UserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 1;
base.CloseFormBefore();
}
#endregion
}
}