using System;
|
using HDL_ON.UI.UI2.Intelligence.Automation.LogicView;
|
using Shared;
|
using System.Collections.Generic;
|
|
namespace HDL_ON.UI.UI2.Intelligence.Automation
|
{
|
public class FunTpye : FrameLayout
|
{
|
public FunTpye()
|
{
|
Tag = "Logic";
|
}
|
/// <summary>
|
/// 默认选中是房间时:全部区域
|
/// </summary>
|
private Entity.Room selectedRoom = new Entity.Room { uid = Language.StringByID(StringId.allAreas) };
|
/// <summary>
|
/// 表示是(条件/目标)
|
/// </summary>
|
private string if_type;
|
public void Show(string str)
|
{
|
|
if_type = str;
|
this.BackgroundColor = CSS.CSS_Color.viewMiddle;
|
LogicView.TopView topView = new LogicView.TopView();
|
this.AddChidren(topView.FLayoutView());
|
topView.clickBackBtn.MouseUpEventHandler += (e, sen) =>
|
{
|
RemoveFromParent();
|
};
|
topView.topNameBtn.TextID = StringId.selectedFunCondition;
|
|
LogicView.FunAllAreaView funAllAreaView = new LogicView.FunAllAreaView();
|
funAllAreaView.frameLayout.Y = topView.frameLayout.Bottom;
|
this.AddChidren(funAllAreaView.FLayoutView());
|
|
VerticalScrolViewLayout vv = new VerticalScrolViewLayout
|
{
|
Y = Application.GetRealHeight(117),
|
Height = Application.GetRealHeight(667 - 117),
|
};
|
this.AddChidren(vv);
|
|
//房间点击事件
|
EventHandler<MouseEventArgs> roomClick = (sender, e) =>
|
{
|
#region 区域弹框界面
|
FrameLayout fLayout = new FrameLayout
|
{
|
BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
|
};
|
this.AddChidren(fLayout);
|
fLayout.MouseUpEventHandler += (sender1, e1) =>
|
{
|
fLayout.RemoveFromParent();
|
};
|
|
FrameLayout bghFrameLyout = new FrameLayout
|
{
|
X = Application.GetRealWidth(10),
|
Y = Application.GetRealHeight(103),
|
Width = Application.GetRealWidth(160),
|
Height = Application.GetRealHeight(21 + 44),
|
BackgroundImagePath = "LogicIcon/bjicon.png",
|
};
|
fLayout.AddChidren(bghFrameLyout);
|
|
FrameLayout areaBgh = new FrameLayout
|
{
|
X = Application.GetRealWidth(8),
|
Y = Application.GetRealHeight(14),
|
Width = Application.GetRealWidth(144),
|
Height = Application.GetRealHeight(44),
|
};
|
VerticalScrolViewLayout vvBgh = new VerticalScrolViewLayout
|
{
|
X = Application.GetRealWidth(8),
|
Y = Application.GetRealHeight(14),
|
Width = Application.GetRealWidth(144),
|
Height = Application.GetRealHeight(44 * 5),
|
};
|
var roomList = LogicMethod.GetGatewayRoomList(Language.StringByID(StringId.allAreas));
|
if (roomList.Count > 5)
|
{
|
bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5);
|
bghFrameLyout.AddChidren(vvBgh);
|
|
}
|
else
|
{
|
|
bghFrameLyout.AddChidren(areaBgh);
|
bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * roomList.Count);
|
areaBgh.Height = Application.GetRealHeight(44 * roomList.Count);
|
}
|
#endregion
|
|
for (int i = 0; i < roomList.Count; i++)
|
{
|
var room = roomList[i];
|
LogicView.AreaView areaView = new LogicView.AreaView();
|
if (roomList.Count > 5)
|
{
|
vvBgh.AddChidren(areaView.FLayoutView());
|
}
|
else
|
{
|
areaView.frameLayout.Y = Application.GetRealHeight(i * 44);
|
areaBgh.AddChidren(areaView.FLayoutView());
|
}
|
areaView.btnRoomName.Text = room.roomName;
|
areaView.btnClick.Tag = room;
|
areaView.btnClick.MouseUpEventHandler += (sender2, e2) =>
|
{
|
fLayout.RemoveFromParent();
|
funAllAreaView.btnText1.Text = (areaView.btnClick.Tag as Entity.Room).roomName;
|
///切换房间默认功能类型全部;
|
funAllAreaView.btnText2.Text = Language.StringByID(StringId.allFun);
|
selectedRoom = (areaView.btnClick.Tag as Entity.Room);
|
///获取显示设备列表
|
var list = LogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room,if_type);
|
|
DeviceListView(vv, list);
|
};
|
|
}
|
};
|
funAllAreaView.btnText1.MouseUpEventHandler += roomClick;
|
funAllAreaView.btnIcon1.MouseUpEventHandler += roomClick;
|
//功能点击事件
|
EventHandler<MouseEventArgs> funClick = (sender3, e3) =>{
|
#region 区域弹框界面
|
FrameLayout fLayout = new FrameLayout
|
{
|
BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
|
};
|
this.AddChidren(fLayout);
|
fLayout.MouseUpEventHandler += (sender1, e1) =>
|
{
|
fLayout.RemoveFromParent();
|
};
|
|
FrameLayout bghFrameLyout = new FrameLayout
|
{
|
X = Application.GetRealWidth(10),
|
Y = Application.GetRealHeight(103),
|
Width = Application.GetRealWidth(160),
|
Height = Application.GetRealHeight(21 + 44),
|
BackgroundImagePath = "LogicIcon/bjicon.png",
|
};
|
fLayout.AddChidren(bghFrameLyout);
|
|
FrameLayout areaBgh = new FrameLayout
|
{
|
X = Application.GetRealWidth(8),
|
Y = Application.GetRealHeight(14),
|
Width = Application.GetRealWidth(144),
|
Height = Application.GetRealHeight(44),
|
};
|
VerticalScrolViewLayout vvBgh = new VerticalScrolViewLayout
|
{
|
X = Application.GetRealWidth(8),
|
Y = Application.GetRealHeight(14),
|
Width = Application.GetRealWidth(144),
|
Height = Application.GetRealHeight(44 * 5),
|
};
|
|
//获取最终显示列表
|
var functionList = LogicMethod.GetFunctionDeviceList(selectedRoom, if_type);
|
//获取设备列表的类型(例如:灯光类,窗帘类。。。)
|
var deviceTypeList = LogicMethod.GetDeviceTypeList(functionList);
|
|
|
if (deviceTypeList.Count > 5)
|
{
|
bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5);
|
bghFrameLyout.AddChidren(vvBgh);
|
|
}
|
else
|
{
|
bghFrameLyout.AddChidren(areaBgh);
|
bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * deviceTypeList.Count);
|
areaBgh.Height = Application.GetRealHeight(44 * deviceTypeList.Count);
|
}
|
#endregion
|
|
for (int i = 0; i < deviceTypeList.Count; i++)
|
{
|
var deviceTypeName = deviceTypeList[i];
|
LogicView.AreaView areaView = new LogicView.AreaView();
|
if (deviceTypeList.Count > 5)
|
{
|
vvBgh.AddChidren(areaView.FLayoutView());
|
}
|
else
|
{
|
areaView.frameLayout.Y = Application.GetRealHeight(i * 44);
|
areaBgh.AddChidren(areaView.FLayoutView());
|
}
|
areaView.btnRoomName.Text = deviceTypeName;
|
areaView.btnClick.Tag = deviceTypeName;
|
areaView.btnClick.MouseUpEventHandler += (sender, e2) =>
|
{
|
fLayout.RemoveFromParent();
|
funAllAreaView.btnText2.Text = areaView.btnClick.Tag.ToString();
|
///获取单个类型(例如:灯光类。。)设备FunctionType列表
|
var typeFunctionList = LogicMethod.GetDeviceTypeFunctionList(areaView.btnClick.Tag.ToString());
|
///获取单个类型(例如:灯光类。。)显示设备列表
|
var lists = LogicMethod.GetShowDeviceList(typeFunctionList, functionList);
|
DeviceListView(vv, lists);
|
};
|
|
}
|
};
|
funAllAreaView.btnText2.MouseUpEventHandler += funClick;
|
funAllAreaView.btnIcon2.MouseUpEventHandler += funClick;
|
///获取显示设备列表
|
var deviceList = LogicMethod.GetFunctionDeviceList(selectedRoom, if_type);
|
DeviceListView(vv, deviceList);
|
|
}
|
/// <summary>
|
/// 显示设备的View
|
/// </summary>
|
/// <param name="verticalScrolView">上下滑动</param>
|
/// <param name="deviceList"></param>
|
public void DeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function> deviceList)
|
{
|
verticalScrolView.RemoveAll();
|
foreach (var dev in deviceList)
|
{
|
LogicView.SelectTypeView funView = new LogicView.SelectTypeView();
|
funView.btnText.Visible = false;
|
funView.btnDeviceName.Visible = true;
|
funView.btnRoomName.Visible = true;
|
funView.btnLine.X = Application.GetRealWidth(16);
|
funView.btnLine.Width = Application.GetRealWidth(343);
|
verticalScrolView.AddChidren(funView.FLayoutView());
|
funView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(dev.functionType);
|
funView.btnDeviceName.Text = dev.name;
|
funView.btnRoomName.Text = dev.GetRoomListName();
|
funView.btnClick.MouseUpEventHandler += (sen,e) => {
|
DeviceFunList deviceFunList = new DeviceFunList();
|
MainPage.BasePageView.AddChidren(deviceFunList);
|
deviceFunList.Show(dev,0,false,if_type);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
};
|
}
|
}
|
}
|
|
|
}
|