using System.Collections.Generic;
using QC.CTDS.DM.DataStructures.FormatDescriptorStructure;
using QC.CTDS.DM.DataStructures.LimitDescriptorDataStructure;

namespace QC.CTDS.DM.DataStructures;

public class ReportSettings
{
	private bool openOutputFiles;

	private bool runInSequentialMode;

	private Discriminator groupDiscriminator;

	private Discriminator chartDiscriminator;

	private Discriminator sheetDiscriminator;

	private List<LimitGroupType> customLimitTypes;

	private string preTransformExpressions;

	private string delimiterString;

	private PowerPointReportSettings powerPointReportSettings = new PowerPointReportSettings();

	public bool SkipDetailedUnitPlots { get; set; }

	public bool SkipStatsColumns { get; set; }

	public bool SuppressStatisticsPlot { get; set; }

	public bool SuppressUnitDetailsPlot { get; set; }

	public bool SuppressUnitPoints { get; set; }

	public bool SuppressLegends { get; set; }

	public bool SuppressDistributionOverlays { get; set; }

	public bool SuppressHistogramBins { get; set; }

	public bool CycleColors { get; set; }

	public bool ShowLimitUnits { get; set; }

	public bool ShowLimitOnScatterPlots { get; set; }

	public bool IncludeUnitsInLegend { get; set; }

	public bool IncludeInvalidResults { get; set; }

	public bool ReducedSummary { get; set; }

	public bool FailureAnalysis { get; set; }

	public bool AllFailureAnalysis { get; set; }

	public bool StaticStatsColumns { get; set; }

	public bool ShowSerialNumberInChartData { get; set; }

	public bool DrawLinesForUnitDataPoints { get; set; }

	public bool SuppressAverageSeries { get; set; }

	public bool EnableVerboseLoggingMode { get; set; }

	public bool ShowCustomLimits { get; set; }

	public string LimitFilePath { get; set; }

	public bool AutoFormatDescriptor { get; set; }

	public bool AutoLimitDescriptor { get; set; }

	public string SonarSql { get; set; }

	public bool SupressCustomLimitLegend { get; set; }

	public string LimitTypes { get; set; }

	public string OutputPluginName { get; set; }

	public bool OpenOutputFiles
	{
		get
		{
			return openOutputFiles;
		}
		set
		{
			openOutputFiles = value;
		}
	}

	public bool RunInSequentialMode
	{
		get
		{
			return runInSequentialMode;
		}
		set
		{
			runInSequentialMode = value;
		}
	}

	public Discriminator GroupDiscriminator
	{
		get
		{
			return groupDiscriminator;
		}
		set
		{
			groupDiscriminator = value;
		}
	}

	public Discriminator ChartDiscriminator
	{
		get
		{
			return chartDiscriminator;
		}
		set
		{
			chartDiscriminator = value;
		}
	}

	public Discriminator SheetDiscriminator
	{
		get
		{
			return sheetDiscriminator;
		}
		set
		{
			sheetDiscriminator = value;
		}
	}

	public List<LimitGroupType> CustomLimitTypes
	{
		get
		{
			return customLimitTypes;
		}
		set
		{
			customLimitTypes = value;
		}
	}

	public string PreTransformExpressions
	{
		get
		{
			return preTransformExpressions;
		}
		set
		{
			preTransformExpressions = value;
		}
	}

	public string Delimiter
	{
		get
		{
			return delimiterString;
		}
		set
		{
			if (!(delimiterString == value))
			{
				delimiterString = value;
			}
		}
	}

	public PowerPointReportSettings PowerPointSettings
	{
		get
		{
			return powerPointReportSettings;
		}
		set
		{
			powerPointReportSettings = value;
		}
	}
}
