using System;
|
using Shared.Common;
|
using Shared.Phone.Device.Category;
|
using Shared.Phone.Device.CommonForm;
|
|
namespace Shared.Phone.Device.Room
|
{
|
|
public class RoomManagement : FrameLayout
|
{
|
|
#region ◆ 变量____________________________
|
/// <summary>
|
/// bodyFrameLayout
|
/// </summary>
|
private FrameLayout bodyFrameLayout;
|
|
private Button floorBtn;
|
|
private FrameLayout itemView;
|
|
#endregion
|
|
|
public Action action;
|
|
|
public override void RemoveFromParent()
|
{
|
//更新界面
|
//action?.Invoke();
|
base.RemoveFromParent();
|
}
|
/// <summary>
|
/// 房间管理
|
/// </summary>
|
public void Show()
|
{
|
AddTop();
|
|
AddBodyView();
|
}
|
|
#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) =>
|
{
|
RemoveFromParent();
|
};
|
|
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();
|
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);
|
floors.FloorAction += (floorName) =>
|
{
|
floorBtn.Text = floorName;
|
};
|
}
|
/// <summary>
|
/// AddBodyView
|
/// </summary>
|
public void AddBodyView()
|
{
|
bodyFrameLayout = new FrameLayout()
|
{
|
Y = Application.GetRealHeight(184),
|
Height = Application.GetRealHeight(1737),
|
BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
|
};
|
AddChidren(bodyFrameLayout);
|
|
var roomScrolView = new VerticalScrolViewLayout { };
|
bodyFrameLayout.AddChidren(roomScrolView);
|
for (int i = 0; i < Shared.Common.Room.Lists.Count; i++)
|
{
|
var room = Shared.Common.Room.Lists[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),
|
Tag = room
|
};
|
roomScrolView.AddChidren(itemView);
|
}
|
yy = 58;
|
}
|
else if (i % 2 == 0)
|
{
|
itemView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(354),
|
Tag = room
|
};
|
roomScrolView.AddChidren(itemView);
|
}
|
|
var roomView = new RoomMainView(xx, yy);
|
itemView.AddChidren(roomView);
|
roomView.Init();
|
roomView.SetRoomName(room.Name);
|
roomView.SetRoomIcon(room.BackgroundImage);
|
}
|
|
}
|
|
#endregion
|
|
/// <summary>
|
/// 房间管理界面
|
/// </summary>
|
void RoomPage()
|
{
|
BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
|
|
return;
|
|
|
|
var RoomBodyView = new VerticalScrolViewLayout()
|
{
|
Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.Navigation_Height),
|
BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
|
};
|
|
|
|
foreach (var roomFilePath in Config.Instance.Home.RoomFilePathList)
|
{
|
var room = Shared.Common.Room.GetRoomByFilePath(roomFilePath);
|
if (room == null)
|
{
|
continue;
|
}
|
|
var roomFL = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(570),
|
Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonPage.XLeft * 2),
|
BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
|
Gravity = Gravity.CenterHorizontal,
|
Radius = CommonPage.BigFormRadius,
|
};
|
RoomBodyView.AddChidren(roomFL);
|
|
var roomRowView = new RowLayout()
|
{
|
Y = Application.GetRealHeight(20),
|
Height = Application.GetMinRealAverage(550),
|
Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonPage.XLeft * 2),
|
BackgroundColor =ZigbeeColor.Current.GXCBackgroundColor,
|
LineColor= ZigbeeColor.Current.GXCBackgroundColor,
|
Radius = CommonPage.BigFormRadius,
|
Gravity = Gravity.CenterHorizontal
|
};
|
roomFL.AddChidren(roomRowView);
|
|
var backGroundBtn = new Button()
|
{
|
UnSelectedImagePath = room.BackgroundImage,
|
Radius = CommonPage.BigFormRadius,
|
Height = Application.GetMinRealAverage(550),
|
Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonPage.XLeft * 2),
|
};
|
roomRowView.AddChidren(backGroundBtn);
|
|
var hardBlackBG = new FrameLayout()
|
{
|
Radius = CommonPage.BigFormRadius,
|
BackgroundColor = ZigbeeColor.Current.GXCBlack70Color
|
};
|
roomRowView.AddChidren(hardBlackBG);
|
|
var btnRoomName = new Button()
|
{
|
Width = Application.GetRealWidth(500),
|
Height=Application.GetRealHeight(200),
|
Text = room.Name,
|
TextAlignment = TextAlignment.Center,
|
TextSize=25,
|
TextColor=ZigbeeColor.Current.GXCTextWhiteColor,
|
Gravity=Gravity.Center
|
};
|
roomRowView.AddChidren(btnRoomName);
|
|
var btnEditRoom = new Device.CommonForm.SelectedStatuButton()
|
{
|
X = roomRowView.Width- Application.GetRealWidth(100+30),
|
Y=backGroundBtn.Y,
|
Width = Application.GetMinRealAverage(110),
|
Height=Application.GetMinRealAverage(110),
|
UnSelectedImagePath = "Room/More.png",
|
SelectedImagePath="Room/MoreSelected.png",
|
};
|
roomRowView.AddChidren(btnEditRoom);
|
|
var delBtn = new Shared.Phone.Device.CommonForm.RowLayoutDeleteButton();
|
//第一个是房间喜爱,不允许滑动删除 分享过来的也不允许删除
|
if (room.IsLove || room.IsSharedRoom)
|
{
|
|
}
|
else
|
{
|
roomRowView.AddRightView(delBtn);
|
}
|
|
//删除住宅
|
delBtn.MouseUpEventHandler += (sender, e) =>
|
{
|
var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDeleteThisRoom), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
|
alert.Show();
|
alert.ResultEventHandler += (send, ee) =>
|
{
|
if(ee)
|
{
|
Shared.Common.Room.CurrentRoom.Remove(roomFilePath);
|
Show();
|
}
|
};
|
};
|
|
btnEditRoom.MouseUpEventHandler += (sender, e) =>
|
{
|
//AddOrUpdateRoom(action, roomFilePath);
|
var addRoom = new AddRoom();
|
Shared.Phone.UserView.HomePage.Instance.AddChidren(addRoom);
|
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
|
addRoom.action = () =>
|
{
|
Show();
|
};
|
AddRoom.OldBackgroundImagePath = string.Empty;
|
addRoom.Show(roomFilePath);
|
};
|
|
roomRowView.MouseUpEventHandler += (sender, e) =>
|
{
|
//var userRoom = new RoomAddDevice();
|
//this.AddChidren(userRoom);
|
//userRoom.Show(roomFilePath);
|
};
|
|
}
|
|
|
}
|
}
|
}
|