using System.ComponentModel; using DTS.Common.Converters; using DTS.Common.Enums.DASFactory; using DTS.Common.Utils; using Xceed.Wpf.Toolkit.PropertyGrid.Attributes; namespace DTS.Common.Enums { [TypeConverter(typeof(EnumDescriptionTypeConverter))] public enum RecordingModes { [Description("RecordingModes_CircularBuffer")] CircularBuffer, [Description("RecordingModes_Recorder")] Recorder, [Description("RecordingModes_HybridRecorder")] HybridRecorder, [Description("RecordingModes_S6A_DeviceStreamingOnly")] S6A_DeviceStreamingOnly, [Description("RecordingModes_CircularBufferPlusUART")] CircularBufferPlusUART, [Description("RecordingModes_RecorderPlusUART")] RecorderPlusUART, [Description("RecordingModes_MultipleEventCircularBuffer")] MultipleEventCircularBuffer, [Description("RecordingModes_MultipleEventRecorder")] MultipleEventRecorder, [Description("RecordingModes_ContinuousRecorder")] ContinuousRecorder, [Description("RecordingModes_RecorderAndStreamSubSample")] RecorderAndStreamSubSample, [Description("RecordingModes_CircularBufferAndStreamSubSample")] CircularBufferAndStreamSubSample, [Description("RecordingModes_Active")] Active, [Description("RecordingModes_MultipleEventActive")] MultipleEventActive, [Description("RecordingModes_MultipleEventHybridRecorder")] MultipleEventHybridRecorder, [Description("RecordingModes_Streaming")] Streaming, [Description("RecordingModes_Scheduled")] Scheduled, [Description("RecordingModes_Interval")] Interval, [Description("RecordingModes_MultipleEventCircularBufferPlusUART")] MultipleEventCircularBufferPlusUART, [Description("RecordingModes_MultipleEventRecorderPlusUART")] MultipleEventRecorderPlusUART, [Description("RecordingModes_ContinuousRecorderPlusUART")] ContinuousRecorderPlusUART, [Description("RecordingModes_RAMActive")] RAMActive, [Description("RecordingModes_MultipleEventRAMActive")] MultipleEventRAMActive, [Description("RecordingModes_RecordOnBoot")] RecordOnBoot, [Description("RecordingModes_RecordOnBootPlusUART")] RecordOnBootPlusUART, [Description("RecordingModes_MultipleEventHybridAndStream")] MultipleEventHybridAndStream, [Description("RecordingModes_HybridAndStream")] HybridAndStream, [Description("RecordingModes_MultipleEventCircularBufferAndStream")] MultipleEventCircularBufferAndStream, [Description("RecordingModes_MultipleEventRecorderAndStream")] MultipleEventRecorderAndStream } // FB15520 Restrict Recording Mode Test Setup Default selections to non-streaming public class NonStreamingRecordingModeItemsSource : RecordingModeItemsSource { public override ItemCollection GetValues() { return FromModes(Constants.NonStreamingRecordingModes); } } public abstract class RecordingModeItemsSource : IItemsSource { protected ItemCollection FromModes(RecordingModes[] modes) { var values = new ItemCollection(); foreach (var mode in modes) { values.Add(mode, Strings.Strings.ResourceManager.GetString(mode.GetEnumDescription())); } return values; } public virtual ItemCollection GetValues() { return FromModes(new RecordingModes[] { }); } } }