92 lines
2.8 KiB
C#
92 lines
2.8 KiB
C#
using Aurora;
|
|
using Aurora.Api;
|
|
using VisionLight;
|
|
using VisionCommon;
|
|
using System;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using Aurora.Api.Devices;
|
|
|
|
namespace VisionCommonUI {
|
|
public partial class PatternLightSettingViewEachCh : UserControl {
|
|
private Logger _Logger = new Logger(typeof(PatternLightSettingViewEachCh).Name);
|
|
|
|
private FovInfo _FovInfo;
|
|
private LightConfigInfo _LightConfigInfo;
|
|
|
|
private int _ChNum;
|
|
private int _ChLevel;
|
|
private eLightId _LightId;
|
|
private Range<int> _DimRange;
|
|
|
|
public PatternLightSettingViewEachCh(FovInfo fovInfo, LightConfigInfo lightConfigInfo) {
|
|
if (fovInfo == null) {
|
|
_Logger.FuncE("fovInfo is null.");
|
|
return;
|
|
}
|
|
_FovInfo = fovInfo;
|
|
_LightConfigInfo = lightConfigInfo;
|
|
|
|
InitializeComponent();
|
|
Init(_LightConfigInfo);
|
|
}
|
|
|
|
private void Init(LightConfigInfo lightConfigInfo) {
|
|
_ChNum = lightConfigInfo.ChConfig.Ch;
|
|
_ChLevel = lightConfigInfo.ChConfig.Level;
|
|
_LightId = lightConfigInfo.LightId;
|
|
_DimRange = (lightConfigInfo.DimRange.Min, lightConfigInfo.DimRange.Max);
|
|
|
|
InitLedSliderRange();
|
|
InitLedSliderValue();
|
|
}
|
|
|
|
private void InitLedSliderRange() {
|
|
SliderLED.Minimum = _DimRange.Min;
|
|
SliderLED.Maximum = _DimRange.Max;
|
|
|
|
if (_DimRange.Max > 255) {
|
|
repeatBtnPlus.Interval = 10;
|
|
repeatBtnMinus.Interval = 10;
|
|
}
|
|
}
|
|
|
|
private void InitLedSliderValue() {
|
|
SliderLED.Value = _ChLevel;
|
|
}
|
|
|
|
public void Checked_LightOn(object sender, RoutedEventArgs e) {
|
|
LightHub.Instance.SetOn(_LightId.ToString(), _ChNum);
|
|
}
|
|
|
|
public void Checked_LightOff(object sender, RoutedEventArgs e) {
|
|
LightHub.Instance.SetOff(_LightId.ToString(), _ChNum);
|
|
}
|
|
|
|
public void SliderValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) {
|
|
var slider = sender as Slider;
|
|
if (slider != null) {
|
|
_ChLevel = Convert.ToInt16(slider.Value);
|
|
}
|
|
|
|
if ((bool)cbOnOff.IsChecked) {
|
|
LightHub.Instance.SetLevel(_LightId.ToString(), _ChLevel, _ChNum);
|
|
}
|
|
else {
|
|
_Logger.FuncW("The light is off.");
|
|
}
|
|
}
|
|
|
|
private void OnLightPlusBtnClicked(object sender, RoutedEventArgs e) {
|
|
SliderLED.Value += 1;
|
|
}
|
|
|
|
private void OnLightMinusBtnClicked(object sender, RoutedEventArgs e) {
|
|
SliderLED.Value -= 1;
|
|
}
|
|
|
|
public VisionLight.LightDeviceType GetLightType() {
|
|
return _LightConfigInfo.ChConfig.DeviceType;
|
|
}
|
|
}
|
|
} |