using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DevicePanel
{
public class PanelBackLighWithSensorForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 列表控件
///
private VerticalScrolViewLayout listview = null;
///
/// 面板的回路
///
private Panel panelDevice = null;
///
/// 亮度调节的信息
///
private Panel.PanelSwitchLevelInfo linghtLevelInfo = null;
///
/// 亮度调节的信息
///
private Panel.PanelProximitySensorInfo proximitySensorsInfo = null;
///
/// 节能模式
///
private Panel.PanelSaveEnergyModeInfo energyModeInfo = null;
///
/// 按键的颜色数据
///
private Panel.KeyColorData keyColorData = null;
///
/// 选择睡眠时间的事件 value:索引(从0开始) 文本信息请用Text获取
///
public Action timeAction = null;
///
/// 当前选择的功能类型索引
///
private int nowSelectNo = 0;
///
/// ///
/// 睡眠时间的值
///
///
public string sleepTimeText
{
get { return btnSleepTime.Text; }
set { btnSleepTime.Text = value; }
}
///
///睡眠时间
///
public NormalViewControl btnSleepTime = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 面板设备的全部回路
public void ShowForm(Panel i_panel)
{
this.ScrollEnabled = false;
this.panelDevice = i_panel;
//设置标题信息
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uBackLight));
HdlThreadLogic.Current.RunThread(() =>
{
//初始化中部控件
this.InitMiddleFrame();
});
}
///
/// 初始化中部信息
///
private async void InitMiddleFrame()
{
//获取设备初始数据
var result = await this.GetDeviceDefultData();
if (result == false)
{
return;
}
//清空bodyFrame
this.ClearBodyFrame();
HdlThreadLogic.Current.RunMain(() =>
{
listview = new VerticalScrolViewLayout();
listview.Height = Application.GetRealHeight(1981 - 184);
bodyFrameLayout.AddChidren(listview);
//添加节能模式
this.AddEnergyConservationRow();
//添加点击前,亮度进度条
this.AddBeforeClickProgress();
//添加点击后,亮度进度条
this.AddAfterClickProgress();
this.FinishInitControl(listview, energyModeInfo.enable);
//保存
var btnSave = new BottomClickButton();
btnSave.TextID = R.MyInternationalizationString.uSave;
bodyFrameLayout.AddChidren(btnSave);
btnSave.ButtonClickEvent += (sender, e) =>
{
//保存面板数据
this.SavePanelData();
};
});
}
#endregion
#region ■ 节能模式行_________________________
///
/// 添加节能模式行
///
/// 各种背光灯的容器(控件伸缩使用)
private void AddEnergyConservationRow()
{
//缩小:170 扩大:614
var frameBack = new FrameRowControl();
frameBack.BackgroundColor = UserCenterColor.Current.White;
frameBack.UseClickStatu = false;
frameBack.Height = Application.GetRealHeight(170);
listview.AddChidren(frameBack);
//节能模式
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(614);
if (btnSwitch.IsSelected == true)
{
frameBack.Height += value;
}
else
{
frameBack.Height -= value;
}
//容器补充
this.FinishInitControl(listview, energyModeInfo.enable);
};
if (energyModeInfo.enable == true)
{
btnSwitch.IsSelected = true;
}
//当前亮度
var btnProgressView1 = new NormalViewControl(200, 49, true);
btnProgressView1.X = ControlCommonResourse.XXLeft;
btnProgressView1.Y = Application.GetRealHeight(164);
btnProgressView1.TextSize = 12;
btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgressView1.TextID = R.MyInternationalizationString.uNowLuminance;
frameBack.AddChidren(btnProgressView1);
var btnProgress1 = new NormalViewControl(200, 49, true);
btnProgress1.X = Application.GetRealWidth(222);
btnProgress1.Y = Application.GetRealHeight(164);
btnProgress1.TextSize = 12;
btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgress1.Text = energyModeInfo.level + "%";
frameBack.AddChidren(btnProgress1);
//进度条
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;
};
seekBar1.Progress = energyModeInfo.level;
var btnTemp1 = new NormalViewControl(200, 49, true);
btnTemp1.X = ControlCommonResourse.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 = listview.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(614);
frameBack.Height += value;
}
//添加接近感应
this.AddProximitySensorsRow(frameBack);
//底线
var btnLine = new NormalViewControl(965, 5, true);
btnLine.Height = 1;
btnLine.X = Application.GetRealWidth(52);
btnLine.Y = Application.GetRealHeight(484 + 127);
btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
frameBack.AddChidren(btnLine);
//添加睡眠时间
this.AddSleepTimeRow(frameBack);
}
#endregion
#region ■ 接近感应___________________________
///
/// 接近感应行
///
private void AddProximitySensorsRow(FrameRowControl frameRowControl)
{
//接近感应行
var frameBack = new FrameRowControl();
frameBack.BackgroundColor = UserCenterColor.Current.White;
frameBack.UseClickStatu = false;
frameBack.Y = Application.GetRealHeight(443);
frameBack.Height = Application.GetRealHeight(170);
frameRowControl.AddChidren(frameBack);
//接近感应
frameBack.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.ProximitySensors), 400);
//开关控件
var btnSwitch = frameBack.AddMostRightSwitchIcon();
btnSwitch.ButtonClickEvent += (sender, e) =>
{
btnSwitch.IsSelected = !btnSwitch.IsSelected;
proximitySensorsInfo.enable = btnSwitch.IsSelected;
};
if (proximitySensorsInfo.enable == true)
{
btnSwitch.IsSelected = true;
}
}
#endregion
#region ■ 睡眠时间___________________________
///
/// 睡眠时间行
///
private void AddSleepTimeRow(FrameRowControl frameRowControl)
{
//睡眠时间行
var frameBack = new FrameRowControl();
frameBack.BackgroundColor = UserCenterColor.Current.White;
frameBack.UseClickStatu = false;
frameBack.Y = Application.GetRealHeight(784 - 170);
frameBack.Height = Application.GetRealHeight(170);
frameRowControl.AddChidren(frameBack);
//睡眠时间
frameBack.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.SleepTime), 400);
//右箭头
frameBack.AddRightArrow();
btnSleepTime = new NormalViewControl(700, true);
switch (energyModeInfo.time)
{
case 15:
btnSleepTime.Text = "15s";
nowSelectNo = 0;
break;
case 60:
btnSleepTime.Text = "1min";
nowSelectNo = 1;
break;
case 300:
btnSleepTime.Text = "5min";
nowSelectNo = 2;
break;
}
frameBack.AddMostRightView(this.sleepTimeText, 700);
timeAction = null;
timeAction += (nowSelectNo) =>
{
switch (nowSelectNo)
{
case 0:
energyModeInfo.time = 15;
break;
case 1:
energyModeInfo.time = 60;
break;
case 2:
energyModeInfo.time = 300;
break;
}
AddSleepTimeRow(frameRowControl);
};
frameBack.ButtonClickEvent += (sender, e) =>
{
this.ShowSelectDeviceSleepTimeListForm();
};
}
#endregion
#region ■ 显示选择设备睡眠时间_______________
///
/// 显示选择设备睡眠时间的界面
///
public void ShowSelectDeviceSleepTimeListForm()
{
//显示列表
var listText = new List();
listText.Add("15s");
listText.Add("1min");
listText.Add("5min");
//标题:选择功能类型
var title = Language.StringByID(R.MyInternationalizationString.SleepTime);
var form = new BottomItemSelectForm();
form.CancelCallEvent = false;//允许取消
form.AddForm(title, listText, nowSelectNo);
form.FinishSelectEvent += (selectNo) =>
{
if (selectNo == nowSelectNo)
{
//选择的是相同的
return;
}
//-1:选择取消
this.sleepTimeText = selectNo == -1 ? string.Empty : listText[selectNo];
nowSelectNo = selectNo;
//调用回调函数
this.timeAction?.Invoke(nowSelectNo);
};
}
#endregion
#region ■ 点击前_____________________________
///
/// 添加点击前的背光灯进度条
///
/// 各种背光灯的容器
private void AddBeforeClickProgress()
{
//点击前
var btnClick = new NormalViewControl(600, 107, true);
btnClick.X = ControlCommonResourse.XXLeft;
btnClick.TextSize = 12;
btnClick.TextColor = UserCenterColor.Current.TextGrayColor3;
btnClick.TextID = R.MyInternationalizationString.uBeforeClick;
listview.AddChidren(btnClick);
//背景
var frameBack = new FrameLayout();
frameBack.Y = Application.GetRealHeight(107);
frameBack.Height = Application.GetRealHeight(395);
frameBack.BackgroundColor = UserCenterColor.Current.White;
listview.AddChidren(frameBack);
//当前亮度
var btnProgressView1 = new NormalViewControl(200, 49, true);
btnProgressView1.X = ControlCommonResourse.XXLeft;
btnProgressView1.Y = Application.GetRealHeight(52);
btnProgressView1.TextSize = 12;
btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgressView1.TextID = R.MyInternationalizationString.uNowLuminance;
frameBack.AddChidren(btnProgressView1);
var btnProgress1 = new NormalViewControl(200, 49, true);
btnProgress1.X = Application.GetRealWidth(222);
btnProgress1.Y = Application.GetRealHeight(52);
btnProgress1.TextSize = 12;
btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgress1.Text = linghtLevelInfo.panelBacklightLevel + "%";
frameBack.AddChidren(btnProgress1);
//进度条
var seekBar1 = new SeekBarControl();
seekBar1.Y = Application.GetRealHeight(147);
frameBack.AddChidren(seekBar1);
seekBar1.ProgressChangedEvent += (div, value) =>
{
btnProgress1.Text = value + "%";
//数据变更
linghtLevelInfo.panelBacklightLevel = value;
};
seekBar1.Progress = linghtLevelInfo.panelBacklightLevel;
var btnTemp1 = new NormalViewControl(200, 49, true);
btnTemp1.X = ControlCommonResourse.XXLeft;
btnTemp1.Y = Application.GetRealHeight(216);
btnTemp1.TextSize = 12;
btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3;
btnTemp1.Text = "0%";
frameBack.AddChidren(btnTemp1);
var btnTemp2 = new NormalViewControl(200, 49, true);
btnTemp2.X = listview.Width - Application.GetRealWidth(200 + 49);
btnTemp2.Y = Application.GetRealHeight(216);
btnTemp2.TextAlignment = TextAlignment.CenterRight;
btnTemp2.TextSize = 12;
btnTemp2.TextColor = UserCenterColor.Current.TextGrayColor3;
btnTemp2.Text = "100%";
frameBack.AddChidren(btnTemp2);
var frameColor = new FrameLayoutStatuControl();
frameColor.UseClickStatu = false;
frameColor.Width = Application.GetRealHeight(262);
frameColor.Height = this.GetPictrueRealSize(79);
frameColor.Y = Application.GetRealHeight(26);
frameColor.X = listview.Width - ControlCommonResourse.XXLeft - Application.GetRealHeight(262);
frameBack.AddChidren(frameColor);
//颜色
var btnColorView = new NormalViewControl(Application.GetRealHeight(110), this.GetPictrueRealSize(49), false);
btnColorView.Gravity = Gravity.CenterVertical;
btnColorView.TextAlignment = TextAlignment.CenterRight;
btnColorView.TextSize = 12;
btnColorView.Y = Application.GetRealHeight(5);
btnColorView.TextColor = UserCenterColor.Current.TextGrayColor1;
btnColorView.TextID = R.MyInternationalizationString.uColor;
frameColor.AddChidren(btnColorView, ChidrenBindMode.BindEvent);
int R1 = Convert.ToInt32(this.keyColorData.CloseColorR, 16);
int G1 = Convert.ToInt32(this.keyColorData.CloseColorG, 16);
int B1 = Convert.ToInt32(this.keyColorData.CloseColorB, 16);
uint backColor = this.GetColorByRGB((byte)R1, (byte)G1, (byte)B1);
//颜色外框
var btnColorLine = new FrameLayoutStatuControl();
btnColorLine.Width = Application.GetRealHeight(79);
btnColorLine.Height = this.GetPictrueRealSize(79);
btnColorLine.X = btnColorView.Right + Application.GetRealHeight(18);
btnColorLine.Radius = (uint)this.GetPictrueRealSize(79) / 2;
btnColorLine.BorderWidth = 1;
btnColorLine.BorderColor = 0xffcccccc;
frameColor.AddChidren(btnColorLine, ChidrenBindMode.BindEvent);
var btnColor = new NormalViewControl(this.GetPictrueRealSize(69), this.GetPictrueRealSize(69), false);
btnColor.Gravity = Gravity.Center;
btnColor.Radius = (uint)this.GetPictrueRealSize(69) / 2;
btnColor.BackgroundColor = backColor;
btnColorLine.AddChidren(btnColor, ChidrenBindMode.BindEvent);
//变更滑动条的颜色
seekBar1.ProgressBarColor = backColor;
var btnRight = new NormalViewControl(this.GetPictrueRealSize(58), this.GetPictrueRealSize(58), false);
btnRight.UnSelectedImagePath = "Item/RightNext.png";
btnRight.Y = Application.GetRealHeight(5);
btnRight.X = frameColor.Width - this.GetPictrueRealSize(58);
frameColor.AddChidren(btnRight, ChidrenBindMode.BindEvent);
btnRight.Y += this.GetPictrueRealSize(8);
frameColor.ButtonClickEvent += (sender, e) =>
{
PanelColor(btnColor, seekBar1, R1, G1, B1);
};
btnColorView.ButtonClickEvent += (sender, e) =>
{
PanelColor(btnColor, seekBar1, R1, G1, B1);
};
btnColor.ButtonClickEvent += (sender, e) =>
{
PanelColor(btnColor, seekBar1, R1, G1, B1);
};
btnColorLine.ButtonClickEvent += (sender, e) =>
{
PanelColor(btnColor, seekBar1, R1, G1, B1);
};
btnRight.ButtonClickEvent += (sender, e) =>
{
PanelColor(btnColor, seekBar1, R1, G1, B1);
};
}
///
/// PanelColorBefore
///
private void PanelColor(NormalViewControl btnColor, SeekBarControl seekBar1, int R1, int G1, int B1)
{
var form = new PanelColorSelectForm();
form.AddForm(R1, G1, B1);
form.FinishSelectColorEvent += (Rcolor, Gcolor, Bcolor) =>
{
R1 = Rcolor;
G1 = Gcolor;
B1 = Bcolor;
this.keyColorData.CloseColorR = Convert.ToString(Rcolor, 16);
this.keyColorData.CloseColorG = Convert.ToString(Gcolor, 16);
this.keyColorData.CloseColorB = Convert.ToString(Bcolor, 16);
btnColor.BackgroundColor = this.GetColorByRGB((byte)Rcolor, (byte)Gcolor, (byte)Bcolor);
//变更滑动条的颜色
seekBar1.ProgressBarColor = btnColor.BackgroundColor;
};
}
#endregion
#region ■ 点击后_____________________________
///
/// 添加点击后的背光灯进度条
///
/// 各种背光灯的容器
private void AddAfterClickProgress()
{
//点击后
var btnClick = new NormalViewControl(600, 107, true);
btnClick.X = ControlCommonResourse.XXLeft;
btnClick.TextSize = 12;
btnClick.TextColor = UserCenterColor.Current.TextGrayColor3;
btnClick.TextID = R.MyInternationalizationString.uAfterClick;
listview.AddChidren(btnClick);
//背景
var frameBack = new FrameLayout();
frameBack.Y = Application.GetRealHeight(608);
frameBack.Height = Application.GetRealHeight(395);
frameBack.BackgroundColor = UserCenterColor.Current.White;
listview.AddChidren(frameBack);
//当前亮度
var btnProgressView1 = new NormalViewControl(200, 49, true);
btnProgressView1.X = ControlCommonResourse.XXLeft;
btnProgressView1.Y = Application.GetRealHeight(52);
btnProgressView1.TextSize = 12;
btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgressView1.TextID = R.MyInternationalizationString.uNowLuminance;
frameBack.AddChidren(btnProgressView1);
var btnProgress1 = new NormalViewControl(200, 49, true);
btnProgress1.X = Application.GetRealWidth(222);
btnProgress1.Y = Application.GetRealHeight(52);
btnProgress1.TextSize = 12;
btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnProgress1.Text = linghtLevelInfo.panelDirectionsLevel + "%";
frameBack.AddChidren(btnProgress1);
//进度条
var seekBar1 = new SeekBarControl();
seekBar1.Y = Application.GetRealHeight(147);
frameBack.AddChidren(seekBar1);
seekBar1.ProgressChangedEvent += (div, value) =>
{
btnProgress1.Text = value + "%";
//数据变更
linghtLevelInfo.panelDirectionsLevel = value;
};
seekBar1.Progress = linghtLevelInfo.panelDirectionsLevel;
var btnTemp1 = new NormalViewControl(200, 49, true);
btnTemp1.X = ControlCommonResourse.XXLeft;
btnTemp1.Y = Application.GetRealHeight(216);
btnTemp1.TextSize = 12;
btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3;
btnTemp1.Text = "0%";
frameBack.AddChidren(btnTemp1);
var btnTemp2 = new NormalViewControl(200, 49, true);
btnTemp2.X = listview.Width - Application.GetRealWidth(200 + 49);
btnTemp2.Y = Application.GetRealHeight(216);
btnTemp2.TextAlignment = TextAlignment.CenterRight;
btnTemp2.TextSize = 12;
btnTemp2.TextColor = UserCenterColor.Current.TextGrayColor3;
btnTemp2.Text = "100%";
frameBack.AddChidren(btnTemp2);
var frameColor = new FrameLayoutStatuControl();
frameColor.UseClickStatu = false;
frameColor.Width = Application.GetRealHeight(262);
frameColor.Height = this.GetPictrueRealSize(79);
frameColor.Y = Application.GetRealHeight(26);
frameColor.X = listview.Width - ControlCommonResourse.XXLeft - Application.GetRealHeight(262);
frameBack.AddChidren(frameColor);
//颜色
var btnColorView = new NormalViewControl(Application.GetRealHeight(110), this.GetPictrueRealSize(49), false);
btnColorView.Gravity = Gravity.CenterVertical;
btnColorView.TextAlignment = TextAlignment.CenterRight;
btnColorView.TextSize = 12;
btnColorView.Y = Application.GetRealHeight(5);
btnColorView.TextColor = UserCenterColor.Current.TextGrayColor1;
btnColorView.TextID = R.MyInternationalizationString.uColor;
frameColor.AddChidren(btnColorView, ChidrenBindMode.BindEvent);
int R1 = Convert.ToInt32(this.keyColorData.OpenColorR, 16);
int G1 = Convert.ToInt32(this.keyColorData.OpenColorG, 16);
int B1 = Convert.ToInt32(this.keyColorData.OpenColorB, 16);
uint backColor = this.GetColorByRGB((byte)R1, (byte)G1, (byte)B1);
//颜色外框
var btnColorLine = new FrameLayoutStatuControl();
btnColorLine.Width = Application.GetRealHeight(79);
btnColorLine.Height = this.GetPictrueRealSize(79);
btnColorLine.X = btnColorView.Right + Application.GetRealHeight(18);
btnColorLine.Radius = (uint)this.GetPictrueRealSize(79) / 2;
btnColorLine.BorderWidth = 1;
btnColorLine.BorderColor = 0xffcccccc;
frameColor.AddChidren(btnColorLine, ChidrenBindMode.BindEvent);
var btnColor = new NormalViewControl(this.GetPictrueRealSize(69), this.GetPictrueRealSize(69), false);
btnColor.Gravity = Gravity.Center;
btnColor.Radius = (uint)this.GetPictrueRealSize(69) / 2;
btnColor.BackgroundColor = backColor;
btnColorLine.AddChidren(btnColor, ChidrenBindMode.BindEvent);
//变更滑动条的颜色
seekBar1.ProgressBarColor = backColor;
var btnRight = new NormalViewControl(this.GetPictrueRealSize(58), this.GetPictrueRealSize(58), false);
btnRight.UnSelectedImagePath = "Item/RightNext.png";
btnRight.Y = Application.GetRealHeight(5);
btnRight.X = frameColor.Width - this.GetPictrueRealSize(58);
frameColor.AddChidren(btnRight, ChidrenBindMode.BindEvent);
btnRight.Y += this.GetPictrueRealSize(8);
frameColor.ButtonClickEvent += (sender, e) =>
{
PanelAfterColor(btnColor, seekBar1, R1, G1, B1);
};
btnColorView.ButtonClickEvent += (sender, e) =>
{
PanelAfterColor(btnColor, seekBar1, R1, G1, B1);
};
btnColor.ButtonClickEvent += (sender, e) =>
{
PanelAfterColor(btnColor, seekBar1, R1, G1, B1);
};
btnColorLine.ButtonClickEvent += (sender, e) =>
{
PanelAfterColor(btnColor, seekBar1, R1, G1, B1);
};
btnRight.ButtonClickEvent += (sender, e) =>
{
PanelAfterColor(btnColor, seekBar1, R1, G1, B1);
};
}
///
/// PanelColorBefore
///
private void PanelAfterColor(NormalViewControl btnColor, SeekBarControl seekBar1, int R1, int G1, int B1)
{
var form = new PanelColorSelectForm();
form.AddForm(R1, G1, B1);
form.FinishSelectColorEvent += (Rcolor, Gcolor, Bcolor) =>
{
R1 = Rcolor;
G1 = Gcolor;
B1 = Bcolor;
this.keyColorData.OpenColorR = Convert.ToString(Rcolor, 16);
this.keyColorData.OpenColorG = Convert.ToString(Gcolor, 16);
this.keyColorData.OpenColorB = Convert.ToString(Bcolor, 16);
btnColor.BackgroundColor = this.GetColorByRGB((byte)Rcolor, (byte)Gcolor, (byte)Bcolor);
//变更滑动条的颜色
seekBar1.ProgressBarColor = btnColor.BackgroundColor;
};
}
#endregion
#region ■ 获取初始数据_______________________
///
/// 获取设备初始数据
///
///
private async Task GetDeviceDefultData()
{
//开启进度条
this.ShowProgressBar();
//亮度调节(他们说随便拿一路回路就行了)
linghtLevelInfo = HdlDevicePanelLogic.Current.GetDeviceLightSettion(panelDevice);
if (linghtLevelInfo == null)
{
//关闭进度条
this.CloseProgressBar(ShowReLoadMode.YES);
return false;
}
//接近感应(他们说随便拿一路回路就行了)
proximitySensorsInfo = await HdlDevicePanelLogic.Current.GetDeviceProximitySensorsSettion(panelDevice);
if (proximitySensorsInfo == null)
{
//关闭进度条
this.CloseProgressBar(ShowReLoadMode.YES);
return false;
}
//节能模式(他们说随便拿一路回路就行了)
energyModeInfo = HdlDevicePanelLogic.Current.GetDeviceEnergyConservationMode(panelDevice);
if (energyModeInfo == null)
{
//关闭进度条
this.CloseProgressBar(ShowReLoadMode.YES);
return false;
}
keyColorData = HdlDevicePanelLogic.Current.GetPanelEpointColorInfo(panelDevice);
if (this.keyColorData == null)
{
//关闭进度条
this.CloseProgressBar(ShowReLoadMode.YES);
return false;
}
//关闭进度条
this.CloseProgressBar();
return true;
}
#endregion
#region ■ 保存数据___________________________
///
/// 保存面板数据
///
private async void SavePanelData()
{
this.ShowProgressBar();
//亮度调节更改(他们说随便一个回路就行)
var result = HdlDevicePanelLogic.Current.SetDeviceLightSettion(panelDevice, linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel);
if (result == false)
{
this.CloseProgressBar();
return;
}
//节能模式修改(他们说随便一个回路就行)
//肖志豪给按键控制面板(四开八控)设备,说默认15秒时间,这样接近感应功能才合理
result = HdlDevicePanelLogic.Current.SetDeviceEnergyConservationMode(panelDevice, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level);
if (result == false)
{
this.CloseProgressBar();
return;
}
//接近传感设置 (肖志豪给按键控制面板(四开八控)设备,传感距离和触发延迟时间默认用最大值)
result = await HdlDevicePanelLogic.Current.SetProximitySensorStatus(panelDevice, proximitySensorsInfo.enable);
if (result == false)
{
this.CloseProgressBar();
return;
}
//设置按键面板指定端点的【指示灯开关颜色】的信息
result = HdlDevicePanelLogic.Current.SetPanelEpointColorInfo(panelDevice, this.keyColorData);
this.CloseProgressBar();
if (result == false)
{
return;
}
//关闭自身
this.CloseForm();
}
#endregion
#region ■ 补充容器___________________________
///
/// 行数超过容器时,补一个空白FrameLayout,使之能滑动
///
/// 当前滑动页范围
/// 是否添加容器
public void FinishInitControl(VerticalScrolViewLayout listview, bool enable = false)
{
//促使被挡住的菜单能够向上滑动
var frameTemp = new FrameLayout();
listview.AddChidren(frameTemp);
frameTemp.Tag = "移除容器";
if (enable == true)
{
listview.ScrollEnabled = true;
frameTemp.Height = Application.GetRealHeight(2212 - 1921 + 173);
}
else
{
listview.RemoveViewByTag("移除容器");
listview.ScrollEnabled = false;
}
}
#endregion
#region ■ 一般方法___________________________
///
/// 将RGB转换为颜色
///
///
///
///
///
private uint GetColorByRGB(byte R, byte G, byte B)
{
return (uint)(0xFF000000 + R * 256 * 256 + G * 256 + B);
}
#endregion
}
}