using System;
|
using HDL_ON.DriverLayer;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.Music;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public partial class FunctionControlZone
|
{
|
/// <summary>
|
/// 更新开关状态
|
/// </summary>
|
/// <param name="upfunc"></param>
|
public static void UpdataOnOffState(Function upfunc)
|
{
|
if(bodyDiv!= null)
|
{
|
Application.RunOnMainThread(() => {
|
if(bodyDiv.Tag.ToString() == upfunc.sid)
|
{
|
for (var o = 0; o < bodyDiv.ChildrenCount; o++)
|
{
|
if (bodyDiv.GetChildren(o).GetType() == typeof(Button))
|
{
|
var btn = bodyDiv.GetChildren(o) as Button;
|
if (btn.Tag != null)
|
{
|
if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar")
|
{
|
btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on";
|
}
|
}
|
}
|
else if (bodyDiv.GetChildren(o).GetType() == typeof(DiyImageSeekBar))
|
{
|
var btn = bodyDiv.GetChildren(o) as DiyImageSeekBar;
|
if (btn.Tag != null)
|
{
|
if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar")
|
{
|
//btn.Progress = (upfunc as Light).trait_brightness.value.value.ToString() == "on";
|
}
|
}
|
}
|
}
|
|
}
|
});
|
}
|
}
|
/// <summary>
|
/// 更新亮度状态
|
/// </summary>
|
/// <param name="upfunc"></param>
|
static void UpdataBrightnessState(Function upfunc)
|
{
|
|
}
|
|
/// <summary>
|
/// 加载功能收藏按钮事件
|
/// </summary>
|
void LoadEvent_FunctionCollection()
|
{
|
btnCollectionIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
btnCollectionIcon.IsSelected = function.collect = !btnCollectionIcon.IsSelected;
|
function.SaveFunctionData(true);
|
};
|
}
|
|
/// <summary>
|
/// 开关事件
|
/// </summary>
|
void LoadEvent_SwitchFunction(Button btnSwitch)
|
{
|
btnSwitch.MouseUpEventHandler = (sender, e) =>
|
{
|
btnSwitch.IsSelected = !btnSwitch.IsSelected;
|
new System.Threading.Thread(() =>
|
{
|
function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
|
//Control.Send(CommandType_A.write, function);
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add("on_off", function.trait_on_off.curValue.ToString());
|
Control.Ins.SendWriteCommand(function, d);
|
})
|
{ 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.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
|
//Control.Send(CommandType_A.write, function);
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add("on_off", function.trait_on_off.curValue.ToString());
|
Control.Ins.SendWriteCommand(function, d);
|
}
|
})
|
{ IsBackground = true }.Start();
|
};
|
}
|
|
/// <summary>
|
/// 灯光亮度调节事件
|
/// </summary>
|
void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar)
|
{
|
if(function.functionType == FunctionType.Dimmer || function.functionType == FunctionType.RGB)
|
{
|
var light = function as Light;
|
dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => {
|
onDimmerBar = true;
|
(bodyDiv.Parent as VerticalScrolViewLayout).ScrollEnabled = false;
|
};
|
dimmerControlBar.OnStopTrackingTouchEvent = (sender, e) => {
|
onDimmerBar = false;
|
(bodyDiv.Parent as VerticalScrolViewLayout).ScrollEnabled = true;
|
light.brightness = dimmerControlBar.Progress;
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add("brightness", light.brightness.ToString());
|
Control.Ins.SendWriteCommand(light, d);
|
};
|
dimmerControlBar.OnProgressChangedEvent = (sender, e) => {
|
light.brightness = e;
|
light.trait_on_off.curValue = e > 0 ? "on" : "off";
|
|
if (e == 0 || e == 100)
|
{
|
//Control.Send(CommandType_A.write, light);
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add("brightness", light.brightness.ToString());
|
Control.Ins.SendWriteCommand(light, d);
|
}
|
else
|
{
|
var tm = (DateTime.Now - light.refreshTime).TotalMilliseconds;
|
Console.WriteLine("skip time "+tm);
|
if (300 < tm)
|
{
|
light.refreshTime = DateTime.Now;
|
new System.Threading.Thread(() =>
|
{
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add("brightness", light.brightness.ToString());
|
Control.Ins.SendWriteCommand(light, d);
|
})
|
{ IsBackground = true }.Start();
|
}
|
}
|
};
|
}
|
|
}
|
#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.trait_on_off.curValue = "off";
|
curtain.percent = 0;
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add("on_off", curtain.trait_on_off.curValue.ToString());
|
Control.Ins.SendWriteCommand(curtain, d);
|
};
|
|
//btnStop.MouseDownEventHandler = (sender, e) =>
|
//{
|
// btnStop.IsSelected = true;
|
// btnClose.IsSelected = false;
|
// btnOpen.IsSelected = false;
|
//};
|
btnStop.MouseUpEventHandler = (sender, e) =>
|
{
|
btnStop.IsSelected = true;
|
btnClose.IsSelected = false;
|
btnOpen.IsSelected = false;
|
curtain.trait_on_off.curValue = "stop";
|
//curtain.percent = 0;
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add("on_off", curtain.trait_on_off.curValue.ToString());
|
Control.Ins.SendWriteCommand(curtain, d);
|
};
|
|
btnOpen.MouseUpEventHandler = (sender, e) =>
|
{
|
btnOpen.IsSelected = true;
|
btnClose.IsSelected = false;
|
btnStop.IsSelected = false;
|
curtain.trait_on_off.curValue = "on";
|
curtain.percent = 100;
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add("on_off", curtain.trait_on_off.curValue.ToString());
|
Control.Ins.SendWriteCommand(curtain, d);
|
};
|
}
|
#endregion
|
|
#region 空调事件
|
#endregion
|
|
/// <summary>
|
/// 音乐控制事件列表
|
/// </summary>
|
/// <param name="btnStop"></param>
|
/// <param name="btnOpen"></param>
|
/// <param name="btnClose"></param>
|
/// <param name="curtain"></param>
|
void LoadEvent_ControlMusic(Button btnPlay,Button btnNext,Button btnPrev, A31MusicModel a31player)
|
{
|
///上一曲点击事件
|
btnPrev.MouseDownEventHandler = (sender, e) =>
|
{
|
btnPrev.IsSelected = true;
|
SendMethod.Previous(a31player);
|
};
|
btnPrev.MouseUpEventHandler = (sender, e) =>
|
{
|
btnPrev.IsSelected = false;
|
};
|
///暂停/播放点击事件
|
btnPlay.MouseDownEventHandler = (sender, e) =>
|
{
|
if (btnPlay.IsSelected)
|
{
|
btnPlay.IsSelected = false;
|
SendMethod.Pause(a31player);
|
a31player.A31PlayStatus.status = "pause";
|
}
|
else
|
{
|
btnPlay.IsSelected = true;
|
SendMethod.Play(a31player);
|
a31player.A31PlayStatus.status = "play";
|
}
|
};
|
///下一曲点击事件
|
btnNext.MouseDownEventHandler = (sender, e) =>
|
{
|
btnNext.IsSelected = true;
|
SendMethod.Next(a31player);
|
};
|
btnNext.MouseUpEventHandler = (sender, e) =>
|
{
|
btnNext.IsSelected = false;
|
};
|
|
}
|
|
/// <summary>
|
/// 控制界面跳转
|
/// </summary>
|
void LoadEvent_DivSkipEvent()
|
{
|
var eventHandler = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollectionIcon, btnName, btnFromFloor);
|
this.MouseUpEventHandler = eventHandler;
|
btnName.MouseUpEventHandler = eventHandler;
|
btnFromFloor.MouseUpEventHandler = eventHandler;
|
}
|
|
|
}
|
}
|