using System;
|
using System.Collections.Generic;
|
|
namespace Shared.Phone.UserCenter
|
{
|
/// <summary>
|
/// 房间选择画面,
|
/// 它从[DeviceInfoForm,AddedDeviceInfoForm]画面打开
|
/// </summary>
|
public class SelectRoomForm : EditorCommonForm
|
{
|
/// <summary>
|
/// 房间选择确定后的回调函数(房间名)
|
/// </summary>
|
public Action<List<string>> ActionSelectRoom = null;
|
/// <summary>
|
/// 列表控件
|
/// </summary>
|
private VerticalScrolViewLayout listView = null;
|
/// <summary>
|
/// 设备原来的房间
|
/// </summary>
|
private List<string> listRoomName = new List<string>();
|
|
/// <summary>
|
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
/// </summary>
|
/// <param name="i_listRoomName">已经选了的房间名字</param>
|
public void ShowForm(List<string> 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<string> listName = this.GetRoomNameFromRow();
|
// ActionSelectRoom?.Invoke(listName);
|
// ActionSelectRoom = null;
|
|
// this.CloseForm();
|
//};
|
|
listView = new VerticalScrolViewLayout();
|
listView.Height = bodyFrameLayout.Height;
|
bodyFrameLayout.AddChidren(listView);
|
|
//添加房间行
|
this.AddAllRoomRow();
|
}
|
|
/// <summary>
|
/// 添加所有房间行
|
/// </summary>
|
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);
|
});
|
}
|
});
|
}
|
|
/// <summary>
|
/// 添加房间行
|
/// </summary>
|
/// <param name="room">Room.</param>
|
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;
|
//}
|
}
|
|
/// <summary>
|
/// 获取选中的房间
|
/// </summary>
|
/// <returns></returns>
|
private List<string> GetRoomNameFromRow()
|
{
|
List<string> listName = new List<string>();
|
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;
|
}
|
}
|
}
|