using System;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
using Shared;
using Shared.Common;
using Shared.Phone;
using Shared.R;
using ZigBee.Device;
namespace Shared.Phone.Device.Logic
{
public class LogicListPage : FrameLayout
{
public LogicListPage ()
{
Tag = "Logic";
}
Button beforeClickButton = new Button ();
Common.Logic logicIfon = null;
public void Show ()
{
this.BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor;
this.AddChidren (new Button {
Height = Application.GetRealHeight (80),
});
var topFrameLayout = new FrameLayout {
Height = Application.GetRealHeight (180),
Y = Application.GetRealHeight (80),
};
AddChidren (topFrameLayout);
var titleName = new Button {
TextID = MyInternationalizationString.automation,
TextSize = 16,
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
};
topFrameLayout.AddChidren (titleName);
var back = new Button {
Width = Application.GetRealWidth (110),
Height = Application.GetRealHeight (110),
X = Application.GetRealWidth (20),
Gravity = Gravity.CenterVertical,
UnSelectedImagePath = "ZigeeLogic/Back.png",
};
topFrameLayout.AddChidren (back);
back.MouseDownEventHandler += (sender, e) => {
RemoveFromParent ();
};
var searchdevice = new Button {
Width = Application.GetMinRealAverage (100),
Height = Application.GetMinRealAverage (100),
X = Application.GetRealWidth (1080-140),
Gravity = Gravity.CenterVertical,
UnSelectedImagePath = "ZigeeLogic/seekdevice.png",
};
topFrameLayout.AddChidren (searchdevice);
var middle = new VerticalScrolViewLayout ();
middle.Y = topFrameLayout.Bottom;
middle.Height = Application.GetRealHeight (1920 - 220 - 174);
middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
this.AddChidren (middle);
var btncomplete = new Button {
Y = middle.Bottom,
Height = Application.GetRealHeight (174),
TextID = MyInternationalizationString.complete,
TextSize=16,
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
};
AddChidren (btncomplete);
///加载逻辑界面的方法
refreshlogicView(middle);
///逻辑刷新图标的点击事件
searchdevice.MouseUpEventHandler += (sender, e) => {
middle.RemoveAll();
logicIfon = null;
///读取逻辑
//refreshlogiclist(() => {
// ///加载逻辑界面的方法
// refreshlogicView(middle);
//});
};
///保存控件的点击事件
btncomplete.MouseUpEventHandler += (sedder, e) => {
if (Shared.Common.Logic.LogicList.Count == 0||logicIfon==null) {
var alert = new Alert (Language.StringByID (MyInternationalizationString.Prompt),
Language.StringByID (MyInternationalizationString.selectlogic),
Language.StringByID (MyInternationalizationString.complete));
alert.Show ();
return;
}
var selectedLogicState = new SelectedLogicState ();
UserView.HomePage.Instance.AddChidren (selectedLogicState);
UserView.HomePage.Instance.PageIndex += 1;
selectedLogicState.Show (logicIfon);
};
}
///
/// 加载逻辑界面的方法
///
/// Middle.
/// Logic ifon.
void refreshlogicView (VerticalScrolViewLayout middle )
{
foreach (var logic in Shared.Common.Logic.LogicList) {
var deviceRowLayout = new RowLayout {
Height = Application.GetRealHeight (180),
};
middle.AddChidren (deviceRowLayout);
var btn = new Button {
Height = Application.GetRealHeight (180),
Width = LayoutParams.MatchParent,
SelectedBackgroundColor = 0xfffe5e00,
};
deviceRowLayout.AddChidren (btn);
var btnlogic = new Button {
Width = Application.GetRealWidth (600),
Text = logic.LogicName,
TextAlignment = TextAlignment.CenterLeft,
X = Application.GetRealWidth (40),
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
};
deviceRowLayout.AddChidren (btnlogic);
var btnlogicback = new Button {
Width = Application.GetRealWidth (110),
Height = Application.GetRealHeight (110),
UnSelectedImagePath = "ZigeeLogic/next.png",
SelectedImagePath = "ZigeeLogic/NextSelecte.png",
X = Application.GetRealWidth (1080-140),
Gravity=Gravity.CenterVertical,
};
deviceRowLayout.AddChidren (btnlogicback);
EventHandler logicclick = (sender, e) => {
logicIfon = logic;
beforeClickButton.IsSelected = false;
beforeClickButton = btn;
btn.IsSelected = true;
};
btnlogic.MouseUpEventHandler += logicclick;
deviceRowLayout.MouseUpEventHandler += logicclick;
btnlogicback.MouseUpEventHandler += logicclick;
btn.MouseUpEventHandler += logicclick;
}
}
}
}