using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.Direction
{
///
/// 向网关添加设备的指示图画面
///
public class AddDeviceDirectionForm : UserCenterCommonForm
{
///
/// 设备类型
///
private DeviceConcreteType deviceConcreteType = DeviceConcreteType.UnKownDevice;
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 设备类型
public void ShowForm(DeviceConcreteType i_deviceType)
{
this.deviceConcreteType = i_deviceType;
//设置标题信息
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddDevice));
//初始化中部控件
this.InitMiddleFrame();
}
///
/// 初始化中部控件
///
private void InitMiddleFrame()
{
//进度条一样的东西,没什么逻辑
ProgressLine line = new ProgressLine();
bodyFrameLayout.AddChidren(line);
line.SetValue(45);
//图标
var btnimage = new PicViewControl(915, 492);
btnimage.Y = Application.GetRealHeight(80);
btnimage.Gravity = Gravity.CenterHorizontal;
btnimage.UnSelectedImagePath = "Instruct/" + this.deviceConcreteType.ToString().Replace("_", string.Empty) + ".png";
bodyFrameLayout.AddChidren(btnimage);
//入网步骤提示控件
List listMsgContr = this.GetMsgControl(btnimage.Width, btnimage.X, btnimage.Bottom + Application.GetRealHeight(60));
foreach (MsgViewControl msgView in listMsgContr)
{
bodyFrameLayout.AddChidren(msgView);
}
//下一步
var btnNext = new BottomClickButton();
btnNext.TextID = R.MyInternationalizationString.uNextway;
bodyFrameLayout.AddChidren(btnNext);
btnNext.MouseUpEventHandler += (sender, e) =>
{
var form = new Device.SearchDeviceForm();
this.AddForm(form);
};
}
///
/// 初始化提示信息控件
///
///
///
///
///
private List GetMsgControl(int width, int XX, int YY)
{
List list = new List();
MsgViewControl btnText = null;
//设置提示信息
List listmsg = this.GetDirectionMsg();
foreach (string msg in listmsg)
{
int YPoint = YY;
if (btnText != null)
{
YPoint = btnText.Bottom;
}
btnText = new MsgViewControl(width, Application.GetRealHeight(100));
btnText.X = XX;
btnText.Y = YPoint;
btnText.TextAlignment = TextAlignment.CenterLeft;
btnText.Text = msg;
bodyFrameLayout.AddChidren(btnText);
}
return list;
}
///
/// 获取指定设备类型的操作步骤
///
///
private List GetDirectionMsg()
{
List listMsg = new List();
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAccessStepsMsg));
//智能空气开关
if (this.deviceConcreteType == DeviceConcreteType.CloudContr_AirSwitch)
{
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAirSwitchDirectionMsg1));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAirSwitchDirectionMsg2));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAirSwitchDirectionMsg3));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAirSwitchDirectionMsg4));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAirSwitchDirectionMsg5));
}
//窗帘电机
else if (this.deviceConcreteType == DeviceConcreteType.AutoOpen_Curtain)
{
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAutoOpenCurtainDirectionMsg1));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAutoOpenCurtainDirectionMsg2));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAutoOpenCurtainDirectionMsg3));
}
//2按键面板
else if (this.deviceConcreteType == DeviceConcreteType.Two_ButtonPanel)
{
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uTwoButtonPanelDirectionMsg1));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uTwoButtonPanelDirectionMsg2));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uTwoButtonPanelDirectionMsg3));
}
//3按键面板
else if (this.deviceConcreteType == DeviceConcreteType.Three_ButtonPanel)
{
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uThreeButtonPanelDirectionMsg1));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uThreeButtonPanelDirectionMsg2));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uThreeButtonPanelDirectionMsg3));
}
//4按键面板
else if (this.deviceConcreteType == DeviceConcreteType.Four_ButtonPanel)
{
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uFourButtonPanelDirectionMsg1));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uFourButtonPanelDirectionMsg2));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uFourButtonPanelDirectionMsg3));
}
//红外传感器
else if (this.deviceConcreteType == DeviceConcreteType.Pir_Sensor)
{
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uInfraredSensorDirectionMsg1));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uInfraredSensorDirectionMsg2));
listMsg.Add(Language.StringByID(R.MyInternationalizationString.uInfraredSensorDirectionMsg3));
}
return listMsg;
}
}
}