using System;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
using System.Collections.Generic;
namespace HDL_ON.UI
{
public class SceneFunctionInfoEditPage : FrameLayout
{
FrameLayout bodyView;
VerticalScrolViewLayout contentView;
Button btnOnText;
Scene scene;
Action refreshAction;
SceneFunction sceneFunction;
public SceneFunctionInfoEditPage(Scene s, SceneFunction fc,Action action)
{
bodyView = this;
scene = s;
sceneFunction = fc;
refreshAction = action;
}
public void LoadPage()
{
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
new TopViewDiv(bodyView, sceneFunction.localFunction.name).LoadTopView();
contentView = new VerticalScrolViewLayout()
{
Y = Application.GetRealHeight(64),
Height = Application.GetRealHeight(520),
ScrollEnabled = false,
};
bodyView.AddChidren(contentView);
LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff));
foreach (var attr in sceneFunction.status)
{
switch (attr.key)
{
case FunctionAttributeKey.SetTemp:
LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp));
break;
case FunctionAttributeKey.Mode:
LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode));
break;
case FunctionAttributeKey.FanSpeed:
LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed));
break;
case FunctionAttributeKey.Percent:
LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent));
break;
case FunctionAttributeKey.Brightness:
LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness));
break;
}
}
//加载开关Row
//LoadFunctionRow(sceneFunction.localFunction.trait_on_off);
//switch (sceneFunction.localFunction.functionType)
//{
// case FunctionType.AC:
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp"));
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode"));
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan"));
// break;
// case FunctionType.FloorHeating:
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp"));
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode"));
// break;
// case FunctionType.Curtain:
// //无操作
// break;
// case FunctionType.MotorCurtain:
// case FunctionType.RollingShutter:
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent"));
// break;
// case FunctionType.Relay:
// //无操作
// break;
// case FunctionType.Dimmer:
// case FunctionType.RGB:
// LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness"));
// break;
//}
//加载延时Row
LoadDelayRow();
var bottomView = new FrameLayout()
{
Y = Application.GetRealHeight(591),
Height = Application.GetRealHeight(106),
BackgroundColor = CSS_Color.MainBackgroundColor,
Radius = (uint)Application.GetRealWidth(16),
};
bodyView.AddChidren(bottomView);
var btnConfrim = new Button()
{
Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealHeight(12),
Width = Application.GetRealWidth(220),
Height = Application.GetRealWidth(44),
TextAlignment = TextAlignment.Center,
TextColor = CSS_Color.MainBackgroundColor,
BackgroundColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.SubheadingFontSize,
IsBold = true,
Radius = (uint) Application.GetRealWidth(22),
TextID = StringId.Complete
};
bottomView.AddChidren(btnConfrim);
btnConfrim.MouseUpEventHandler = (sender, e) =>
{
var temp = scene.functions.Find((obj) => obj.sid == sceneFunction.sid);
if (temp != null)
{
temp = sceneFunction;
}
else
{
scene.functions.Add(sceneFunction);
}
if (!string.IsNullOrEmpty(scene.userSceneId))
{
var result = scene.UpdateScene();
if (result == DAL.Server.StateCode.SUCCESS)
{
refreshAction();
this.RemoveFromParent();
}
else
{
DAL.Server.IMessageCommon.Current.ShowErrorInfoAlter(result);
}
}
else
{
refreshAction();
this.RemoveFromParent();
}
};
}
///
/// 加载功能Row
///
void LoadFunctionRow(SceneFunctionStatus sceneStatus)
{
if (sceneStatus == null)
return;
#region Row code
var row = new FrameLayout()
{
Height = Application.GetRealHeight(50),
BackgroundColor = CSS_Color.MainBackgroundColor,
};
contentView.AddChidren(row);
if (sceneStatus.key != FunctionAttributeKey.OnOff)
{
row.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
}
Button btnBrightnessRight = new Button()
{
X = Application.GetRealWidth(339),
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
UnSelectedImagePath = "Public/Right.png",
};
row.AddChidren(btnBrightnessRight);
var btnFunctionText = new Button()
{
Width = Application.GetRealWidth(330),
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
Text = FunctionList.List.GetValueText(sceneStatus.key,sceneStatus.value) + FunctionList.List.GetUintString(sceneStatus.key)
};
row.AddChidren(btnFunctionText);
if (sceneStatus.key == FunctionAttributeKey.OnOff)
btnOnText = btnFunctionText;
var btnFunctionName = new Button()
{
X = Application.GetRealWidth(16),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
Text = FunctionList.List.GetNameText(sceneStatus.key)
};
row.AddChidren(btnFunctionName);
btnFunctionName.MouseUpEventHandler = (sender, e) =>
{
switch (sceneStatus.key)
{
case FunctionAttributeKey.OnOff:
LoadEditDialog_OnOff(sceneStatus, btnFunctionText);
break;
case FunctionAttributeKey.Brightness:
LoadEditDialog_Percent(sceneStatus, btnFunctionText);
break;
case FunctionAttributeKey.Mode:
var statusList = new List();
var tr = sceneFunction.localFunction.attributes.Find((obj) => obj.key == FunctionAttributeKey.Mode);
foreach(var t in tr.value)
{
statusList.Add(t);
}
LoadEditDialog_FunctionPar(sceneStatus, btnFunctionText,statusList);
break;
case FunctionAttributeKey.FanSpeed:
var fanStatusList = new List();
var tr1 = sceneFunction.localFunction.attributes.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed);
foreach (var t in tr1.value)
{
fanStatusList.Add(t);
}
LoadEditDialog_FunctionPar(sceneStatus, btnFunctionText, fanStatusList);
break;
case FunctionAttributeKey.SetTemp:
LoadEditDialog_Temp(sceneStatus, btnFunctionText);
break;
case "delay":
break;
case "cct":
break;
case FunctionAttributeKey.Percent:
LoadEditDialog_Percent(sceneStatus, btnFunctionText);
break;
}
};
#endregion
}
#region 加载功能场景数据调节界面
///
/// 加载延时Row
///
void LoadDelayRow()
{
#region 延时row
FrameLayout delayRow = new FrameLayout()
{
Height = Application.GetRealWidth(50),
BackgroundColor = CSS_Color.MainBackgroundColor
};
contentView.AddChidren(delayRow);
delayRow.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
Button btnDelayRight = new Button()
{
X = Application.GetRealWidth(339),
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
UnSelectedImagePath = "Public/Right.png",
};
delayRow.AddChidren(btnDelayRight);
var btnDelayInfo = new Button()
{
Width = Application.GetRealWidth(327),
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
Text = FunctionList.List.GetDelayText( sceneFunction.delay)
};
delayRow.AddChidren(btnDelayInfo);
Button btnSceneDelayTitle = new Button()
{
X = Application.GetRealWidth(16),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextID = StringId.Delay,
};
delayRow.AddChidren(btnSceneDelayTitle);
btnSceneDelayTitle.MouseUpEventHandler = (sender, e) => {
Action action = (obj) => {
sceneFunction.delay = obj;
btnDelayInfo.Text = FunctionList.List.GetDelayText(obj);
};
new PublicAssmebly().SetSceneDelayDialog(action,sceneFunction.delay);
};
#endregion
}
#endregion
#region 属性选择弹窗
///
/// 加载开关选择弹窗
///
///
///
void LoadEditDialog_OnOff(SceneFunctionStatus trait, Button btn)
{
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.TextualColor,
SelectedTextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextID = StringId.On,
IsSelected = trait.value.ToString() == "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,
SelectedTextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextID = StringId.OFF,
IsSelected = trait.value.ToString() == "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();
trait.value = "on";
sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "on";
btn.Text = FunctionList.List.GetValueText(trait.key, trait.value) + FunctionList.List.GetUintString(trait.key);
};
btnOff.MouseUpEventHandler = (sender,e) =>{
dialog.Close();
trait.value = "off";
sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "off";
btn.Text= FunctionList.List.GetValueText(trait.key,trait.value) + FunctionList.List.GetUintString(trait.key);
};
}
///
/// 加载温度选择弹窗
///
///
///
void LoadEditDialog_Temp(SceneFunctionStatus trait, Button btn)
{
double temp = 16;
double.TryParse(trait.value, out temp);
trait.value = temp.ToString();
List pickerItems = new List();
if(trait == null)
{
return;
}
Dialog dialog = new Dialog();
var pView = new FrameLayout()
{
BackgroundColor = CSS_Color.DialogTransparentColor1,
};
dialog.AddChidren(pView);
var optionBaseView = new FrameLayout()
{
Y = Application.GetRealHeight(456-60),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(343),
Height = Application.GetRealHeight(260),
AnimateSpeed = 0.3f,
Animate = Animate.DownToUp,
BackgroundColor = CSS_Color.MainBackgroundColor,
Radius = (uint)Application.GetRealWidth(12),
};
pView.AddChidren(optionBaseView);
var topView = new FrameLayout()
{
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(343),
Height = Application.GetRealHeight(40),
BackgroundColor = CSS_Color.MainBackgroundColor,
Radius = (uint)Application.GetRealWidth(12),
};
optionBaseView.AddChidren(topView);
topView.AddChidren(new Button() {Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
var btnCancel = new Button()
{
X = Application.GetRealWidth(21),
Width = Application.GetRealWidth(100),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.TextFontSize,
TextID = StringId.Cancel,
};
topView.AddChidren(btnCancel);
var btnConfrim = new Button()
{
Width = Application.GetRealWidth(320),
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.TextFontSize,
TextID = StringId.Confirm,
};
topView.AddChidren(btnConfrim);
UIPickerView uIPickerView = new UIPickerView()
{
Y = Application.GetRealHeight(40),
Height = Application.GetRealHeight(210),
Radius = (uint)Application.GetRealWidth(12),
};
for (int i = 16; i <= 32; i += 1)
{
pickerItems.Add(i.ToString() + FunctionList.List.GetUintString(trait.key));
}
uIPickerView.setNPicker(pickerItems, null, null);
optionBaseView.AddChidren(uIPickerView);
uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()), 4, 5);
string selectItem = pickerItems[0];
if (pickerItems.Contains(trait.value + FunctionList.List.GetUintString(trait.key)))
{
selectItem = trait.value.ToString() + FunctionList.List.GetUintString(trait.key);
}
dialog.Show();
pView.MouseUpEventHandler = (sender, e) => {
dialog.Close();
};
btnCancel.MouseUpEventHandler = (sender, e) => {
dialog.Close();
};
uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
selectItem = pickerItems[int1];
};
btnConfrim.MouseUpEventHandler = (sender, e) => {
dialog.Close();
btn.Text = selectItem;
//sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ;
trait.value = selectItem.Replace(FunctionList.List.GetUintString(trait.key),"");
};
}
///
/// 加载亮度选择弹窗
///
///
///
void LoadEditDialog_Percent(SceneFunctionStatus trait, Button btn)
{
if (trait == null)
{
return;
}
Dialog dialog = new Dialog();
var pView = new FrameLayout()
{
BackgroundColor = CSS_Color.DialogTransparentColor1,
};
dialog.AddChidren(pView);
var optionBaseView = new FrameLayout()
{
Y = Application.GetRealHeight(467),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(343),
Height = Application.GetRealHeight(180),
AnimateSpeed = 0.3f,
Animate = Animate.DownToUp,
BackgroundColor = CSS_Color.MainBackgroundColor,
Radius = (uint)Application.GetRealWidth(12),
};
pView.AddChidren(optionBaseView);
var topView = new FrameLayout()
{
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(343),
Height = Application.GetRealHeight(40),
BackgroundColor = CSS_Color.MainBackgroundColor,
Radius = (uint)Application.GetRealWidth(12),
};
optionBaseView.AddChidren(topView);
topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
var btnTitle = new Button()
{
Gravity = Gravity.CenterHorizontal,
TextAlignment = TextAlignment.Center,
Width = Application.GetRealWidth(100),
Text = FunctionList.List.GetNameText(trait.key),
IsBold = true,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
};
topView.AddChidren(btnTitle);
var btnCancel = new Button()
{
X = Application.GetRealWidth(21),
Width = Application.GetRealWidth(100),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.TextFontSize,
TextID = StringId.Cancel,
};
topView.AddChidren(btnCancel);
var btnConfrim = new Button()
{
Width = Application.GetRealWidth(320),
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.TextFontSize,
TextID = StringId.Confirm,
};
topView.AddChidren(btnConfrim);
Button btnMinusSignIcon = new Button()
{
X = Application.GetRealWidth(26),
Y = Application.GetRealHeight(118),
Width = Application.GetMinRealAverage(24),
Height = Application.GetMinRealAverage(24),
UnSelectedImagePath = "Public/MinusSignIcon.png",
};
optionBaseView.AddChidren(btnMinusSignIcon);
DiyImageSeekBar controlBar = new DiyImageSeekBar()
{
X = btnMinusSignIcon.Right + Application.GetRealWidth(12),
Y = Application.GetRealHeight(100),//414,设计数据
Width = Application.GetRealWidth(220),
Height = Application.GetRealHeight(54),
SeekBarViewHeight = Application.GetRealHeight(8),
ThumbImagePath = "Public/ThumbImage.png",
ThumbImageHeight = Application.GetRealHeight(54),
ProgressBarColor = CSS_Color.MainColor,
ProgressTextColor = CSS_Color.FirstLevelTitleColor,
ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
MaxValue = 100,
Progress = trait.value.ToString().Replace("{}", "") == "" ? 0 : Convert.ToInt32(trait.value.Replace("{}", "")),
SeekBarPadding = Application.GetRealWidth(20),
};
optionBaseView.AddChidren(controlBar);
Button btnPlusSgnIcon = new Button()
{
X = controlBar.Right + Application.GetRealWidth(12),
Y = Application.GetRealHeight(118),
Width = Application.GetMinRealAverage(24),
Height = Application.GetMinRealAverage(24),
UnSelectedImagePath = "Public/PlusSignIcon.png",
};
optionBaseView.AddChidren(btnPlusSgnIcon);
btnMinusSignIcon.MouseUpEventHandler = (sender, e) =>
{
controlBar.Progress--;
};
btnPlusSgnIcon.MouseUpEventHandler = (sender, e) =>
{
controlBar.Progress++;
};
dialog.Show();
pView.MouseUpEventHandler = (sender, e) =>
{
dialog.Close();
};
btnCancel.MouseUpEventHandler = (sender, e) =>
{
dialog.Close();
};
btnConfrim.MouseUpEventHandler = (sender, e) =>
{
dialog.Close();
trait.value = controlBar.Progress.ToString();
btn.Text = trait.value + FunctionList.List.GetUintString(trait.key);
var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff);
if (temp != null)
{
if (controlBar.Progress > 0)
{
temp.value = "on";
}
else
{
temp.value = "off";
}
btnOnText.Text = FunctionList.List.GetValueText(temp.key, temp.value);
}
};
}
///
/// 加载功能属性数据选择弹窗
///
void LoadEditDialog_FunctionPar(SceneFunctionStatus trait, Button btn,List statusList)
{
Button lastButton = new Button();
var lastData = "";
var lastText = "";
Dialog dialog = new Dialog();
var pView = new FrameLayout()
{
BackgroundColor = CSS_Color.DialogTransparentColor1,
};
dialog.AddChidren(pView);
var optionBaseView = new FrameLayout()
{
Y = Application.GetRealHeight(579 - 50 * statusList.Count),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(343),
Height = Application.GetRealHeight(50 * statusList.Count + 50),
AnimateSpeed = 0.3f,
Animate = Animate.DownToUp,
BackgroundColor = CSS_Color.MainBackgroundColor,
Radius = (uint)Application.GetRealWidth(12),
};
pView.AddChidren(optionBaseView);
var topView = new FrameLayout()
{
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(343),
Height = Application.GetRealHeight(50),
BackgroundColor = CSS_Color.MainBackgroundColor,
Radius = (uint)Application.GetRealWidth(12),
};
optionBaseView.AddChidren(topView);
var btnTitle = new Button()
{
Gravity = Gravity.CenterHorizontal,
TextAlignment = TextAlignment.Center,
Width = Application.GetRealWidth(100),
Text = FunctionList.List.GetNameText(trait.key),
IsBold = true,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
};
topView.AddChidren(btnTitle);
var btnCancel = new Button()
{
X = Application.GetRealWidth(21),
Width = Application.GetRealWidth(100),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.TextFontSize,
TextID = StringId.Cancel,
};
topView.AddChidren(btnCancel);
var btnConfrim = new Button()
{
Width = Application.GetRealWidth(320),
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.TextFontSize,
TextID = StringId.Complete,
};
topView.AddChidren(btnConfrim);
int hei = 1;
foreach (var m in statusList)
{
var row = new FrameLayout()
{
Y = Application.GetRealHeight(50 * hei),
Height = Application.GetRealHeight(50),
};
optionBaseView.AddChidren(row);
if (statusList.Count > hei)
{
optionBaseView.AddChidren(new Button()
{
Gravity = Gravity.CenterHorizontal,
Y = row.Bottom,
Width = Application.GetRealWidth(343),
BackgroundColor = CSS_Color.DividingLineColor,
Height = 1,
});
}
hei++;
var btnChoose = new Button()
{
X = Application.GetRealWidth(303),
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(28),
Height = Application.GetMinRealAverage(28),
UnSelectedImagePath = "Public/ChooseIcon.png",
SelectedImagePath = "Public/ChooseOnIcon.png",
};
row.AddChidren(btnChoose);
if (trait.value == m)
{
lastButton = btnChoose;
btnChoose.IsSelected = true;
}
var btnPropertyTitle = new Button()
{
X = Application.GetRealWidth(16),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
Tag = m,
Text = FunctionList.List.GetValueText(trait.key, m)
};
row.AddChidren(btnPropertyTitle);
btnPropertyTitle.MouseUpEventHandler = (sender, e) => {
btnChoose.IsSelected = true;
if (lastButton != null)
{
lastButton.IsSelected = false;
}
lastButton = btnChoose;
lastData = btnPropertyTitle.Tag.ToString();
lastText = btnPropertyTitle.Text;
};
}
dialog.Show();
pView.MouseUpEventHandler = (sender, e) => {
dialog.Close();
};
btnCancel.MouseUpEventHandler = (sender, e) => {
dialog.Close();
};
btnConfrim.MouseUpEventHandler = (sender, e) => {
dialog.Close();
trait.value = lastData;
//sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.curValue.ToString() ;
btn.Text = lastText;
};
}
#endregion
}
}