using System.ComponentModel; using DTS.Common.Converters; using DTS.Common.Enums.DASFactory; using DTS.Common.Utils; using Xceed.Wpf.Toolkit.PropertyGrid.Attributes; using DTS.Common.Attributes; namespace DTS.Common.Enums { [TypeConverter(typeof(EnumDescriptionTypeConverter))] public enum RecordingModes { [Description("RecordingModes_CircularBuffer")] [ProgrammableTriggers(true, true)] CircularBuffer, [Description("RecordingModes_Recorder")] [ProgrammableTriggers(false, true)] Recorder, [ProgrammableTriggers(false, true)] [Description("RecordingModes_HybridRecorder")] HybridRecorder, [ProgrammableTriggers(false, false)] [Description("RecordingModes_S6A_DeviceStreamingOnly")] S6A_DeviceStreamingOnly, [ProgrammableTriggers(true, true)] [Description("RecordingModes_CircularBufferPlusUART")] CircularBufferPlusUART, [ProgrammableTriggers(false, true)] [Description("RecordingModes_RecorderPlusUART")] RecorderPlusUART, [ProgrammableTriggers(true, true)] [Description("RecordingModes_MultipleEventCircularBuffer")] MultipleEventCircularBuffer, [ProgrammableTriggers(false, true)] [Description("RecordingModes_MultipleEventRecorder")] MultipleEventRecorder, [ProgrammableTriggers(false, false)] [Description("RecordingModes_ContinuousRecorder")] ContinuousRecorder, [ProgrammableTriggers(false, true)] [Description("RecordingModes_RecorderAndStreamSubSample")] RecorderAndStreamSubSample, [ProgrammableTriggers(true, true)] [Description("RecordingModes_CircularBufferAndStreamSubSample")] CircularBufferAndStreamSubSample, [Description("RecordingModes_Active")] [ProgrammableTriggers(true, true)] Active, [Description("RecordingModes_MultipleEventActive")] [ProgrammableTriggers(true, true)] MultipleEventActive, [ProgrammableTriggers(false, true)] [Description("RecordingModes_MultipleEventHybridRecorder")] MultipleEventHybridRecorder, [ProgrammableTriggers(false, false)] [Description("RecordingModes_Streaming")] Streaming, [ProgrammableTriggers(false, true)] [Description("RecordingModes_Scheduled")] Scheduled, [ProgrammableTriggers(false, true)] [Description("RecordingModes_Interval")] Interval, [ProgrammableTriggers(true, true)] [Description("RecordingModes_MultipleEventCircularBufferPlusUART")] MultipleEventCircularBufferPlusUART, [ProgrammableTriggers(false, true)] [Description("RecordingModes_MultipleEventRecorderPlusUART")] MultipleEventRecorderPlusUART, [ProgrammableTriggers(false, false)] [Description("RecordingModes_ContinuousRecorderPlusUART")] ContinuousRecorderPlusUART, [ProgrammableTriggers(true, true)] [Description("RecordingModes_RAMActive")] RAMActive, [ProgrammableTriggers(true, true)] [Description("RecordingModes_MultipleEventRAMActive")] MultipleEventRAMActive, [ProgrammableTriggers(false, false)] [Description("RecordingModes_RecordOnBoot")] RecordOnBoot, [ProgrammableTriggers(false, false)] [Description("RecordingModes_RecordOnBootPlusUART")] RecordOnBootPlusUART, [ProgrammableTriggers(false, true)] [Description("RecordingModes_MultipleEventHybridAndStream")] MultipleEventHybridAndStream, [ProgrammableTriggers(false, true)] [Description("RecordingModes_HybridAndStream")] HybridAndStream, [ProgrammableTriggers(true, true)] [Description("RecordingModes_MultipleEventCircularBufferAndStream")] MultipleEventCircularBufferAndStream, [ProgrammableTriggers(false, true)] [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[] { }); } } }