using System;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DevicePanel
{
///
/// 方悦新风面板的按键配置界面
///
public class PanelFangyueFreshAirButtonSettionForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 列表控件
///
private FrameListControl listview = null;
///
/// 设备的某一回路
///
private CommonDevice deviceObj = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 设备的某一回路
public void ShowForm(CommonDevice i_device)
{
this.deviceObj = i_device;
//设置头部信息
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uPanelSettion));
//初始化中部信息
this.InitMiddleFrame();
//初始化右上角菜单
this.InitTopRightMenu();
}
///
/// 初始化中部信息
///
private void InitMiddleFrame()
{
//清空bodyFrame
this.ClearBodyFrame();
var listBackControl = new VerticalFrameControl();
listBackControl.Height = bodyFrameLayout.Height;
bodyFrameLayout.AddChidren(listBackControl);
//图片
var btnPic = new PicViewControl(426, 426);
btnPic.Y = Application.GetRealHeight(150);
btnPic.UnSelectedImagePath = "RealDevice/ButtonPanelFangyueFreshAir.png";
btnPic.Gravity = Gravity.CenterHorizontal;
listBackControl.frameTable.AddChidren(btnPic);
//初始化桌布
var tableContr = new InformationEditorControl();
this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028);
//初始化菜单行
this.InitMenuRow();
//初始化桌布完成
tableContr.FinishInitControl();
tableContr = null;
//保存
var btnFinish = new BottomClickButton();
btnFinish.TextID = R.MyInternationalizationString.uSave;
bodyFrameLayout.AddChidren(btnFinish);
btnFinish.ButtonClickEvent += (sender, e) =>
{
//关闭自身
this.CloseForm();
};
}
///
/// 初始化菜单行
///
private void InitMenuRow()
{
this.listview.RemoveAll();
//添加新风目标
this.AddFreshAirRow();
//PM2.5来源
//this.AddPMRow();
//添加温度来源
//this.AddTemperatureSensorRow();
//添加湿度来源
//this.AddHumiditySourceRow();
//添加新风目标
//this.AddPMRow();
//亮度调节
this.AddLevelRow();
}
#endregion
#region ■ 新风目标_________________________
///
/// 新风目标行
///
private void AddFreshAirRow()
{
//新风目标
var rowNewWind = new FrameRowControl(listview.rowSpace / 2);
listview.AddChidren(rowNewWind);
rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNewWindTarget), 600);
//底线
rowNewWind.AddBottomLine();
//右箭头
rowNewWind.AddRightArrow();
var msg = Language.StringByID(R.MyInternationalizationString.nothing);
// 回调新风绑定目标
var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700);
rowNewWind.ButtonClickEvent += (sender, e) =>
{
//var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 1);
//Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
//Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
//addDevicePage.Show();
var form = new PanelFangyueFreshAirTargetForm();
form.AddForm(this.deviceObj, string.Empty, 3);
};
}
#endregion
#region ■ PM2.5来源_________________________
///
/// PM2.5来源行
///
private void AddPMRow()
{
//PM2.5
var rowNewWind = new FrameRowControl(listview.rowSpace / 2);
listview.AddChidren(rowNewWind);
rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.PM25Source), 600);
//底线
rowNewWind.AddBottomLine();
//右箭头
rowNewWind.AddRightArrow();
var msg = Language.StringByID(R.MyInternationalizationString.nothing);
// 回调PM2.5来源绑定目标
var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700);
rowNewWind.ButtonClickEvent += (sender, e) =>
{
var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 4);
Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
addDevicePage.Show();
};
}
#endregion
#region ■ 温度来源_________________________
///
/// 温度来源行
///
private void AddTemperatureSensorRow()
{
//温度来源
var rowNewWind = new FrameRowControl(listview.rowSpace / 2);
listview.AddChidren(rowNewWind);
rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.TemperatureSource), 600);
//底线
rowNewWind.AddBottomLine();
//右箭头
rowNewWind.AddRightArrow();
var msg = Language.StringByID(R.MyInternationalizationString.nothing);
// 回调温度来源绑定目标
var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700);
rowNewWind.ButtonClickEvent += (sender, e) =>
{
var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 2);
Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
addDevicePage.Show();
};
}
#endregion
#region ■ 湿度来源_________________________
///
/// 湿度来源行
///
private void AddHumiditySourceRow()
{
//湿度
var rowNewWind = new FrameRowControl(listview.rowSpace / 2);
listview.AddChidren(rowNewWind);
rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.HumiditySource), 600);
//底线
rowNewWind.AddBottomLine();
//右箭头
rowNewWind.AddRightArrow();
var msg = Language.StringByID(R.MyInternationalizationString.nothing);
// 回调湿度来源绑定目标
var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700);
rowNewWind.ButtonClickEvent += (sender, e) =>
{
var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 3);
Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
addDevicePage.Show();
};
}
#endregion
#region ■ 亮度调节_________________________
///
/// 亮度调节行
///
private void AddLevelRow()
{
//亮度调节
var rowLight = new FrameRowControl(listview.rowSpace / 2);
listview.AddChidren(rowLight);
rowLight.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uLightRegulation), 600);
//底线
rowLight.AddBottomLine();
//右箭头
rowLight.AddRightArrow();
rowLight.ButtonClickEvent += (sender, e) =>
{
//给新风面板建立一个新的支持面板对象,用200端点设置
var panel = new Panel();
panel.DeviceAddr = this.deviceObj.DeviceAddr;
panel.DeviceEpoint = 200;
panel.CurrentGateWayId = this.deviceObj.CurrentGateWayId;
var form = new PanelFangyueFreshAirBackLightSettionForm();
form.AddForm(panel);
};
}
#endregion
#region ■ 右上角菜单_________________________
///
/// 初始化右上角菜单
///
private void InitTopRightMenu()
{
//检测此回路是否拥有定位功能
if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(deviceObj) == false)
{
return;
}
var btnIcon = new MostRightIconControl(69, 69);
btnIcon.UnSelectedImagePath = "Item/More.png";
topFrameLayout.AddChidren(btnIcon);
btnIcon.InitControl();
btnIcon.ButtonClickEvent += ((sender, e) =>
{
//显示右上角菜单界面
this.ShowTopRightMenu();
});
}
///
/// 显示右上角菜单界面
///
private void ShowTopRightMenu()
{
var frame = new TopRightMenuControl(1, 1);
//定位
string deviceMenu = Language.StringByID(R.MyInternationalizationString.uFixedPosition);
frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
{
//发送定位功能
Common.LocalDevice.Current.SetFixedPositionCommand(deviceObj);
});
}
#endregion
}
}