using System;
|
using Shared.Common;
|
using Shared.Phone.Device.Category;
|
using Shared.Phone.Device.CommonForm;
|
using Shared.Phone.UserView;
|
|
namespace Shared.Phone.Device.Room
|
{
|
|
public class RoomManagement : FrameLayout
|
{
|
|
#region ◆ 变量____________________________
|
/// <summary>
|
/// bodyFrameLayout
|
/// </summary>
|
private FrameLayout bodyFrameLayout;
|
|
private Button floorBtn;
|
|
public FrameLayout itemView;
|
|
#endregion
|
|
|
public Action action;
|
|
public override void RemoveFromParent()
|
{
|
//action?.Invoke();
|
base.RemoveFromParent();
|
}
|
/// <summary>
|
/// 房间管理
|
/// </summary>
|
public void Show()
|
{
|
AddTop();
|
|
AddBodyView(Config.Instance.Home.CurrentFloorId);
|
}
|
|
#region Add____________________________________
|
|
/// <summary>
|
/// AddTop
|
/// </summary>
|
public void AddTop()
|
{
|
var top = new TopFrameLayout();
|
AddChidren(top);
|
top.InitTopview();
|
top.SetTopTitle(R.MyInternationalizationString.RoomList);
|
top.backButton.MouseUpEventHandler += (sender, e) =>
|
{
|
CommonPage.Instance.CloseLeftMenu();
|
};
|
|
floorBtn = new Button()
|
{
|
X = Application.GetRealWidth(750),
|
Width = Application.GetRealWidth(200),
|
Height = Application.GetRealHeight(60),
|
Gravity = Gravity.CenterVertical,
|
TextAlignment = TextAlignment.CenterRight,
|
TextColor = ZigbeeColor.Current.GXCTextBlackColor,
|
};
|
|
var selectFloorBtn = new Button()
|
{
|
X = Application.GetRealWidth(950),
|
Width = Application.GetMinRealAverage(69),
|
Height = Application.GetMinRealAverage(69),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "Item/Drop_Down.png"
|
};
|
|
floorBtn.Text = Config.Instance.Home.GetCurrentFloorName;
|
if(Config.Instance.Home.FloorDics.Count>0)
|
{
|
top.topView.AddChidren(floorBtn);
|
top.topView.AddChidren(selectFloorBtn);
|
}
|
selectFloorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler;
|
floorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler;
|
}
|
|
/// <summary>
|
/// 选择楼层
|
/// </summary>
|
/// <param name="sender">Sender.</param>
|
/// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
|
private void SelectedFloor_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs)
|
{
|
var floors = new SelectFloor();
|
AddChidren(floors);
|
floors.Init(599, 161,Direction.Right);
|
floors.FloorAction += (floorId) =>
|
{
|
floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId);
|
AddBodyView(floorId);
|
};
|
}
|
|
/// <summary>
|
/// AddBodyView
|
/// </summary>
|
public void AddBodyView(string floorId)
|
{
|
bodyFrameLayout = new FrameLayout()
|
{
|
Y = Application.GetRealHeight(184),
|
Height = Application.GetRealHeight(1737),
|
BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
|
};
|
AddChidren(bodyFrameLayout);
|
|
var roomScrolView = new VerticalScrolViewLayout { };
|
bodyFrameLayout.AddChidren(roomScrolView);
|
var roomList = Common.Room.CurrentRoom.GetRoomsByFloorId(floorId);
|
for (int i = 0; i < roomList.Count+1; i++)
|
{
|
int xx = 43 + i % 2 * (20 + 487);
|
int yy = 0;
|
if (i == 0 || i == 1)
|
{
|
if (i % 2 == 0)
|
{
|
itemView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(354 + 58)
|
};
|
roomScrolView.AddChidren(itemView);
|
}
|
yy = 58;
|
}
|
else if (i % 2 == 0)
|
{
|
itemView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(354)
|
};
|
roomScrolView.AddChidren(itemView);
|
}
|
|
if (i< roomList.Count)
|
{
|
var room = roomList[i];
|
var roomView = new RoomMainView(xx, yy);
|
itemView.AddChidren(roomView);
|
roomView.Init();
|
roomView.SetRoomName(room.Name);
|
roomView.SetRoomIcon(room.BackgroundImage);
|
}
|
else
|
{
|
var roomView = new RoomNoNameMainView(xx, yy);
|
itemView.AddChidren(roomView);
|
roomView.Init();
|
|
roomView.Icon.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent;
|
roomView.RoomNameButton.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent;
|
roomView.iconFL.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent;
|
}
|
}
|
}
|
|
#endregion
|
|
/// <summary>
|
/// 房间管理界面
|
/// </summary>
|
void RoomPage()
|
{
|
BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
|
}
|
|
/// <summary>
|
/// ShowUnallocatedRoom_MouseUpEvent
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="mouseEventArgs"></param>
|
private void ShowUnallocatedRoom_MouseUpEvent(object sender,MouseEventArgs mouseEventArgs)
|
{
|
var unalloctedRoom = new UnallocatedRoom();
|
HomePage.Instance.AddChidren(unalloctedRoom);
|
HomePage.Instance.PageIndex += 1;
|
unalloctedRoom.Show();
|
}
|
}
|
}
|