using System; using System.Collections.Generic; using System.Linq; using System.Text; using ElmoMotionControlComponents.Drive.EASComponents; using System.Windows.Controls; using System.ComponentModel; using ElmoMotionControlComponents.Drive.EASComponents.UploadsAndDownloads; namespace DriveDotNetGuiClient.SettingsObjects { public class SettingsObjectViewModel : INotifyPropertyChanged { public SettingsObjectViewModel(object settings, OPERATION_TYPE operation) { Settings = settings; Operation = operation; } public object Settings { get; set; } public OPERATION_TYPE Operation { get; set; } private string path; public string Path { get { return path; } set { path = value; if(PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("Path")); } } #region Download txt parameters public string SelectedCommParamsOptions { get { if (Settings is DownloadTxtSettings) { return (Settings as DownloadTxtSettings).RetainCommunicationParams.ToString(); } else return null; } set { if (value == DownloadComTxtParamsType.SetFromFile.ToString()) (Settings as DownloadTxtSettings).RetainCommunicationParams = DownloadComTxtParamsType.SetFromFile; else (Settings as DownloadTxtSettings).RetainCommunicationParams = DownloadComTxtParamsType.Retain; } } public string[] CommParamsOptions { get { return new string[] { DownloadComTxtParamsType.Retain.ToString(), DownloadComTxtParamsType.SetFromFile.ToString() }; } } #endregion Download Pal #region Download txt parameters public string SelectedDriveHardwareType { get { if (Settings is PalSettings) { return (Settings as PalSettings).HardwareType.ToString(); } else return null; } set { if (value == HardwareType.GCONA.ToString()) (Settings as PalSettings).HardwareType = HardwareType.GCONA; else if (value == HardwareType.GCONC.ToString()) (Settings as PalSettings).HardwareType = HardwareType.GCONC; else if (value == HardwareType.GCONE.ToString()) (Settings as PalSettings).HardwareType = HardwareType.GCONE; else if (value == HardwareType.SCORE.ToString()) (Settings as PalSettings).HardwareType = HardwareType.SCORE; } } public string[] DriveHardwareType { get { return new string[] { HardwareType.GCONA.ToString(), HardwareType.GCONC.ToString(), HardwareType.GCONE.ToString(), HardwareType.SCORE.ToString(), }; } } #endregion Download Pal public event PropertyChangedEventHandler PropertyChanged; } }