using System;
using System.Collections.Generic;
namespace Shared.SimpleControl.Phone
{
public class UserDeviceToSensor : FrameLayout
{
VerticalScrolViewLayout bodyScrolView;
FrameLayout LongPressFrameLayout = new FrameLayout ();
Button beforeClickButton = new Button ();
///
/// 构造函数
///
public UserDeviceToSensor ()
{
BackgroundColor = SkinStyle.Current.MainColor;
curView = this;
}
static UserDeviceToSensor curView;
public static bool hasModify = false;
public static void Refresh ()
{
if (curView == null)
return;
if (hasModify) {
curView.ShowAllSensor ();
hasModify = false;
}
}
///
/// 显示房间的所有场景
///
public void ShowAllSensor ()
{
this.RemoveAll ();
#region 标题
var topView = new FrameLayout () {
Y = Application.GetRealHeight (36),
Height = Application.GetRealHeight (90),
};
AddChidren (topView);
var title = new Button () {
TextAlignment = TextAlignment.Center,
TextID = R.MyInternationalizationString.Environmental,
TextSize = 19,
TextColor = SkinStyle.Current.TextColor1,
};
topView.AddChidren (title);
var logo = new Button () {
Width = Application.GetRealWidth (154),
Height = Application.GetRealHeight (90),
X = Application.GetRealWidth (486),
UnSelectedImagePath = MainPage.LogoString,
};
topView.AddChidren (logo);
var back = new Button () {
Height = Application.GetRealHeight (90),
Width = Application.GetRealWidth (85),
UnSelectedImagePath = "Item/Back.png",
SelectedImagePath = "Item/BackSelected.png",
};
topView.AddChidren (back);
back.MouseUpEventHandler += (sender, e) => {
(Parent as PageLayout).PageIndex -= 1;
curView = null;
};
#endregion
var bodyView = new FrameLayout () {
Width = LayoutParams.MatchParent,
Height = Application.GetRealHeight (Application.DesignHeight - 126),
Y = Application.GetRealHeight(126),
BackgroundColor = SkinStyle.Current.ViewColor
};
AddChidren (bodyView);
bodyScrolView = new VerticalScrolViewLayout ();
bodyView.AddChidren (bodyScrolView);
InitView ();
}
void InitView ()
{
bodyScrolView.RemoveAll ();
List sensorPaths = new List ();
//List localFileList = IO.FileUtils.ReadFiles ();
//sensorPaths = localFileList.FindAll ((obj) => { return obj.Split ('_') [0] == "Equipment" && obj.Split ('_').Length == 4 && obj.Contains ("Sensor"); });
foreach (var room in Room.Lists) {
if (room == null || string.IsNullOrEmpty (room.Name))
continue;
var sensor = room.DeviceList.FindAll ((obj) => obj.Type.ToString ().Contains (DeviceType.Sensor.ToString ()));
if(sensor == null || sensor.Count == 0){
continue;
}
var rowView = new FrameLayout () {
Height = Application.GetRealHeight (130),
};
bodyScrolView.AddChidren (rowView);
var tempDeviceName = new Button () {
X = Application.GetRealWidth (40),
TextAlignment = TextAlignment.CenterLeft,
Text = room.Name,
TextColor = SkinStyle.Current.TextColor1,
Enable = false,
};
rowView.AddChidren (tempDeviceName);
Button rightButton = new Button () {
Width = Application.GetRealWidth (28),
Height = Application.GetRealHeight (40),
Gravity = Gravity.CenterVertical,
X = Application.GetRealWidth(580),
UnSelectedImagePath = "Item/Right.png",
SelectedImagePath = "Item/RightSelected.png",
};
rowView.AddChidren (rightButton);
Button btnEnergyNull = new Button () {
Y = Application.GetRealHeight (127),
Height = Application.GetRealHeight (3),
BackgroundColor = SkinStyle.Current.MainColor,
SelectedBackgroundColor = SkinStyle.Current.MainColor,
};
rowView.AddChidren (btnEnergyNull);
EventHandler clickEventHandler = (sender, e) => {
MainPage.Loading.Start (Language.StringByID(R.MyInternationalizationString.load));
System.Threading.Tasks.Task.Run (() => {
try {
Application.RunOnMainThread (() => {
UserSensorPage usp = new UserSensorPage ();
UserMiddle.DevicePageView.AddChidren (usp);
usp.ShowUserSensorPage (room);
UserMiddle.DevicePageView.PageIndex = 2;
});
}catch{}
finally{
Application.RunOnMainThread (() => {
MainPage.Loading.Hide ();
});
}
});
};
rightButton.MouseUpEventHandler += clickEventHandler;
rowView.MouseUpEventHandler += clickEventHandler;
tempDeviceName.MouseUpEventHandler += clickEventHandler;
btnEnergyNull.MouseUpEventHandler += clickEventHandler;
Button btnllll = new Button ();
rowView.AddChidren (btnllll);
btnllll.MouseUpEventHandler += clickEventHandler;
//rowView.MouseUpEventHandler += (sender, e) => {
// UserSensorPage usp = new UserSensorPage ();
// UserMiddle.DevicePageView.AddChidren (usp);
// usp.ShowUserSensorPage (room);
// UserMiddle.DevicePageView.PageIndex = UserMiddle.DevicePageView.ChildrenCount - 1;
//};
//tempDeviceName.MouseUpEventHandler += (sender, e) => {
// UserSensorPage usp = new UserSensorPage ();
// UserMiddle.DevicePageView.AddChidren (usp);
// usp.ShowUserSensorPage (room);
// UserMiddle.DevicePageView.PageIndex = UserMiddle.DevicePageView.ChildrenCount - 1;
//};
//rightButton.MouseUpEventHandler += (sender, e) => {
// UserSensorPage usp = new UserSensorPage ();
// UserMiddle.DevicePageView.AddChidren (usp);
// usp.ShowUserSensorPage (room);
// UserMiddle.DevicePageView.PageIndex = UserMiddle.DevicePageView.ChildrenCount - 1;
//};
}
}
}
}