using System;
|
using HDL_ON.Entity;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public partial class FunctionControlZone
|
{
|
/// <summary>
|
/// 加载功能收藏按钮事件
|
/// </summary>
|
void LoadCollectionEvent()
|
{
|
btnCollectionIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
btnCollectionIcon.IsSelected = function.collection = !btnCollectionIcon.IsSelected;
|
DB_ResidenceData.residenceData.SaveResidenceData();
|
};
|
}
|
/// <summary>
|
/// 加载场景控制事件
|
/// </summary>
|
void LoadEvent_ControlScene()
|
{
|
EventHandler<MouseEventArgs> upEvent = (sender, e) => {
|
bodyDiv.BorderColor = CSS.CSS_Color.MainColor;
|
bodyDiv.BorderWidth = (uint)Application.GetRealWidth(5);
|
Control.Send(function);
|
new System.Threading.Thread(() => {
|
System.Threading.Thread.Sleep(1000);
|
Application.RunOnMainThread(() => {
|
bodyDiv.BorderColor = CSS.CSS_Color.MainColor;
|
bodyDiv.BorderWidth = (uint)Application.GetRealWidth(0);
|
});
|
}) { IsBackground = true }.Start();
|
};
|
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) =>
|
{
|
dimmerControlBar.Tag = DateTime.Now;
|
if ((DateTime.Now - (DateTime)(dimmerControlBar.Tag)).TotalMilliseconds < 200)//调光命令发送间隔事件
|
{
|
new System.Threading.Thread(() =>
|
{
|
light.brightness = e;
|
Control.Send(CommandType_A.write, function);
|
dimmerControlBar.Tag = DateTime.Now;
|
})
|
{ IsBackground = true }.Start();
|
}
|
};
|
dimmerControlBar.MouseUpEventHandler += (sender, e) =>
|
{
|
light.brightness = dimmerControlBar.Progress;
|
Control.Send(CommandType_A.write, function);
|
};
|
}
|
}
|
#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()
|
{
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
//跳转到功能信息设置页面
|
switch (function.functionType)
|
{
|
case FunctionType.Relay:
|
var relayView = new RelayPage(function as Light);
|
MainPage.BasePageView.AddChidren(relayView);
|
relayView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
break;
|
case FunctionType.RGB:
|
var rgbView = new RGBPage(function as Light);
|
MainPage.BasePageView.AddChidren(rgbView);
|
rgbView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
break;
|
case FunctionType.Dimmer:
|
var dimmerView = new DimmerPage(function as Light);
|
MainPage.BasePageView.AddChidren(dimmerView);
|
dimmerView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
break;
|
case FunctionType.MotorCurtain:
|
var skinView = new MotorCurtainPage(function as Curtain);
|
MainPage.BasePageView.AddChidren(skinView);
|
skinView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
break;
|
case FunctionType.Curtain:
|
var curtainView = new CurtainModulePage(function as Curtain);
|
MainPage.BasePageView.AddChidren(curtainView);
|
curtainView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
break;
|
case FunctionType.RollingShutter:
|
var rollingShutterView = new RollingShutterPage(function as Curtain);
|
MainPage.BasePageView.AddChidren(rollingShutterView);
|
rollingShutterView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
break;
|
case FunctionType.AC:
|
var acView = new ACPage(function as AC);
|
MainPage.BasePageView.AddChidren(acView);
|
acView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
break;
|
}
|
};
|
this.MouseUpEventHandler = eventHandler;
|
}
|
}
|
}
|