using Shared;
using System;
using System.Collections.Generic;
using System.Text;
using HDL_ON.UI.CSS;
using HDL_ON.Entity;
using HDL_ON.DriverLayer;
using HDL_ON.UI.Music;
using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
namespace HDL_ON.UI.UI2.FuntionControlView.Aks
{
public class AksPage : FrameLayout
{
#region ■ 变量声明___________________________
///
/// 设备
///
private Function device;
///
/// 上一级界面的设备名字控件
///
private Button btnDeviceName;
///
/// 上一级界面的房间名字控件
///
private Button btnRoomName;
///
/// 头部布局
///
private TopView topView;
///
/// 当前设备名称
///
private Button btnCurrDeviceName;
///
/// 区域
///
private Button btnCurrDeviceRoom;
///
/// 表示来自那个界面
///
private CommonMethod.Comerom comerom;
///
/// 删除设备后需要更新界面的回调
///
public Action action;
public VerticalScrolViewLayout vv;
#endregion
public AksPage()
{
}
///
/// 构造函数
///
/// 设备
/// 上一级界面的设备名字控件(注:不能传null,没有可以传new Button())
/// 上一级界面的房间名字控件(注:不能传null,没有可以传new Button())
public AksPage(Function function, Button btnDeviceName, Button btnRoomName, CommonMethod.Comerom comerom, Action action)
{
this.device = function;
this.btnDeviceName = btnDeviceName;
this.btnRoomName = btnRoomName;
this.comerom = comerom;
this.action = action;
}
public void Show()
{
//初始化UI
this.InitTop();
this.InitMiddle();
//初始化事件
this.EventListener();
//读取数据
this.ReadData();
}
///
/// 初始化头部界面
///
private void InitTop()
{
this.BackgroundColor = MusicColor.ViewColor;
this.topView = new TopView();
this.topView.setBtn.Visible = true;
this.topView.topNameBtn.Text= this.device.name;
this.AddChidren(topView.TopFLayoutView());
}
///
/// 初始化中部界面
///
private void InitMiddle()
{
this.vv = new VerticalScrolViewLayout()
{
Y = topView.fLayout.Bottom,
Height = Application.GetRealHeight(H_W.H - H_W.T_Height),
};
var middleFl = new FrameLayout
{
};
this.vv.AddChidren(middleFl);
var whiteFl = new FrameLayout
{
};
middleFl.AddChidren(whiteFl);
}
///
/// 注册事件
///
private void EventListener()
{
//返回
this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
{
this.RemoveFromParent();
};
//设置
this.topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
{
CommonMethod.Current.MainThread(() =>
{
//调用秀绕的界面
var infoView = new UI.FunctionBaseInfoSetPage(this.device, () =>
{
if (this.btnDeviceName == null || this.btnRoomName == null || this.device == null)
{
return;
}
////刷新显示
this.btnDeviceName.Text = this.device.name;
this.btnRoomName.Text = this.device.GetRoomListName();
this.btnCurrDeviceName.Text = this.device.name;
this.btnCurrDeviceRoom.Text = this.device.GetRoomListName();
//this.CalculatedPosition();//重新计算宽度
});
infoView.actionDel += () =>
{
//解绑设备后
this.RemoveFromParent();
this.action?.Invoke();
};
MainPage.BasePageView.AddChidren(infoView);
infoView.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
});
};
}
///
/// 初始数据
///
private void ReadData()
{
CommonMethod.Current.Loading.Start();
CommonMethod.Current.SunThread(() =>
{
try
{
}
catch { }
finally
{
Application.RunOnMainThread(() =>
{
CommonMethod.Current.Loading.Hide();
});
}
});
}
}
}