using System;
|
using System.Collections.Generic;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.CSS;
|
using Shared;
|
namespace HDL_ON.UI.UI2.Intelligence.Automation
|
{
|
public class LogicSeriesSettingPage :FrameLayout
|
{
|
FrameLayout bodyView;
|
|
public LogicSeriesSettingPage()
|
{
|
bodyView = this;
|
}
|
|
public void LoadPage(List<Function> list)
|
{
|
new TopViewDiv(bodyView, Language.StringByID(StringId.HorseRaceLamp)).LoadTopView();
|
bodyView.BackgroundColor = CSS.CSS_Color.BackgroundColor;
|
|
VerticalScrolViewLayout contentView = new VerticalScrolViewLayout()
|
{
|
Y = Application.GetRealHeight(64),
|
Height = Application.GetRealHeight(603 - 50),
|
};
|
bodyView.AddChidren(contentView);
|
|
var seriesList = FunctionList.List.GetSeries();
|
|
foreach(var rgb in list)
|
{
|
var titleView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(44),
|
BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(titleView);
|
titleView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS.CSS_Color.DividingLineColor, Gravity = Gravity.BottomCenter });
|
|
var btnViewTitle = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
TextSize = CSS.CSS_FontSize.SubheadingFontSize,
|
IsBold = true,
|
Text = rgb.name,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS.CSS_Color.MainColor,
|
};
|
titleView.AddChidren(btnViewTitle);
|
|
var autoColorfulView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(44),
|
BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(autoColorfulView);
|
autoColorfulView.AddChidren(new Button() { Width = Application.GetRealWidth(343), Gravity = Gravity.BottomCenter, Height = 1, BackgroundColor = CSS.CSS_Color.DividingLineColor, Y = Application.GetRealHeight(44) - 1 });
|
|
Button btnAutoColorfulRight = new Button()
|
{
|
X = Application.GetRealWidth(339),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(16),
|
Height = Application.GetMinRealAverage(16),
|
UnSelectedImagePath = "Public/Right.png",
|
};
|
autoColorfulView.AddChidren(btnAutoColorfulRight);
|
|
var btnAutoColorfulTitle = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS.CSS_FontSize.TextFontSize,
|
TextColor = CSS.CSS_Color.FirstLevelTitleColor,
|
TextID = StringId.Auto,
|
};
|
autoColorfulView.AddChidren(btnAutoColorfulTitle);
|
btnAutoColorfulTitle.MouseUpEventHandler = (sender, e) =>
|
{
|
LoadEditDialog_OnOff(rgb.sid,true);
|
};
|
|
var rgbSeriesList = seriesList.FindAll((obj) => obj.sid.Substring(0, 16) == rgb.sid.Substring(0, 16));
|
foreach(var rgbSeries in rgbSeriesList)
|
{
|
var colorfulView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(44),
|
BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(colorfulView);
|
colorfulView.AddChidren(new Button() { Width = Application.GetRealWidth(343), Gravity = Gravity.BottomCenter, Height = 1, BackgroundColor = CSS.CSS_Color.DividingLineColor, Y = Application.GetRealHeight(44) - 1 });
|
|
Button btnColorfulRight = new Button()
|
{
|
X = Application.GetRealWidth(339),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(16),
|
Height = Application.GetMinRealAverage(16),
|
UnSelectedImagePath = "Public/Right.png",
|
};
|
colorfulView.AddChidren(btnColorfulRight);
|
|
var btnColorfulTitle = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS.CSS_FontSize.TextFontSize,
|
TextColor = CSS.CSS_Color.FirstLevelTitleColor,
|
Text = rgbSeries.name,
|
};
|
colorfulView.AddChidren(btnColorfulTitle);
|
btnColorfulTitle.MouseUpEventHandler = (sender, e) =>
|
{
|
LoadEditDialog_OnOff(rgbSeries.sid);
|
};
|
|
}
|
|
|
contentView.AddChidren(new Button {
|
Height = Application.GetRealHeight(8),
|
BackgroundColor = CSS_Color.BackgroundColor,
|
});
|
|
}
|
|
}
|
|
|
/// <summary>
|
/// 加载开关选择弹窗
|
/// </summary>
|
/// <param name="function"></param>
|
/// <param name="btn"></param>
|
void LoadEditDialog_OnOff(string sid, bool isRgb = false)
|
{
|
Dialog dialog = new Dialog();
|
|
var pView = new FrameLayout()
|
{
|
BackgroundColor = CSS_Color.DialogTransparentColor1,
|
};
|
dialog.AddChidren(pView);
|
|
var optionBaseView = new FrameLayout()
|
{
|
Y = Application.GetRealHeight(500),
|
Height = Application.GetRealHeight(160),
|
AnimateSpeed = 0.3f,
|
Animate = Animate.DownToUp,
|
};
|
pView.AddChidren(optionBaseView);
|
|
var optionView = new VerticalScrolViewLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(100),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Radius = (uint)Application.GetRealWidth(12),
|
ScrollEnabled = false,
|
};
|
optionBaseView.AddChidren(optionView);
|
|
var btnOn = new Button()
|
{
|
Height = Application.GetRealHeight(50),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.MainColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = StringId.On,
|
};
|
optionView.AddChidren(btnOn);
|
|
optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
|
|
var btnOff = new Button()
|
{
|
Height = Application.GetRealHeight(50),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.TextualColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = StringId.OFF,
|
};
|
optionView.AddChidren(btnOff);
|
|
var btnCancel = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(8) + optionView.Bottom,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(50),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Radius = (uint)Application.GetRealWidth(12),
|
TextID = StringId.Cancel,
|
TextColor = CSS_Color.WarningColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
};
|
optionBaseView.AddChidren(btnCancel);
|
|
dialog.Show();
|
|
pView.MouseUpEventHandler = (sender, e) => {
|
dialog.Close();
|
};
|
|
btnCancel.MouseUpEventHandler = (sender, e) => {
|
dialog.Close();
|
};
|
btnOn.MouseUpEventHandler = (sender, e) => {
|
dialog.Close();
|
Output outputDevice = new Output();
|
outputDevice.target_type = "1";
|
outputDevice.sid = sid;
|
outputDevice.delay = "0";
|
|
List<Dictionary<string, string>> dicSateteList = new List<Dictionary<string, string>>();
|
|
Dictionary<string, string> diction = new Dictionary<string, string>();
|
if (isRgb)
|
{
|
diction.Add("key", FunctionAttributeKey.Colorful);
|
}
|
else
|
{
|
diction.Add("key", "on_off");
|
}
|
diction.Add("value", "on");
|
dicSateteList.Add(diction);
|
|
outputDevice.status = dicSateteList;
|
|
var oldTemp = Logic.currlogic.output.Find((obj) => obj.sid.Substring(0, 16) == sid.Substring(0, 16));
|
if (oldTemp != null)
|
{
|
Logic.currlogic.output.Remove(oldTemp);
|
}
|
Logic.currlogic.output.Add(outputDevice);
|
|
this.RemoveFromParent();
|
LogicMethod.Current.RemoveAllView();
|
AddLogic addLogic = new AddLogic();
|
MainPage.BasePageView.AddChidren(addLogic);
|
addLogic.Show();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
|
};
|
btnOff.MouseUpEventHandler = (sender, e) => {
|
dialog.Close();
|
|
|
Output outputDevice = new Output();
|
List<Dictionary<string, string>> dicSateteList = new List<Dictionary<string, string>>();
|
|
Dictionary<string, string> diction = new Dictionary<string, string>();
|
if (isRgb)
|
{
|
diction.Add("key", FunctionAttributeKey.Colorful);
|
}
|
else
|
{
|
diction.Add("key", "on_off");
|
}
|
diction.Add("value", "off");
|
dicSateteList.Add(diction);
|
|
outputDevice.status = dicSateteList;
|
|
var oldTemp = Logic.currlogic.output.Find((obj) => obj.sid.Substring(0, 16) == sid.Substring(0, 16));
|
if (oldTemp != null)
|
{
|
Logic.currlogic.output.Remove(oldTemp);
|
}
|
Logic.currlogic.output.Add(outputDevice);
|
|
|
this.RemoveFromParent();
|
|
LogicMethod.Current.RemoveAllView();
|
AddLogic addLogic = new AddLogic();
|
MainPage.BasePageView.AddChidren(addLogic);
|
addLogic.Show();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
};
|
|
}
|
|
}
|
}
|