using System;
using System.Collections.Generic;
namespace Shared.Phone.UserCenter
{
///
/// 房间选择画面,
/// 它从[DeviceInfoForm,AddedDeviceInfoForm]画面打开
///
public class SelectRoomForm : EditorCommonForm
{
///
/// 房间选择确定后的回调函数(房间名)
///
public Action> ActionSelectRoom = null;
///
/// 列表控件
///
private VerticalScrolViewLayout listView = null;
///
/// 设备原来的房间
///
private List listRoomName = new List();
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 已经选了的房间名字
public void ShowForm(List i_listRoomName)
{
this.listRoomName = i_listRoomName;
//设置标题信息
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uSelectRoom));
//完成
//var btnfinish = new TopLayoutFinshView();
//topFrameLayout.AddChidren(btnfinish);
//btnfinish.MouseUpEventHandler += (sender, e) =>
//{
// List listName = this.GetRoomNameFromRow();
// ActionSelectRoom?.Invoke(listName);
// ActionSelectRoom = null;
// this.CloseForm();
//};
listView = new VerticalScrolViewLayout();
listView.Height = bodyFrameLayout.Height;
bodyFrameLayout.AddChidren(listView);
//添加房间行
this.AddAllRoomRow();
}
///
/// 添加所有房间行
///
private void AddAllRoomRow()
{
HdlThreadLogic.Current.RunThread(() =>
{
foreach (Common.Room room in Common.Room.Lists)
{
if (room.IsSharedRoom == true && this.listRoomName.Contains(room.Name) == false)
{
//分享的房间不能显示,如果该设备本来就属于分享的房间,则可以显示,但不能取消
continue;
}
Application.RunOnMainThread(() =>
{
this.AddRoomRow(room);
});
}
});
}
///
/// 添加房间行
///
/// Room.
private void AddRoomRow(Common.Room room)
{
//var row = new RoomSelectRow(listView, room);
////设置选择状态
//if (this.listRoomName.Contains(room.Name) == true)
//{
// if (room.IsSharedRoom == true)
// {
// //分享的房间不允许取消
// row.SelectCancel = false;
// }
// row.IsSelected = true;
//}
}
///
/// 获取选中的房间
///
///
private List GetRoomNameFromRow()
{
List listName = new List();
for (int i = 0; ; i++)
{
//var row = (RoomSelectRow)this.listView.GetChildren(i);
//if (row == null)
//{
// break;
//}
//if (row.IsSelected == true)
//{
// listName.Add(row.RoomName);
//}
}
return listName;
}
}
}