using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DeviceRelay
{
///
/// 三路继电器的背光灯设置
///
public class RelayThreeLoadBackLightSettionForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 亮度调节的信息
///
private Panel.PanelSwitchLevelInfo linghtLevelInfo = null;
///
/// 节能模式
///
private Panel.PanelSaveEnergyModeInfo energyModeInfo = null;
///
/// 设备列表
///
private List listDevice = null;
///
/// 数据是否变更
///
private bool valueChanged = false;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
public void ShowForm(string i_deviceMac)
{
this.ScrollEnabled = false;
this.listDevice = HdlDeviceCommonLogic.Current.GetDevicesByMac(i_deviceMac);
//设置头部信息
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uBackLight));
//初始化中部信息
this.InitMiddleFrame();
}
///
/// 初始化中部信息
///
private void InitMiddleFrame()
{
//获取设备初始数据
var result = this.GetDeviceDefultData();
if (result == false)
{
return;
}
//清空bodyFrame
this.ClearBodyFrame();
//点击状态
var btnClickStatu = new NormalViewControl(600, 49, true);
btnClickStatu.X = HdlControlResourse.XXLeft;
btnClickStatu.Y = Application.GetRealHeight(207);
btnClickStatu.TextSize = 12;
btnClickStatu.TextColor = UserCenterColor.Current.TextGrayColor3;
btnClickStatu.TextID = R.MyInternationalizationString.uClickStatu;
bodyFrameLayout.AddChidren(btnClickStatu);
//各种背光灯的容器
var frameLinght = new FrameLayout();
frameLinght.Height = Application.GetRealHeight(818);
frameLinght.Y = Application.GetRealHeight(279);
frameLinght.BackgroundColor = UserCenterColor.Current.White;
bodyFrameLayout.AddChidren(frameLinght);
//添加1-6干接点的背光灯进度条
this.AddSixDryContactProgress(frameLinght);
//第七干接点的背光灯进度条
this.AddSevenDryContactProgress(frameLinght);
//添加节能模式
this.AddEnergyConservationRow(btnClickStatu, frameLinght);
//保存
var btnSave = new BottomClickButton();
btnSave.TextID = R.MyInternationalizationString.uSave;
bodyFrameLayout.AddChidren(btnSave);
btnSave.ButtonClickEvent += (sender, e) =>
{
if (valueChanged == true)
{
this.ShowProgressBar();
//亮度调节更改(他们说随便一个回路就行)
result = HdlDevicePanelLogic.Current.SetDeviceLightSettion(listDevice[0], linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel);
if (result == false)
{
this.CloseProgressBar();
return;
}
//节能模式修改(他们说随便一个回路就行)
result = HdlDevicePanelLogic.Current.SetDeviceEnergyConservationMode(listDevice[0], energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level);
this.CloseProgressBar();
if (result == false)
{
return;
}
}
//关闭自身
this.CloseForm();
};
}
#endregion
#region ■ 节能模式行_________________________
///
/// 添加节能模式行
///
/// 点击状态控件(控件伸缩使用)
/// 各种背光灯的容器(控件伸缩使用)
private void AddEnergyConservationRow(NormalViewControl btnClickStatu, FrameLayout frameLinght)
{
//缩小:170 扩大:429
var frameBack = new FrameRowControl();
frameBack.BackgroundColor = UserCenterColor.Current.White;
frameBack.UseClickStatu = false;
frameBack.Height = Application.GetRealHeight(170);
bodyFrameLayout.AddChidren(frameBack);
//当前亮度(先声明,为了对应IOS的折叠后,没有完全遮挡的问题)
var btnProgressView1 = new NormalViewControl(200, 49, true);
var btnProgress1 = new NormalViewControl(200, 49, true);
//节能模式
frameBack.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uEnergyConservationMode), 400);
//开关控件
var btnSwitch = frameBack.AddMostRightSwitchIcon();
btnSwitch.ButtonClickEvent += (sender, e) =>
{
btnSwitch.IsSelected = !btnSwitch.IsSelected;
energyModeInfo.enable = btnSwitch.IsSelected;
//展开或者缩小的高度
var value = Application.GetRealHeight(259);
if (btnSwitch.IsSelected == true)
{
frameBack.Height += value;
btnClickStatu.Y += value;
frameLinght.Y += value;
btnProgressView1.Visible = true;
btnProgress1.Visible = true;
}
else
{
frameBack.Height -= value;
btnClickStatu.Y -= value;
frameLinght.Y -= value;
btnProgressView1.Visible = false;
btnProgress1.Visible = false;
}
//数据变更
valueChanged = true;
};
if (energyModeInfo.enable == true)
{
btnSwitch.IsSelected = true;
}
//当前亮度
btnProgressView1.X = HdlControlResourse.XXLeft;
btnProgressView1.Y = Application.GetRealHeight(161);
btnProgressView1.TextSize = 12;
btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgressView1.TextID = R.MyInternationalizationString.uNowLuminance;
frameBack.AddChidren(btnProgressView1);
btnProgressView1.Visible = false;
btnProgress1.X = Application.GetRealWidth(222);
btnProgress1.Y = Application.GetRealHeight(158);
btnProgress1.TextSize = 12;
btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgress1.Text = energyModeInfo.level + "%";
frameBack.AddChidren(btnProgress1);
btnProgress1.Visible = false;
//进度条
var seekBar1 = new SeekBarControl();
seekBar1.Y = Application.GetRealHeight(253);
seekBar1.ProgressBarColor = 0xff3e99f4;
frameBack.AddChidren(seekBar1);
seekBar1.ProgressChangedEvent += (div, value) =>
{
btnProgress1.Text = value + "%";
//数据变更
energyModeInfo.level = value;
valueChanged = true;
};
seekBar1.Progress = energyModeInfo.level;
var btnTemp1 = new NormalViewControl(200, 49, true);
btnTemp1.X = HdlControlResourse.XXLeft;
btnTemp1.Y = Application.GetRealHeight(325);
btnTemp1.TextSize = 12;
btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3;
btnTemp1.Text = "0%";
frameBack.AddChidren(btnTemp1);
var btnTemp2 = new NormalViewControl(200, 49, true);
btnTemp2.X = frameLinght.Width - Application.GetRealWidth(200 + 49);
btnTemp2.Y = Application.GetRealHeight(325);
btnTemp2.TextAlignment = TextAlignment.CenterRight;
btnTemp2.TextSize = 12;
btnTemp2.TextColor = UserCenterColor.Current.TextGrayColor3;
btnTemp2.Text = "100%";
frameBack.AddChidren(btnTemp2);
if (energyModeInfo.enable == true)
{
//展开或者缩小的高度
var value = Application.GetRealHeight(259);
frameBack.Height += value;
btnClickStatu.Y += value;
frameLinght.Y += value;
btnProgressView1.Visible = true;
btnProgress1.Visible = true;
}
//如果当前是展示模板
if (Common.Config.Instance.Home.IsShowTemplate == true)
{
seekBar1.Enable = false;
btnSwitch.CanClick = false;
}
}
#endregion
#region ■ 1-6干接点的背光灯__________________
///
/// 添加1-6干接点的背光灯进度条(这个对应的是【指示灯亮度】)
///
/// 各种背光灯的容器
private void AddSixDryContactProgress(FrameLayout frameLinght)
{
var btnProgressView1 = new NormalViewControl(200, 49, true);
btnProgressView1.X = HdlControlResourse.XXLeft;
btnProgressView1.Y = Application.GetRealHeight(29);
btnProgressView1.TextSize = 12;
btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgressView1.Text = "Dry1-6";
frameLinght.AddChidren(btnProgressView1);
var btnProgress1 = new NormalViewControl(200, 49, true);
btnProgress1.X = Application.GetRealWidth(204);
btnProgress1.Y = Application.GetRealHeight(29);
btnProgress1.TextSize = 12;
btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgress1.Text = linghtLevelInfo.panelDirectionsLevel + "%";
frameLinght.AddChidren(btnProgress1);
//进度条
var seekBar1 = new SeekBarControl();
seekBar1.Y = Application.GetRealHeight(124);
seekBar1.ProgressBarColor = 0xfffdb500;
frameLinght.AddChidren(seekBar1);
seekBar1.ProgressChangedEvent += (div, value) =>
{
btnProgress1.Text = value + "%";
//数据变更
linghtLevelInfo.panelDirectionsLevel = value;
valueChanged = true;
};
seekBar1.Progress = linghtLevelInfo.panelDirectionsLevel;
var btnTemp1 = new NormalViewControl(200, 49, true);
btnTemp1.X = HdlControlResourse.XXLeft;
btnTemp1.Y = Application.GetRealHeight(193);
btnTemp1.TextSize = 12;
btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3;
btnTemp1.Text = "0%";
frameLinght.AddChidren(btnTemp1);
var btnTemp2 = new NormalViewControl(200, 49, true);
btnTemp2.X = frameLinght.Width - Application.GetRealWidth(200 + 49);
btnTemp2.Y = Application.GetRealHeight(193);
btnTemp2.TextAlignment = TextAlignment.CenterRight;
btnTemp2.TextSize = 12;
btnTemp2.TextColor = UserCenterColor.Current.TextGrayColor3;
btnTemp2.Text = "100%";
frameLinght.AddChidren(btnTemp2);
//线
var btnLine = new NormalViewControl(Application.GetRealWidth(965), HdlControlResourse.BottomLineHeight, false);
btnLine.Y = Application.GetRealHeight(311);
btnLine.Gravity = Gravity.CenterHorizontal;
btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
frameLinght.AddChidren(btnLine);
//如果当前是展示模板
if (Common.Config.Instance.Home.IsShowTemplate == true)
{
seekBar1.Enable = false;
}
}
#endregion
#region ■ 第七干接点的背光灯_________________
///
/// 添加第七干接点的背光灯进度条(这个对应的是【背光灯亮度】)
///
/// 各种背光灯的容器
private void AddSevenDryContactProgress(FrameLayout frameLinght)
{
var btnProgressView1 = new NormalViewControl(200, 49, true);
btnProgressView1.X = HdlControlResourse.XXLeft;
btnProgressView1.Y = Application.GetRealHeight(369);
btnProgressView1.TextSize = 12;
btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgressView1.Text = "Dry7";
frameLinght.AddChidren(btnProgressView1);
var btnProgress1 = new NormalViewControl(200, 49, true);
btnProgress1.X = Application.GetRealWidth(161);
btnProgress1.Y = Application.GetRealHeight(369);
btnProgress1.TextSize = 12;
btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgress1.Text = linghtLevelInfo.panelBacklightLevel + "%";
frameLinght.AddChidren(btnProgress1);
//进度条
var seekBar1 = new SeekBarControl();
seekBar1.Y = Application.GetRealHeight(464);
seekBar1.ProgressBarColor = 0xfffdb500;
frameLinght.AddChidren(seekBar1);
seekBar1.ProgressChangedEvent += (div, value) =>
{
btnProgress1.Text = value + "%";
//数据变更
linghtLevelInfo.panelBacklightLevel = value;
valueChanged = true;
};
seekBar1.Progress = linghtLevelInfo.panelBacklightLevel;
var btnTemp1 = new NormalViewControl(200, 49, true);
btnTemp1.X = HdlControlResourse.XXLeft;
btnTemp1.Y = Application.GetRealHeight(533);
btnTemp1.TextSize = 12;
btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3;
btnTemp1.Text = "0%";
frameLinght.AddChidren(btnTemp1);
var btnTemp2 = new NormalViewControl(200, 49, true);
btnTemp2.X = frameLinght.Width - Application.GetRealWidth(200 + 49);
btnTemp2.Y = Application.GetRealHeight(533);
btnTemp2.TextAlignment = TextAlignment.CenterRight;
btnTemp2.TextSize = 12;
btnTemp2.TextColor = UserCenterColor.Current.TextGrayColor3;
btnTemp2.Text = "100%";
frameLinght.AddChidren(btnTemp2);
//线
var btnLine = new NormalViewControl(Application.GetRealWidth(965), HdlControlResourse.BottomLineHeight, false);
btnLine.Gravity = Gravity.CenterHorizontal;
btnLine.Y = Application.GetRealHeight(651);
btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
frameLinght.AddChidren(btnLine);
//如果当前是展示模板
if (Common.Config.Instance.Home.IsShowTemplate == true)
{
seekBar1.Enable = false;
}
}
#endregion
#region ■ 获取初始数据_______________________
///
/// 获取设备初始数据
///
///
private bool GetDeviceDefultData()
{
//开启进度条
this.ShowProgressBar();
//亮度调节(他们说随便拿一路回路就行了)
linghtLevelInfo = HdlDevicePanelLogic.Current.GetDeviceLightSettion(listDevice[0]);
if (linghtLevelInfo == null)
{
//关闭进度条
this.CloseProgressBar(ShowReLoadMode.YES);
return false;
}
//节能模式(他们说随便拿一路回路就行了)
energyModeInfo = HdlDevicePanelLogic.Current.GetDeviceEnergyConservationMode(listDevice[0]);
if (energyModeInfo == null)
{
//关闭进度条
this.CloseProgressBar(ShowReLoadMode.YES);
return false;
}
//关闭进度条
this.CloseProgressBar();
return true;
}
#endregion
}
}