using rabi_splitter_WPF.Annotations; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; namespace rabi_splitter_WPF { class ExportableVariable { public List GetAll() { return new List(); } } class VariableExportSetting : INotifyPropertyChanged { private ExportableVariable _selectedVariable; private string _outputFileName; private string _outputFormat; private bool _isExporting; #region Dictionaries // Captions for Split Trigger Options private static readonly Dictionary _variableCaptions = new Dictionary() { }; public Dictionary VariableCaptions { get {return _variableCaptions;} } #endregion public VariableExportSetting() { // Default values _selectedVariable = null; _outputFileName = ""; _outputFormat = ""; _isExporting = false; } #region Parameters public ExportableVariable SelectedVariable { get { return _selectedVariable; } set { if (value.Equals(_selectedVariable)) return; _selectedVariable = value; OnPropertyChanged(nameof(SelectedVariable)); } } public string OutputFileName { get { return _outputFileName; } set { if (value.Equals(_outputFileName)) return; _outputFileName = value; OnPropertyChanged(nameof(OutputFileName)); } } public string OutputFormat { get { return _outputFormat; } set { if (value.Equals(_outputFormat)) return; _outputFormat = value; OnPropertyChanged(nameof(OutputFormat)); } } public bool IsExporting { get { return _isExporting; } set { if (value.Equals(_isExporting)) return; _isExporting = value; OnPropertyChanged(nameof(IsExporting)); } } #endregion public event PropertyChangedEventHandler PropertyChanged; [NotifyPropertyChangedInvocator] protected virtual void OnPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } }