using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DevicePirSensor
{
///
/// pir传感器的调光模式的配置界面
///
public class PirSensorDimmingModeForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 传感器的配置信息
///
private IASZone.ConfigureParamates pirConfigure = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 传感器的配置信息
public void ShowForm(IASZone.ConfigureParamates i_pirConfigure)
{
this.pirConfigure = i_pirConfigure;
//设置头部信息
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDimmingMode));
//初始化中部信息
this.InitMiddleFrame();
}
///
/// 初始化中部信息
///
private void InitMiddleFrame()
{
//清空bodyFrame
this.ClearBodyFrame();
var frameBack = new FrameLayout();
frameBack.Height = Application.GetRealHeight(11);
frameBack.BackgroundColor = UserCenterColor.Current.White;
bodyFrameLayout.AddChidren(frameBack);
var listView = new VerticalListControl(12);
listView.Height = Application.GetRealHeight(700);
listView.Y = frameBack.Bottom;
listView.BackgroundColor = UserCenterColor.Current.White;
bodyFrameLayout.AddChidren(listView);
//添加开灯亮度行
this.AddTurnOnBrightnessRow(listView);
//添加慢启动行
this.AddSlowStartupRow(listView);
//添加慢关闭行
this.AddSlowCloseRow(listView);
//调整高度
listView.AdjustRealHeight(Application.GetRealHeight(23));
//保存
var btnSave = new BottomClickButton();
btnSave.TextID = R.MyInternationalizationString.uSave;
bodyFrameLayout.AddChidren(btnSave);
btnSave.ButtonClickEvent += (sender, e) =>
{
this.CloseForm();
};
}
#endregion
#region ■ 开灯亮度___________________________
///
/// 添加开灯亮度行
///
///
private void AddTurnOnBrightnessRow(VerticalListControl listView)
{
var listSelect = new List();
for (int i = 10; i <= 100; i += 10)
{
listSelect.Add(i + "%");
}
//让它处于10的整倍数
this.pirConfigure.dimmerLevel = (this.pirConfigure.dimmerLevel / 10) * 10;
int index = listSelect.IndexOf(this.pirConfigure.dimmerLevel + "%");
//开灯亮度
var row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
var btnCaption1 = row1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uTurnOnBrightness), 400);
btnCaption1.TextSize = 15;
row1.AddRightArrow();
var btnStatu = row1.AddMostRightView(pirConfigure.dimmerLevel + "%", 400);
row1.AddBottomLine();
row1.ButtonClickEvent += (sender, e) =>
{
PickerView.Show(listSelect, (value) =>
{
btnStatu.Text = listSelect[value];
pirConfigure.dimmerLevel = Convert.ToInt32(listSelect[value].Replace("%", string.Empty));
}, index == -1 ? 0 : index, Language.StringByID(R.MyInternationalizationString.uBrightness),
Language.StringByID(R.MyInternationalizationString.uFinish),
Language.StringByID(R.MyInternationalizationString.uCancel));
};
}
#endregion
#region ■ 慢启动_____________________________
///
/// 添加慢启动行
///
///
private void AddSlowStartupRow(VerticalListControl listView)
{
var listTime = new List();
var miao = Language.StringByID(R.MyInternationalizationString.uSecond);
for (int i = 0; i <= 10; i++)
{
listTime.Add(i + miao);
}
int index = listTime.IndexOf(this.pirConfigure.dimmerOnTime + miao);
//慢启动
var row2 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row2);
var btnCaption2 = row2.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSlowStartup), 400);
btnCaption2.TextSize = 15;
row2.AddRightArrow();
var btnStatu2 = row2.AddMostRightView(pirConfigure.dimmerOnTime + miao, 400);
row2.AddBottomLine();
row2.ButtonClickEvent += (sender, e) =>
{
PickerView.Show(listTime, (value) =>
{
btnStatu2.Text = listTime[value];
pirConfigure.dimmerOnTime = Convert.ToInt32(listTime[value].Replace(miao, string.Empty));
}, index == -1 ? 0 : index, btnCaption2.Text,
Language.StringByID(R.MyInternationalizationString.uFinish),
Language.StringByID(R.MyInternationalizationString.uCancel));
};
}
#endregion
#region ■ 慢关闭_____________________________
///
/// 添加慢关闭行
///
///
private void AddSlowCloseRow(VerticalListControl listView)
{
var listTime = new List();
var miao = Language.StringByID(R.MyInternationalizationString.uSecond);
for (int i = 0; i <= 10; i++)
{
listTime.Add(i + miao);
}
int index = listTime.IndexOf(this.pirConfigure.dimmerOffTime + miao);
//慢关闭
var row3 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row3);
var btnCaption3 = row3.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSlowClose), 400);
btnCaption3.TextSize = 15;
row3.AddRightArrow();
var btnStatu3 = row3.AddMostRightView(pirConfigure.dimmerOffTime + miao, 400);
row3.ButtonClickEvent += (sender, e) =>
{
PickerView.Show(listTime, (value) =>
{
btnStatu3.Text = listTime[value];
pirConfigure.dimmerOffTime = Convert.ToInt32(listTime[value].Replace(miao, string.Empty));
}, index == -1 ? 0 : index, btnCaption3.Text,
Language.StringByID(R.MyInternationalizationString.uFinish),
Language.StringByID(R.MyInternationalizationString.uCancel));
};
}
#endregion
}
}