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,
|
IsBold = true,
|
};
|
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);
|
};
|
|
}
|
|
/// <summary>
|
/// 加载逻辑界面的方法
|
/// </summary>
|
/// <param name="middle">Middle.</param>
|
/// <param name="logicIfon">Logic ifon.</param>
|
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<MouseEventArgs> 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;
|
}
|
|
}
|
}
|
}
|