using System;
|
using HDL_ON.Entity;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public partial class FunctionControlZone
|
{
|
/// <summary>
|
/// 加载功能收藏按钮事件
|
/// </summary>
|
void LoadEvent_FunctionCollection()
|
{
|
btnCollectionIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
btnCollectionIcon.IsSelected = function.collection = !btnCollectionIcon.IsSelected;
|
DB_ResidenceData.residenceData.SaveResidenceData();
|
};
|
}
|
/// <summary>
|
/// 加载场景控制事件
|
/// </summary>
|
void LoadEvent_ControlScene()
|
{
|
EventHandler<MouseEventArgs> upEvent = (sender, e) => {
|
Control.Send(function);
|
string msg = function.name + Language.StringByID(StringId.AlreadyOpened);
|
new PublicAssmebly().TipMsgAutoClose(msg, false);
|
};
|
btnName.MouseUpEventHandler = upEvent;
|
btnFromFloor.MouseUpEventHandler = upEvent;
|
bodyDiv.MouseUpEventHandler = upEvent;
|
}
|
|
/// <summary>
|
/// 开关事件
|
/// </summary>
|
void LoadEvent_SwitchFunction(Button btnSwitch)
|
{
|
btnSwitch.MouseUpEventHandler = (sender, e) =>
|
{
|
btnSwitch.IsSelected = !btnSwitch.IsSelected;
|
new System.Threading.Thread(() =>
|
{
|
function.on_off = btnSwitch.IsSelected ? "on" : "off";
|
Control.Send(CommandType_A.write, function);
|
})
|
{ IsBackground = true }.Start();
|
};
|
}
|
#region 灯光的事件列表
|
|
/// <summary>
|
/// 灯光开关事件
|
/// </summary>
|
void LoadEvent_LightSwitch(Button btnSwitch)
|
{
|
btnSwitch.MouseUpEventHandler += (sender, e) =>
|
{
|
btnSwitch.IsSelected = !btnSwitch.IsSelected;
|
new System.Threading.Thread(() =>
|
{
|
if (function.functionCategory == FunctionCategory.Light)
|
{
|
var light = function as Light;
|
light.on_off = btnSwitch.IsSelected ? "on" : "off";
|
Control.Send(CommandType_A.write, function);
|
}
|
})
|
{ IsBackground = true }.Start();
|
};
|
}
|
|
/// <summary>
|
/// 灯光亮度调节事件
|
/// </summary>
|
void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar)
|
{
|
//if (function.functionType == FunctionType.Dimmer || function.functionType == FunctionType.RGB)
|
//{
|
// if (dimmerControlBar == null)
|
// return;
|
// var light = function as Light;
|
// dimmerControlBar.OnProgressChangedEvent += (sender, e) =>
|
// {
|
// if ((DateTime.Now - light.refreshTime).TotalMilliseconds > 200)//调光命令发送间隔事件
|
// {
|
// new System.Threading.Thread(() =>
|
// {
|
// light.refreshTime = DateTime.Now;
|
// light.brightness = e;
|
// Control.Send(CommandType_A.write, function);
|
// })
|
// { IsBackground = true }.Start();
|
// }
|
// };
|
// dimmerControlBar.OnStopTrackingTouchEvent += (sender, e) =>
|
// {
|
// light.brightness = dimmerControlBar.Progress;
|
// Control.Send(CommandType_A.write, function);
|
// };
|
//}
|
if(function.functionType == FunctionType.Dimmer || function.functionType == FunctionType.RGB)
|
{
|
var light = function as Light;
|
dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => {
|
onDimmerBar = true;
|
};
|
dimmerControlBar.OnStopTrackingTouchEvent = (sender, e) => {
|
onDimmerBar = false;
|
light.brightness = dimmerControlBar.Progress;
|
Control.Send(CommandType_A.write, light);
|
};
|
dimmerControlBar.OnProgressChangedEvent = (sender, e) => {
|
light.brightness = e;
|
light.on_off = e > 0 ? "on" : "off";
|
|
if (e == 0 || e == 100)
|
{
|
Control.Send(CommandType_A.write, light);
|
}
|
else
|
{
|
if (200 < (DateTime.Now - light.refreshTime).TotalMilliseconds)
|
{
|
light.refreshTime = DateTime.Now;
|
new System.Threading.Thread(() =>
|
{
|
Control.Send(CommandType_A.write, light);
|
})
|
{ IsBackground = true }.Start();
|
}
|
else
|
{
|
MainPage.Log("skip dimmer control!!");
|
}
|
}
|
};
|
|
}
|
|
}
|
#endregion
|
|
|
#region 窗帘的事件列表
|
/// <summary>
|
/// 加载窗帘控制事件
|
/// </summary>
|
/// <param name="btnStop"></param>
|
/// <param name="btnOpen"></param>
|
/// <param name="btnClose"></param>
|
void LoadEvent_ControlCurtain(Button btnStop, Button btnOpen, Button btnClose, Curtain curtain)
|
{
|
btnClose.MouseUpEventHandler = (sender, e) =>
|
{
|
btnClose.IsSelected = true;
|
btnStop.IsSelected = false;
|
btnOpen.IsSelected = false;
|
curtain.on_off = "off";
|
Control.Send(CommandType_A.write, curtain);
|
};
|
|
btnStop.MouseDownEventHandler = (sender, e) =>
|
{
|
btnStop.IsSelected = true;
|
btnClose.IsSelected = false;
|
btnOpen.IsSelected = false;
|
};
|
btnStop.MouseUpEventHandler = (sender, e) =>
|
{
|
btnOpen.IsSelected = true;
|
btnClose.IsSelected = false;
|
btnStop.IsSelected = false;
|
curtain.on_off = "stop";
|
Control.Send(CommandType_A.write, curtain);
|
};
|
|
btnOpen.MouseUpEventHandler = (sender, e) =>
|
{
|
btnOpen.IsSelected = true;
|
btnClose.IsSelected = false;
|
btnStop.IsSelected = false;
|
curtain.on_off = "on";
|
Control.Send(CommandType_A.write, curtain);
|
};
|
}
|
#endregion
|
|
#region 空调事件
|
#endregion
|
|
/// <summary>
|
/// 控制界面跳转
|
/// </summary>
|
void LoadEvent_DivSkipEvent()
|
{
|
var eventHandler = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollectionIcon, btnName, btnFromFloor);
|
this.MouseUpEventHandler = eventHandler;
|
}
|
|
|
}
|
}
|