using System;
using HDL_ON.Entity;
using Shared;
namespace HDL_ON.UI
{
public partial class HomePage
{
///
/// 更新主页天气
///
public static void LoadEvent_RefreshAir()
{
bodyView.btnTempValues.Text = MainPage.cityInfo.temperature == null ? "--" : MainPage.cityInfo.temperature + "°";
bodyView.btnHumidityValues.Text = MainPage.cityInfo.humidity == null ? "--" : MainPage.cityInfo.humidity + "%";
bodyView.btnPm25Values.Text = MainPage.cityInfo.pm25 == null ? "--" : MainPage.cityInfo.pm25;
}
///
/// 加载功能收藏按钮事件
///
void LoadEvent_FunctionCollection(Button btn,Function function,bool isDevice)
{
btn.MouseUpEventHandler += (sender, e) =>
{
function.collection = false;
if(function.functionCategory == FunctionCategory.Music)//处理音乐主从关系
{
if ((function as Music.A31MusicModel).ServerClientType == 1)
{
(function as Music.A31MusicModel).MainPlayCollection = false;
Music.A31MusicModel.Save();
}
}
string msg = function.name + Language.StringByID(StringId.CollectionCancelled);
if (isDevice)
{
LoadDeviceFunctionControlZone();
}
else
{
LoadSceneFunctionControlZone();
}
function.SaveFunctionData();
new PublicAssmebly().TipMsgAutoClose(msg, true);
};
}
///
/// 修改显示的功能类型
/// 设备功能/场景功能
///
void LoadEvent_ChangeShowedFunctionType()
{
btnChangeFunction.MouseUpEventHandler = (sender, e) =>
{
btnChangeFunction.IsSelected = true;
btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
btnChangeFunction.IsBold = true;
btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
btnChangeScene.IsSelected = false;
btnChangeScene.IsBold = false;
CurShowTypeIsFunction = true;
contentView.PageIndex = 0;
};
btnChangeScene.MouseUpEventHandler = (sender, e) =>
{
btnChangeScene.IsSelected = true;
btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
btnChangeScene.IsBold = true;
btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
btnChangeFunction.IsSelected = false;
btnChangeFunction.IsBold = false;
CurShowTypeIsFunction = false;
contentView.PageIndex = 1;
};
contentView.PageChange = (sender, e) =>
{
if (contentView.PageIndex == 0)
{
btnChangeFunction.IsSelected = true;
btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
btnChangeFunction.IsBold = true;
btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
btnChangeScene.IsSelected = false;
btnChangeScene.IsBold = false;
CurShowTypeIsFunction = true;
}
else
{
btnChangeScene.IsSelected = true;
btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
btnChangeScene.IsBold = true;
btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
btnChangeFunction.IsSelected = false;
btnChangeFunction.IsBold = false;
CurShowTypeIsFunction = false;
}
};
}
///
/// 更新显示状态
///
public static void UpdataFunctionStates(Function function)
{
Application.RunOnMainThread(() =>
{
try
{
if (bodyView != null)
{
foreach (var view in bodyView.functionViews)
{
if (view.Tag.ToString() == function.sid)
{
var state = function.trait_on_off.value.ToString() == "on";
for (int i = 0; i < view.ChildrenCount; i++)
{
if (view.GetChildren(i).GetType() == typeof(Button))
{
var btn = view.GetChildren(i) as Button;
btn.IsSelected = state;
if (btn.Tag != null && btn.Tag.ToString() == "state")
{
if(function.functionCategory == FunctionCategory.Music)
{
btn.Text = (function as Music.A31MusicModel).A31PlayStatus.Title;
}
else
{
btn.Text = function.lastState;
}
}
}
}
}
}
}
}
catch (Exception ex)
{
MainPage.Log($"HomePage updata funciton states error {ex.Message}");
}
});
}
///
/// 加载场景控制事件
///
void LoadEvent_ControlScene(Button btnCoverd,Button btnName,Button btnZone ,Function function)
{
EventHandler eventHandler = (sender, e) =>
{
string msg = function.name + Language.StringByID(StringId.AlreadyOpened);
new PublicAssmebly().TipMsgAutoClose(msg, true);
Control.Send(function);
};
btnCoverd.MouseUpEventHandler = eventHandler;
btnName.MouseUpEventHandler = eventHandler;
btnZone.MouseUpEventHandler = eventHandler;
}
///
/// 加载灯光开关事件
///
///
///
void LoadEvent_SwitchFunction(Function function, Button btnSwitch)
{
btnSwitch.MouseUpEventHandler = (sender, e) =>
{
btnSwitch.IsSelected = !btnSwitch.IsSelected;
new System.Threading.Thread(() =>
{
function.trait_on_off.value = btnSwitch.IsSelected ? "on" : "off";
//Control.Send(CommandType_A.write, function);
System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary();
d.Add("on_off", function.trait_on_off.value.ToString());
Control.SendWriteCommand(function, d);
})
{ IsBackground = true }.Start();
};
}
///
/// 加载电视控制事件
///
///
///
void LoadEvent_ControlTV(TV tV,Button button)
{
button.MouseUpEventHandler = (sender, e) => {
tV.ControlTV(InfraredCode_TV.Power);
};
}
///
/// 加载窗帘控制事件
///
void LoadEvent_ControlCurtain(Curtain curtain, Button btnClose, Button btnOpen)
{
btnClose.MouseDownEventHandler = (sender, e) =>
{
btnClose.IsSelected = true;
};
btnClose.MouseUpEventHandler = (sender, e) =>
{
btnClose.IsSelected = false;
curtain.trait_on_off.value = "off";
//Control.Send(CommandType_A.write, curtain);
System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary();
d.Add("on_off",curtain.trait_on_off.value.ToString());
Control.SendWriteCommand(curtain, d);
};
btnOpen.MouseDownEventHandler = (sender, e) =>
{
btnOpen.IsSelected = true;
};
btnOpen.MouseUpEventHandler = (sender, e) =>
{
btnOpen.IsSelected = false;
curtain.trait_on_off.value = "on";
//Control.Send(CommandType_A.write, curtain);
System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary();
d.Add("on_off", curtain.trait_on_off.value.ToString());
Control.SendWriteCommand(curtain, d);
};
}
}
}