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 ◆ 变量____________________________
///
/// bodyFrameLayout
///
private FrameLayout bodyFrameLayout;
private Button floorBtn;
private FrameLayout itemView;
#endregion
public Action action;
public override void RemoveFromParent()
{
//更新界面
//action?.Invoke();
base.RemoveFromParent();
}
///
/// 房间管理
///
public void Show()
{
AddTop();
AddBodyView();
}
#region Add____________________________________
///
/// AddTop
///
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;
}
///
/// 选择楼层
///
/// Sender.
/// The ${ParameterType} instance containing the event data.
private void SelectedFloor_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs)
{
var floors = new SelectFloor();
AddChidren(floors);
floors.Init(599, 161);
floors.FloorAction += (floorName) =>
{
floorBtn.Text = floorName;
};
}
///
/// AddBodyView
///
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
///
/// 房间管理界面
///
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);
};
}
}
}
}