using System;
|
using System.Collections.Generic;
|
using System.Threading.Tasks;
|
using ZigBee.Device;
|
|
namespace Shared.Phone.UserCenter.Direction
|
{
|
/// <summary>
|
/// 向网关添加设备的指示图画面
|
/// </summary>
|
public class AddDeviceDirectionForm : UserCenterCommonForm
|
{
|
/// <summary>
|
/// 设备类型
|
/// </summary>
|
private DeviceConcreteType deviceConcreteType = DeviceConcreteType.UnKownDevice;
|
|
/// <summary>
|
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
/// </summary>
|
/// <param name="i_deviceType">设备类型</param>
|
public void ShowForm(DeviceConcreteType i_deviceType)
|
{
|
this.deviceConcreteType = i_deviceType;
|
|
//设置标题信息
|
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddDevice));
|
|
//初始化中部控件
|
this.InitMiddleFrame();
|
}
|
|
/// <summary>
|
/// 初始化中部控件
|
/// </summary>
|
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<MsgViewControl> 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);
|
};
|
}
|
|
/// <summary>
|
/// 初始化提示信息控件
|
/// </summary>
|
/// <param name="width"></param>
|
/// <param name="XX"></param>
|
/// <param name="YY"></param>
|
/// <returns></returns>
|
private List<MsgViewControl> GetMsgControl(int width, int XX, int YY)
|
{
|
List<MsgViewControl> list = new List<MsgViewControl>();
|
MsgViewControl btnText = null;
|
//设置提示信息
|
List<string> 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;
|
}
|
|
/// <summary>
|
/// 获取指定设备类型的操作步骤
|
/// </summary>
|
/// <returns></returns>
|
private List<string> GetDirectionMsg()
|
{
|
List<string> listMsg = new List<string>();
|
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;
|
}
|
}
|
}
|