using System;
|
using System.Collections.Generic;
|
using Shared.Common;
|
|
namespace Shared.Phone.Device.Category
|
{
|
public class SelectFloor : FrameLayout
|
{
|
|
public Action<string> FloorAction;
|
|
public bool changeFloor;
|
|
/// <summary>
|
/// Init
|
/// </summary>
|
public void Init(int x,int y,CommonForm.Direction direction=CommonForm.Direction.Left)
|
{
|
var dialog = new FrameLayout()
|
{
|
BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor
|
};
|
AddChidren(dialog);
|
|
dialog.MouseUpEventHandler += (sender, e) =>
|
{
|
RemoveFromParent();
|
};
|
|
var bg = new Button
|
{
|
X = Application.GetRealWidth(x),
|
Y = Application.GetRealHeight(y),
|
Width = Application.GetMinRealAverage(449),
|
Height = Application.GetMinRealAverage(783),
|
UnSelectedImagePath="Item/SelectFloor_Left.png"
|
};
|
dialog.AddChidren(bg);
|
if (direction == CommonForm.Direction.Right)
|
{
|
bg.UnSelectedImagePath = "Item/SelectFloor_Right.png";
|
}
|
|
var backgroundFL = new FrameLayout
|
{
|
X = Application.GetRealWidth(x+10),
|
Y = Application.GetRealHeight(y+23),
|
Width = Application.GetMinRealAverage(449-20),
|
Height = Application.GetMinRealAverage(783-23-10),
|
BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
|
};
|
dialog.AddChidren(backgroundFL);
|
|
var tip = new Button
|
{
|
X = Application.GetRealWidth(80),
|
Width = Application.GetRealWidth(350),
|
Height = Application.GetRealHeight(150),
|
TextColor = ZigbeeColor.Current.GXCTextBlackColor,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextID = R.MyInternationalizationString.SelectFloor,
|
TextSize=16,
|
IsBold=true
|
};
|
backgroundFL.AddChidren(tip);
|
|
var floorLayout = new VerticalScrolViewLayout
|
{
|
Y = tip.Bottom,
|
Width = Application.GetMinRealAverage(449),
|
Height = Application.GetMinRealAverage(600)
|
};
|
backgroundFL.AddChidren(floorLayout);
|
|
if (Config.Instance.Home.FloorDics.Count > 0)
|
{
|
foreach (var floor in Config.Instance.Home.FloorDics)
|
{
|
AddFloor(floorLayout, floor);
|
}
|
}
|
}
|
|
/// <summary>
|
/// AddFloor
|
/// </summary>
|
/// <param name="verticalScrolView"></param>
|
private void AddFloor(VerticalScrolViewLayout verticalScrolView, KeyValuePair<string, string> floor)
|
{
|
var frow = new CommonForm.LeftIconButtonRow(449, 150);
|
frow.Tag = floor.Key;
|
frow.Init("Floor/Floor.png", "Floor/FloorSelected.png", floor.Value);
|
verticalScrolView.AddChidren(frow);
|
if (Config.Instance.Home.CurrentFloorId == floor.Key)
|
{
|
frow.IsSelected = true;
|
}
|
|
frow.ClickBtn.MouseUpEventHandler += SelectFloor_MouseUpEvent;
|
}
|
|
/// <summary>
|
/// SelectFloor_MouseUpEvent
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="mouseEventArgs"></param>
|
private void SelectFloor_MouseUpEvent(object sender,MouseEventArgs mouseEventArgs)
|
{
|
((sender as Button).Parent as CommonForm.LeftIconButtonRow).IsSelected = true;
|
if(changeFloor)
|
{
|
Config.Instance.Home.CurrentFloorId = (sender as Button).Tag.ToString();
|
Config.Instance.Home.Save();
|
Common.Room.RefreshRoomListView();
|
}
|
|
FloorAction?.Invoke((sender as Button).Tag.ToString());
|
RemoveFromParent();
|
}
|
}
|
|
}
|