using System;
using System.Collections.Generic;
namespace Shared.Phone.UserCenter.User
{
///
/// 个人中心主画面
///
public class UserMainForm : UserCenterCommonForm
{
#region ■ 变量声明___________________________
///
/// 个人布局的FrameLayout
///
private SpecialFrameLayout persionFrameLayout = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建),
/// 注意:因为外面的框架问题,在外面不能使用底层的方法
/// 不然,可能会有些共通参数出错
///
public void ShowForm()
{
//特殊处理:恢复可关闭进度条,别问为什么,我也不知道为什么,以防万一而已
ProgressBar.SetCloseBarFlag(false);
//复原管理员标识
Common.Config.Instance.isAdministrator = false;
//初始化框架
this.InitForm();
//移除返回键
base.RemoveBackButton();
//设定标题
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.UserCenter));
//底层固定了加上底部的高度,这个画面需要显示底部,所以要减去底部高度
bodyFrameLayout.Height -= ControlCommonResourse.BottomFrameHeight;
//为了能够显示模块图样
bodyFrameLayout.BackgroundColor = UserCenterColor.Current.TopFrameLayout;
//初始化中部控件
this.InitMiddleFrame();
}
///
/// 初始化中部控件
///
private void InitMiddleFrame()
{
bodyFrameLayout.RemoveAll();
//初始化个人图标FrameLayout
this.InitPersionFrameLayout();
//初始化菜单列表的FrameLayout
this.InitMenuFrameLayout();
}
///
/// 初始化个人布局的FrameLayout
///
private void InitPersionFrameLayout()
{
persionFrameLayout = new SpecialFrameLayout(260, 30);
persionFrameLayout.BackgroundColor = UserCenterColor.Current.BodyFrameLayout;
bodyFrameLayout.AddChidren(persionFrameLayout);
//用户头像
var btnUserIcon = new ProfilePhotoControl();
btnUserIcon.X = ControlCommonResourse.XXLeft;
btnUserIcon.Gravity = Gravity.CenterVertical;
btnUserIcon.UnSelectedImagePath = "Account/Admin.png";
persionFrameLayout.AddChidren(btnUserIcon);
var frameStatu = new StatuFrameLayout(ControlCommonResourse.NormalControlHeight * 2, false);
frameStatu.X = btnUserIcon.Right + Application.GetRealWidth(50);
frameStatu.Gravity = Gravity.CenterVertical;
frameStatu.BackgroundColor = UserCenterColor.Current.BodyFrameLayout;
persionFrameLayout.AddChidren(frameStatu, HeightAutoMode.IncreaseOnly);
//用户昵称
var btnUserName = new ViewNormalControl(800, true);
if (UserCenterResourse.UserInfo != null)
{
btnUserName.Text = UserCenterResourse.UserInfo.UserName;
}
frameStatu.AddChidren(btnUserName);
//用户身份
var btnAuthority = new ViewNormalControl(800, true);
btnAuthority.Y = btnUserName.Bottom;
btnAuthority.TextColor = UserCenterColor.Current.Gray;
if (UserCenterResourse.UserInfo != null)
{
btnAuthority.Text = UserCenterResourse.UserInfo.AuthorityText;
}
frameStatu.AddChidren(btnAuthority);
//右图标
var btnRight = new RowRightIconView();
frameStatu.AddChidren(btnRight);
//左边有个头像,所以它移动位置了
btnRight.X -= frameStatu.X;
//单击事件
frameStatu.MouseUpEvent += (sender, e) =>
{
var form = new UserInformationForm();
base.AddForm(form);
};
}
///
/// 初始化菜单列表的FrameLayout
///
private void InitMenuFrameLayout()
{
var frameLayout = new FrameLayout();
frameLayout.Height = bodyFrameLayout.Height - persionFrameLayout.Height - Application.GetRealHeight(50);
frameLayout.BackgroundColor = UserCenterColor.Current.BodyFrameLayout;
frameLayout.Y = persionFrameLayout.Bottom + Application.GetRealHeight(50);
bodyFrameLayout.AddChidren(frameLayout);
var listView = new VerticalScrolViewLayout();
listView.Height = frameLayout.Height;
frameLayout.AddChidren(listView);
//添加菜单到MenuFrameLayout
this.AddRowToMenuFrameLayout(listView);
}
#endregion
#region ■ 添加菜单___________________________
///
/// 添加菜单到MenuFrameLayout
///
/// listView
private void AddRowToMenuFrameLayout(VerticalScrolViewLayout listView)
{
//成员管理
StatuRowLayout rowLayout = null;
string unSelectPic = "Center/MenberManagement.png";
string selectPic = "Center/MenberManagementSelected.png";
int TextID = R.MyInternationalizationString.MenberManagement;
if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
{
//添加控件
rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic);
rowLayout.MouseUpEvent += (sender, e) =>
{
//高胜的接口不用特殊Token
Common.Config.Instance.isAdministrator = false;
var form = new Member.MemberListForm();
base.AddForm(form);
};
}
//设备管理
rowLayout = null;
unSelectPic = "Center/DeviceManagement.png";
selectPic = "Center/DeviceManagementSelected.png";
TextID = R.MyInternationalizationString.DeviceManagement;
if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
{
//添加控件
rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic);
rowLayout.MouseUpEvent += (sender, e) =>
{
if (UserCenterResourse.UserInfo.AuthorityNo == 2)
{
//启用管理员标识
Common.Config.Instance.isAdministrator = true;
}
Common.LocalGateway.Current.RefreshAppOldSelectGatewayId();
if (string.IsNullOrEmpty(GatewayResourse.AppOldSelectGatewayId) == false)
{
var form = new Device.DeviceManagementMainForm();
base.AddForm(form);
}
else
{
var form = new Gateway.GatewayManagementForm();
base.AddForm(form);
}
};
}
else if (UserCenterResourse.UserInfo.AuthorityNo == 3)
{
//添加控件
rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic);
rowLayout.MouseUpEvent += (sender, e) =>
{
var form = new DeviceShard.ShardDeviceManagementMainForm();
base.AddForm(form);
};
}
//住宅管理
rowLayout = null;
unSelectPic = "Center/ResidenceManagement.png";
selectPic = "Center/ResidenceManagementSelected.png";
TextID = R.MyInternationalizationString.ResidenceManagement;
if (UserCenterResourse.UserInfo.AuthorityNo == 1)
{
//添加控件
rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic);
rowLayout.MouseUpEvent += (sender, e) =>
{
//住宅接口不需要特殊的登陆Token
var form = new Residence.ResidenceManagementForm();
base.AddForm(form);
};
}
//安防管理
rowLayout = null;
unSelectPic = "Center/SafetyManagement.png";
selectPic = "Center/SafetyManagementSelected.png";
TextID = R.MyInternationalizationString.SafetyManagement;
//这个账号拥有网关的情况下,才显示这个菜单
if (Common.LocalGateway.Current.GetAllLocalGateway().Count > 0)
{
//添加控件
rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic);
rowLayout.MouseUpEvent += (sender, e) =>
{
if (UserCenterResourse.UserInfo.AuthorityNo == 2)
{
//启用管理员标识
Common.Config.Instance.isAdministrator = true;
}
var form = new Safety.SafetyManagementMainForm();
base.AddForm(form);
};
}
//数据备份
rowLayout = null;
unSelectPic = "Center/Backup.png";
selectPic = "Center/BackupSelected.png";
TextID = R.MyInternationalizationString.uDataBackup;
if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
{
//添加控件
rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic);
rowLayout.MouseUpEvent += (sender, e) =>
{
if (UserCenterResourse.UserInfo.AuthorityNo == 2)
{
//启用管理员标识
Common.Config.Instance.isAdministrator = true;
}
var form = new HdlBackup.HdlBackupMenuForm();
this.AddForm(form);
};
}
//意见反馈
rowLayout = null;
unSelectPic = "Center/Opinion.png";
selectPic = "Center/OpinionSelected.png";
TextID = R.MyInternationalizationString.Suggestions;
//添加控件
//rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic);
//rowLayout.MouseUpEvent += (sender, e) =>
//{
// var form = new User.NotFunctionForm();
// this.AddForm(form);
//};
//关于
rowLayout = null;
unSelectPic = "Center/Abount.png";
selectPic = "Center/AbountSelected.png";
TextID = R.MyInternationalizationString.uAbout;
//添加控件
rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic);
rowLayout.MouseUpEvent += (sender, e) =>
{
Common.Config.Instance.isAdministrator = false;
var form = new Abount.AbountForm();
this.AddForm(form);
};
}
#endregion
#region ■ 添加行_____________________________
///
/// 添加行
///
/// The row layout.
/// listView
/// TextID
/// 图片对象
/// 图片对象
private StatuRowLayout AddRowLayout(VerticalScrolViewLayout listView, int textId, string UnSelectPic, string SelectPic)
{
var rowLayout = new StatuRowLayout(listView);
//图标
var btnIcon = new RowLeftIconView();
btnIcon.UnSelectedImagePath = UnSelectPic;
btnIcon.SelectedImagePath = SelectPic;
rowLayout.AddChidren(btnIcon);
//文字
var btnText = new RowCenterView();
btnText.TextID = textId;
rowLayout.AddChidren(btnText);
return rowLayout;
}
#endregion
#region ■ 界面重新激活事件___________________
///
/// 自身的上层界面关闭后,它自身处于最上层时,触发的事件
///
public override void FormActionAgainEvent()
{
//复原管理员标识
Common.Config.Instance.isAdministrator = false;
//重新刷新界面
this.InitMiddleFrame();
}
#endregion
}
}