using System;
|
using System.Collections.Generic;
|
using Shared;
|
using Shared.Common;
|
using Shared.Phone;
|
using Shared.R;
|
|
namespace Shared.Phone.Device.Logic
|
{
|
public class Cycle : FrameLayout
|
{
|
|
Action action;
|
public Cycle(Action action)
|
{
|
this.action = action;
|
}
|
|
public void Show()
|
{
|
Tag = "Logic";
|
|
#region 最上面的布局代码
|
var topRowLayout = new RowLayout
|
{
|
BackgroundColor = ZigbeeColor.Current.LogicTopBackgroundColor,
|
Height = Application.GetRealHeight(184),
|
LineColor = ZigbeeColor.Current.LogicRowLayoutTopLineColor,
|
};
|
this.AddChidren(topRowLayout);
|
|
var titleName = new Button
|
{
|
TextSize = 17,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth(176),
|
Width = Application.GetRealWidth(600),
|
Height = Application.GetRealHeight(69),
|
Y = Application.GetRealHeight(92),
|
TextID = MyInternationalizationString.cycle,
|
IsBold = true,
|
};
|
topRowLayout.AddChidren(titleName);
|
|
var clickBtn = new Button
|
{
|
Width = Application.GetRealWidth(81 + 51),
|
Height = Application.GetRealHeight(58 + 40),
|
Y = Application.GetRealHeight(98 - 40),
|
};
|
topRowLayout.AddChidren(clickBtn);
|
clickBtn.MouseDownEventHandler += (sender, e) =>
|
{
|
RemoveFromParent();
|
//if (action != null)
|
// action();
|
};
|
|
var back = new Button
|
{
|
Width = Application.GetRealWidth(30),
|
Height = Application.GetRealHeight(51),
|
X = Application.GetRealWidth(81),
|
Y = Application.GetRealHeight(98),
|
//Gravity = Gravity.CenterVertical;
|
UnSelectedImagePath = "ZigeeLogic/back.png",
|
};
|
topRowLayout.AddChidren(back);
|
back.MouseDownEventHandler += (sender, e) => {
|
//if (action != null)
|
// action();
|
RemoveFromParent();
|
|
};
|
#endregion
|
|
|
|
|
var middle = new FrameLayout
|
{
|
Y = topRowLayout.Bottom,
|
Height = Application.GetRealHeight(1920 - 184),
|
BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
|
};
|
this.AddChidren(middle);
|
|
|
var btnsave = new Button
|
{
|
Y= middle.Height-Application.GetRealHeight(260),
|
X = Application.GetRealWidth(85),
|
Height = Application.GetRealHeight(130),
|
Width = Application.GetRealWidth(910),
|
Radius = (uint)Application.GetRealHeight(60),
|
BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor,
|
TextID = MyInternationalizationString.Save,
|
TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
|
TextSize = 16,
|
};
|
middle.AddChidren(btnsave);
|
|
|
|
#region ----执行一次----
|
var onceFramelayout = new FrameLayout
|
{
|
Height = Application.GetRealHeight(160),
|
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
|
};
|
middle.AddChidren(onceFramelayout);
|
|
|
var onceIconBtn = new Button
|
{
|
Width = Application.GetRealWidth(81),
|
Height = Application.GetRealHeight(81),
|
X = Application.GetRealWidth(58),
|
Y = Application.GetRealHeight(55),
|
UnSelectedImagePath = "ZigeeLogic/point.png",
|
|
};
|
onceFramelayout.AddChidren(onceIconBtn);
|
|
var onceRow = new RowLayout
|
{
|
Y = Application.GetRealHeight(30),
|
Width = Application.GetRealWidth(850),
|
Height = Application.GetRealHeight(130),
|
X = Application.GetRealWidth(176),
|
LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
|
};
|
onceFramelayout.AddChidren(onceRow);
|
var onceTextBtn = new Button
|
{
|
Text = Language.StringByID(MyInternationalizationString.executeonce),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
TextSize = 15,
|
};
|
onceRow.AddChidren(onceTextBtn);
|
|
var onceBackBtn = new SelectedButton(789);
|
onceRow.AddChidren(onceBackBtn);
|
|
|
|
#endregion
|
|
#region ----每天----
|
var everydayFramelayout = new FrameLayout
|
{
|
Height = Application.GetRealHeight(160),
|
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
|
Y = onceFramelayout.Bottom,
|
};
|
middle.AddChidren(everydayFramelayout);
|
|
var everydayIconBtn = new Button
|
{
|
Width = Application.GetRealWidth(81),
|
Height = Application.GetRealHeight(81),
|
X = Application.GetRealWidth(58),
|
Y = Application.GetRealHeight(55),
|
UnSelectedImagePath = "ZigeeLogic/point.png",
|
|
};
|
everydayFramelayout.AddChidren(everydayIconBtn);
|
|
var everydayRow = new RowLayout
|
{
|
Y = Application.GetRealHeight(30),
|
Width = Application.GetRealWidth(850),
|
Height = Application.GetRealHeight(130),
|
X = Application.GetRealWidth(176),
|
LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
|
};
|
everydayFramelayout.AddChidren(everydayRow);
|
|
|
var everydayTxetBtn = new Button
|
{
|
TextID = MyInternationalizationString.everyday,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
TextSize = 15,
|
};
|
everydayRow.AddChidren(everydayTxetBtn);
|
|
var everydayBack = new SelectedButton(789);
|
everydayRow.AddChidren(everydayBack);
|
|
|
#endregion
|
|
#region ----每周----
|
var weekFramelayout = new FrameLayout
|
{
|
Height = Application.GetRealHeight(160),
|
Y = everydayFramelayout.Bottom,
|
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
|
};
|
middle.AddChidren(weekFramelayout);
|
|
var weekIconBtn = new Button
|
{
|
Width = Application.GetRealWidth(81),
|
Height = Application.GetRealHeight(81),
|
UnSelectedImagePath = "ZigeeLogic/point.png",
|
X = Application.GetRealWidth(58),
|
Y = Application.GetRealHeight(55),
|
};
|
weekFramelayout.AddChidren(weekIconBtn);
|
|
var weekRow = new RowLayout
|
{
|
Y = Application.GetRealHeight(30),
|
Width = Application.GetRealWidth(850),
|
Height = Application.GetRealHeight(130),
|
X = Application.GetRealWidth(176),
|
LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
|
};
|
weekFramelayout.AddChidren(weekRow);
|
|
|
var weekTextBtn = new Button
|
{
|
TextAlignment = TextAlignment.CenterLeft,
|
TextID = MyInternationalizationString.weekly,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
TextSize = 15,
|
};
|
weekRow.AddChidren(weekTextBtn);
|
|
var weekBack = new Button
|
{
|
Width = Application.GetRealWidth(58),
|
Height = Application.GetRealHeight(58),
|
UnSelectedImagePath = "ZigeeLogic/next.png",
|
X = Application.GetRealWidth(789),
|
Gravity = Gravity.CenterVertical,
|
};
|
weekRow.AddChidren(weekBack);
|
|
#endregion
|
|
#region ----每月----
|
var monthlyFramelayout = new FrameLayout
|
{
|
Height = Application.GetRealHeight(160),
|
Y = weekFramelayout.Bottom,
|
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
|
};
|
middle.AddChidren(monthlyFramelayout);
|
|
var monthlyIconBtn = new Button
|
{
|
Width = Application.GetRealWidth(81),
|
Height = Application.GetRealHeight(81),
|
UnSelectedImagePath = "ZigeeLogic/point.png",
|
X = Application.GetRealWidth(58),
|
Y = Application.GetRealHeight(55),
|
};
|
monthlyFramelayout.AddChidren(monthlyIconBtn);
|
|
var monthlyRow = new RowLayout
|
{
|
Y = Application.GetRealHeight(30),
|
Width = Application.GetRealWidth(850),
|
Height = Application.GetRealHeight(130),
|
X = Application.GetRealWidth(176),
|
LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
|
};
|
monthlyFramelayout.AddChidren(monthlyRow);
|
|
var monthlyTextBtn = new Button
|
{
|
TextAlignment = TextAlignment.CenterLeft,
|
TextID = MyInternationalizationString.monthly,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
TextSize = 15,
|
};
|
monthlyRow.AddChidren(monthlyTextBtn);
|
|
var monthlyBack = new Button
|
{
|
Width = Application.GetRealWidth(58),
|
Height = Application.GetRealHeight(58),
|
UnSelectedImagePath = "ZigeeLogic/next.png",
|
X = Application.GetRealWidth(789),
|
Gravity = Gravity.CenterVertical,
|
};
|
monthlyRow.AddChidren(monthlyBack);
|
#endregion
|
|
#region ----每年----
|
var yearFramelayout = new FrameLayout
|
{
|
Height = Application.GetRealHeight(160),
|
Y = monthlyFramelayout.Bottom,
|
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
|
};
|
//middle.AddChidren(yearFramelayout);
|
|
var yearIconBtn = new Button
|
{
|
Width = Application.GetRealWidth(81),
|
Height = Application.GetRealHeight(81),
|
UnSelectedImagePath = "ZigeeLogic/point.png",
|
X = Application.GetRealWidth(58),
|
Y = Application.GetRealHeight(55),
|
};
|
yearFramelayout.AddChidren(yearIconBtn);
|
|
var yearRow = new RowLayout
|
{
|
Y = Application.GetRealHeight(30),
|
Width = Application.GetRealWidth(850),
|
Height = Application.GetRealHeight(130),
|
X = Application.GetRealWidth(176),
|
LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
|
};
|
yearFramelayout.AddChidren(yearRow);
|
|
|
var yearTextBtn = new Button
|
{
|
TextAlignment = TextAlignment.CenterLeft,
|
TextID = MyInternationalizationString.everyyear,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
TextSize = 15,
|
};
|
yearRow.AddChidren(yearTextBtn);
|
|
var yearBack = new Button
|
{
|
Width = Application.GetRealWidth(58),
|
Height = Application.GetRealHeight(58),
|
UnSelectedImagePath = "ZigeeLogic/next.png",
|
X = Application.GetRealWidth(789),
|
Gravity = Gravity.CenterVertical,
|
};
|
yearRow.AddChidren(yearBack);
|
|
EventHandler<MouseEventArgs> yearclick = (sender, e) =>
|
{
|
var everyyearPage = new EveryyearPage();
|
UserView.HomePage.Instance.AddChidren(everyyearPage);
|
UserView.HomePage.Instance.PageIndex += 1;
|
everyyearPage.Show();
|
|
};
|
yearFramelayout.MouseUpEventHandler += yearclick;
|
yearTextBtn.MouseUpEventHandler += yearclick;
|
yearBack.MouseUpEventHandler += yearclick;
|
yearIconBtn.MouseUpEventHandler += yearclick;
|
yearRow.MouseUpEventHandler += yearclick;
|
|
#endregion
|
EventHandler<MouseEventArgs> onceclick = (sender, e) =>
|
{
|
onceBackBtn.Visible = true;
|
everydayBack.Visible = false;
|
};
|
onceTextBtn.MouseUpEventHandler += onceclick;
|
onceBackBtn.MouseUpEventHandler += onceclick;
|
onceFramelayout.MouseUpEventHandler += onceclick;
|
onceIconBtn.MouseUpEventHandler += onceclick;
|
onceRow.MouseUpEventHandler += onceclick;
|
|
EventHandler<MouseEventArgs> everydayclick = (sender, e) =>
|
{
|
onceBackBtn.Visible = false;
|
everydayBack.Visible = true;
|
|
};
|
everydayFramelayout.MouseUpEventHandler += everydayclick;
|
everydayTxetBtn.MouseUpEventHandler += everydayclick;
|
everydayBack.MouseUpEventHandler += everydayclick;
|
everydayIconBtn.MouseUpEventHandler += everydayclick;
|
everydayRow.MouseUpEventHandler += everydayclick;
|
|
EventHandler<MouseEventArgs> weekclick = (sender, e) =>
|
{
|
onceBackBtn.Visible = false;
|
everydayBack.Visible = false;
|
var weekPage = new WeekPage();
|
UserView.HomePage.Instance.AddChidren(weekPage);
|
UserView.HomePage.Instance.PageIndex += 1;
|
weekPage.Show(weekTextBtn.Text);
|
|
};
|
weekFramelayout.MouseUpEventHandler += weekclick;
|
weekTextBtn.MouseUpEventHandler += weekclick;
|
weekBack.MouseUpEventHandler += weekclick;
|
weekIconBtn.MouseUpEventHandler += weekclick;
|
weekRow.MouseUpEventHandler += weekclick;
|
|
EventHandler<MouseEventArgs> monthlyclick = (sender, e) =>
|
{
|
onceBackBtn.Visible = false;
|
everydayBack.Visible = false;
|
var everymonthPage = new EverymonthPage();
|
UserView.HomePage.Instance.AddChidren(everymonthPage);
|
UserView.HomePage.Instance.PageIndex += 1;
|
everymonthPage.Show(monthlyTextBtn.Text);
|
|
};
|
monthlyFramelayout.MouseUpEventHandler += monthlyclick;
|
monthlyIconBtn.MouseUpEventHandler += monthlyclick;
|
monthlyRow.MouseUpEventHandler += monthlyclick;
|
monthlyTextBtn.MouseUpEventHandler += monthlyclick;
|
monthlyBack.MouseUpEventHandler += monthlyclick;
|
if (Common.Logic.CurrentLogic.TimeAttribute.Repeat == 0)
|
{
|
onceBackBtn.Visible = true;
|
everydayBack.Visible = false;
|
}
|
else if (Common.Logic.CurrentLogic.TimeAttribute.Repeat == 2)
|
{
|
onceBackBtn.Visible = false;
|
everydayBack.Visible = true;
|
}
|
else
|
{
|
onceBackBtn.Visible = false;
|
everydayBack.Visible = false;
|
}
|
|
btnsave.MouseUpEventHandler += (sedder, e) =>
|
{
|
if (!onceBackBtn.Visible && !everydayBack.Visible)
|
{
|
var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
|
Language.StringByID(MyInternationalizationString.selectweek),
|
Language.StringByID(MyInternationalizationString.confrim));
|
|
alert.Show();
|
return;
|
}
|
if (onceBackBtn.Visible)
|
{
|
Common.Logic.CurrentLogic.TimeAttribute.Repeat = 0;
|
|
}
|
if (everydayBack.Visible)
|
{
|
Common.Logic.CurrentLogic.TimeAttribute.Repeat = 2;
|
}
|
RemoveFromParent();
|
action();
|
|
};
|
|
}
|
|
}
|
}
|