Files
DP44/Common/DTS.Common/.svn/pristine/53/5337c4bd0ad455c69029e57663253f710a73a36b.svn-base

61 lines
3.0 KiB
Plaintext
Raw Normal View History

2026-04-17 14:55:32 -04:00
using System;
using System.Globalization;
using System.Windows.Data;
using DTS.Common.Enums;
namespace DTS.Common.Converters
{
public class TestDataToRegionOfInterestMaximumConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
//values: dataStart, dataEnd, PreTrigger, PostTrigger, RecordingMode
if (values.Length == 5)
{
if (values[2] is double && values[3] is double postTrigger &&
values[4] is RecordingModes recordingMode)
{
switch (recordingMode)
{
case RecordingModes.CircularBuffer:
case RecordingModes.RAMActive:
case RecordingModes.MultipleEventRAMActive:
case RecordingModes.CircularBufferAndStreamSubSample:
case RecordingModes.CircularBufferPlusUART:
case RecordingModes.MultipleEventCircularBuffer:
case RecordingModes.MultipleEventCircularBufferPlusUART:
//maximum is PostTrigger
return postTrigger;
case RecordingModes.Recorder:
case RecordingModes.RecorderPlusUART:
case RecordingModes.MultipleEventRecorder:
case RecordingModes.MultipleEventRecorderPlusUART:
case RecordingModes.HybridRecorder:
case RecordingModes.HybridAndStream:
case RecordingModes.MultipleEventHybridAndStream:
case RecordingModes.MultipleEventHybridRecorder:
case RecordingModes.ContinuousRecorder:
case RecordingModes.ContinuousRecorderPlusUART:
case RecordingModes.RecordOnBoot:
case RecordingModes.RecordOnBootPlusUART:
case RecordingModes.RecorderAndStreamSubSample:
case RecordingModes.MultipleEventRecorderAndStream:
// FB16465: maximum is DataEnd. if it's currently unknown, return PostTrigger
// FB17991: could also be set to Max instead of unknown, same difference
case RecordingModes.Active:
case RecordingModes.MultipleEventActive:
// FB18333: max holds for Active too.
return values[1] is double end ? end < double.MaxValue ? end : postTrigger : postTrigger;
}
}
}
return double.PositiveInfinity;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}