using System;
|
using System.Collections.Generic;
|
using Shared;
|
namespace HDL_ON.UI.UI2.Intelligence.Automation
|
{
|
public class PublicInterface
|
{
|
/// <summary>
|
/// 单选择
|
/// </summary>
|
/// <param name="frameLayout">父控件</param>
|
/// <param name="list">显示数据源</param>
|
/// <param name="titleText"></param>
|
/// <param name="stateText">之前状态文本</param>
|
/// <param name="action">返回值</param>
|
/// <param name="textSize">显示文本字体大小</param>
|
public void SingleSelectionShow(FrameLayout frameLayout, List<string> list, string titleText, string stateText, Action<string> action, int textSize = LogicView.TextSize.text14)
|
{
|
LogicView.DateView view = new LogicView.DateView();
|
view.btnTitle.Text = titleText;
|
view.FLayoutView(frameLayout, list.Count);
|
view.btnCancel.MouseUpEventHandler += (sender, e) =>
|
{
|
//移除fLayout界面
|
frameLayout.RemoveFromParent();
|
};
|
///定义一个Btn记录选中状态
|
Button checkBtn = new Button
|
{
|
Tag = "unknown",
|
};
|
for (int i = 0; i < list.Count; i++)
|
{
|
string str = list[i];
|
LogicView.CheckView checkView = new LogicView.CheckView();
|
checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
|
checkView.btnText.TextSize = textSize;
|
view.frameLayout.AddChidren(checkView.FLayoutView());
|
checkView.btnText.Text = str;
|
checkView.btnClick.Tag = str;//标记
|
|
if (stateText == str)
|
{
|
//显示之前的选中状态
|
checkBtn.IsSelected = false;
|
checkView.btnCheckIcon.IsSelected = true;
|
checkBtn = checkView.btnCheckIcon;
|
checkBtn.Tag = checkView.btnClick.Tag.ToString();
|
}
|
//点击事件
|
checkView.btnClick.MouseUpEventHandler += (sender1, e1) =>
|
{
|
checkBtn.IsSelected = false;
|
checkView.btnCheckIcon.IsSelected = true;
|
checkBtn = checkView.btnCheckIcon;
|
checkBtn.Tag = checkView.btnClick.Tag.ToString();
|
};
|
|
}
|
view.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
|
{
|
if (checkBtn.Tag.ToString() == "unknown")
|
{
|
return;
|
}
|
action(checkBtn.Tag.ToString());
|
//移除fLayout界面
|
frameLayout.RemoveFromParent();
|
};
|
|
}
|
|
/// <summary>
|
/// 多选择
|
/// </summary>
|
/// <param name="frameLayout">父控件</param>
|
/// <param name="list">显示数据源</param>
|
/// <param name="titleText"></param>
|
/// <param name="stateTextList">之前状态文本</param>
|
/// <param name="action">返回值</param>
|
/// <param name="textSize">显示文本字体大小</param>
|
public void MultiSelectShow(FrameLayout frameLayout, List<string> list, string titleText, List<string> stateTextList, Action<List<string>> action, int textSize = LogicView.TextSize.text14)
|
{
|
LogicView.DateView view = new LogicView.DateView();
|
view.btnTitle.Text = titleText;
|
view.FLayoutView(frameLayout, list.Count);
|
view.btnCancel.MouseUpEventHandler += (sender, e) =>
|
{
|
//移除fLayout界面
|
view.frameLayout.RemoveFromParent();
|
};
|
for (int i = 0; i < list.Count; i++)
|
{
|
string str = list[i];
|
LogicView.CheckView checkView = new LogicView.CheckView();
|
checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
|
checkView.btnText.TextSize = textSize;
|
view.frameLayout.AddChidren(checkView.FLayoutView());
|
checkView.btnText.Text = str;
|
checkView.btnClick.Tag = str;//标记
|
|
if (stateTextList.Contains(str))
|
{
|
//显示之前的选中状态
|
checkView.btnCheckIcon.IsSelected = true;
|
}
|
//点击事件
|
checkView.btnClick.MouseUpEventHandler += (sender1, e1) =>
|
{
|
|
string clickIndex = checkView.btnClick.Tag.ToString();
|
checkView.btnClick.IsSelected = !checkView.btnClick.IsSelected;
|
if (checkView.btnClick.IsSelected)
|
{
|
checkView.btnCheckIcon.IsSelected = true;
|
if (!stateTextList.Contains(clickIndex))
|
{
|
//添加选中数据
|
stateTextList.Add(clickIndex);
|
}
|
}
|
else
|
{
|
checkView.btnCheckIcon.IsSelected = false;
|
if (stateTextList.Contains(clickIndex))
|
{
|
//移除选中数据
|
stateTextList.Remove(clickIndex);
|
}
|
}
|
|
};
|
|
}
|
view.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
|
{
|
if (stateTextList.Count == 0)
|
{
|
return;
|
}
|
action(stateTextList);
|
//移除fLayout界面
|
frameLayout.RemoveFromParent();
|
};
|
|
}
|
|
/// <summary>
|
/// 月-多选择
|
/// </summary>
|
/// <param name="frameLayout">父控件</param>
|
/// <param name="action">显示文本字体大小</param>
|
public void MonSelectShow(FrameLayout frameLayout, Logic logic, Action<List<string>> action)
|
{
|
LogicView.MonView monView = new LogicView.MonView();
|
monView.btnTitle.TextID = StringId.monthly;
|
monView.FLayoutView(frameLayout);
|
monView.btnCancel.MouseUpEventHandler += (sender, e) =>
|
{
|
monView.frameLayout.RemoveFromParent();
|
};
|
//定义一个局部monList列表用来记录选中数据;
|
List<string> monList = new List<string>();
|
if (logic.cycle.type == "mon")
|
{
|
//加载之前保存的数据
|
monList.AddRange(logic.cycle.value);
|
}
|
//定义一个变量记录行数
|
int lineSun = 0;
|
for (int i = 1; i < 32; i++)
|
{
|
Button monTextBtn = new Button
|
{
|
Width = Application.GetRealWidth(30),
|
Height = Application.GetRealWidth(30),
|
Radius = (uint)Application.GetRealWidth(15),
|
Text = i.ToString(),
|
TextSize = LogicView.TextSize.text14,
|
TextColor = CSS.CSS_Color.textColor,
|
SelectedTextColor = CSS.CSS_Color.view,
|
SelectedBackgroundColor = CSS.CSS_Color.textConfirmColor,
|
BackgroundColor = CSS.CSS_Color.viewTranslucence,
|
Tag = i,
|
};
|
monView.frameLayout.AddChidren(monTextBtn);
|
if (lineSun > 0)
|
{
|
monTextBtn.X = Application.GetRealWidth(16 + ((i - 1) - lineSun * 7) * 46);
|
}
|
else
|
{
|
|
monTextBtn.X = Application.GetRealWidth(16 + (i - 1) * 46);
|
}
|
monTextBtn.Y = Application.GetRealWidth(58 + 10 + lineSun * (30 + 10));
|
|
if (i % 7 == 0)
|
{
|
//一定执行完再判断是否要换行.
|
lineSun = lineSun + 1;
|
|
}
|
monTextBtn.MouseUpEventHandler += (sender, e) =>
|
{
|
string clickIndex = monTextBtn.Tag.ToString();
|
monTextBtn.IsSelected = !monTextBtn.IsSelected;
|
if (monTextBtn.IsSelected)
|
{
|
monTextBtn.IsSelected = true;
|
if (!monList.Contains(clickIndex))
|
{
|
//添加选中数据
|
monList.Add(clickIndex);
|
}
|
}
|
else
|
{
|
monTextBtn.IsSelected = false;
|
if (monList.Contains(clickIndex))
|
{
|
//移除选中数据
|
monList.Remove(clickIndex);
|
}
|
}
|
};
|
|
if (monList.Contains(i.ToString()))
|
{
|
monTextBtn.IsSelected = true;
|
}
|
}
|
//确定点击事件
|
monView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
|
{
|
if (monList.Count == 0)
|
{
|
//提示:还没选中执行周期
|
return;
|
}
|
|
|
action(monList);
|
frameLayout.RemoveFromParent();
|
};
|
|
}
|
|
|
}
|
}
|