using System;
using System.Collections.Generic;
using Shared;
namespace HDL_ON.UI.UI2.Intelligence.Automation
{
public class PublicInterface
{
///
/// 单选择
///
/// 父控件
/// 显示数据源
///
/// 之前状态文本
/// 返回值
public void SingleSelectionShow(FrameLayout frameLayout, List list, string titleText, string stateText, Action action)
{
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);
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();
};
}
///
/// 多选择
///
/// 父控件
/// 显示数据源
///
/// 之前状态文本
/// 返回值
public void MultiSelectShow(FrameLayout frameLayout, List list, string titleText, List stateTextList, Action> action)
{
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);
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();
};
}
}
}