using Shared;
using HDL_ON.Stan;
using System;
using System.Collections.Generic;
using System.Text;
using HDL_ON.Entity;
using HDL_ON.DriverLayer;
namespace HDL_ON.UI
{
///
/// 涂鸦扫地机器人耗材管理界面
///
public class TuyaWeepRobotConsumablesMagPage: EditorCommonForm
{
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 设备对象
/// 扫地机器人数据
public void ShowForm(Function i_device, TuyaWeepRobotPage.WeepRobotData robotData)
{
base.SetTitleText(Language.StringByID(StringId.ConsumablesManagement));
//边刷
this.InitBrushControl(i_device, robotData.EdgeBrush, robotData.ResetEdgeBrush,
Language.StringByID(StringId.RemainingLifeOfSideBrush),
Language.StringByID(StringId.ResetSideBrush),
Language.StringByID(StringId.ResetSideBrushMsg), "reset_edge_brush");
//滚刷
this.InitBrushControl(i_device, robotData.RollBrush, robotData.ResetRollBrush,
Language.StringByID(StringId.RemainingLifeOfRollerBrush),
Language.StringByID(StringId.ResetRollerBrush),
Language.StringByID(StringId.ResetRollerBrushMsg), "reset_roll_brush");
//滤网
this.InitBrushControl(i_device, robotData.Filter, robotData.ResetFilter,
Language.StringByID(StringId.RemainingLifeOfFilterScreen),
Language.StringByID(StringId.ResetFilterScreen),
Language.StringByID(StringId.ResetFilterScreenMsg), "reset_filter");
}
///
/// 初始化边刷控件
///
/// 设备对象
/// 边刷寿命
/// 边刷状态
private void InitBrushControl(Function i_device, int i_brushValue, bool i_brushStatu, string i_brushText,
string i_resetText, string i_resetMsg, string i_comand)
{
var myView = bodyFrameLayout.GetChildren(bodyFrameLayout.ChildrenCount - 1);
var frameBack = new NormalFrameLayout();
frameBack.Y = myView == null ? Application.GetRealHeight(12) : myView.Bottom + Application.GetRealHeight(12);
frameBack.Width = Application.GetRealWidth(343);
frameBack.Height = Application.GetRealHeight(100);
frameBack.Radius = (uint)Application.GetRealWidth(12);
frameBack.BackgroundColor = CSS.CSS_Color.MainBackgroundColor;
frameBack.Gravity = Gravity.CenterHorizontal;
bodyFrameLayout.AddChidren(frameBack);
var row1 = new FrameRowControl();
row1.Height = Application.GetRealHeight(50);
row1.Width = Application.GetRealWidth(343);
frameBack.AddChidren(row1);
//边刷剩余寿命
var btnbrushText = row1.AddLeftCaption(i_brushText, 200);
btnbrushText.TextColor = CSS.CSS_Color.FirstLevelTitleColor;
//寿命值
row1.AddMostRightView(i_brushValue + "%", 80);
row1.AddBottomLine();
var row2 = new FrameRowControl();
row2.Y = row1.Bottom;
row2.Height = Application.GetRealHeight(50);
row2.Width = Application.GetRealWidth(343);
frameBack.AddChidren(row2);
//重置边刷
var btnResetText = row2.AddLeftCaption(i_resetText, 200);
btnResetText.TextColor = CSS.CSS_Color.FirstLevelTitleColor;
//开关
var btnSwitch = row2.AddMostRightSwitchIcon();
btnSwitch.IsSelected = i_brushStatu;
btnSwitch.ButtonClickEvent += (sender, e) =>
{
if (btnSwitch.IsSelected == true)
{
//取消的话直接取消
btnSwitch.CanClick = false;
btnSwitch.IsSelected = !btnSwitch.IsSelected;
HdlThreadLogic.Current.RunThread(() =>
{
var dic = new Dictionary();
dic.Add(i_comand, "false");
Control.Ins.SendWriteCommand(i_device, dic, true);
btnSwitch.CanClick = true;
}, ShowErrorMode.NO);
}
else
{
//开启需要确认
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Confirm, i_resetMsg, () =>
{
btnSwitch.IsSelected = !btnSwitch.IsSelected;
HdlThreadLogic.Current.RunThread(() =>
{
var dic = new Dictionary();
dic.Add(i_comand, "true");
Control.Ins.SendWriteCommand(i_device, dic, true);
}, ShowErrorMode.NO);
});
}
};
}
#endregion
}
}