public MainForm(IAboutBox aboutBox, ILogger logger, CurrentDataDevice dataDevice, WinformsMainMenuExtender mainMenuExtender, IEnumerable<IStatusbarExtension> statusbarExtensions, IEnumerable<IToolbarExtension> toolbarExtensions) { _aboutBox = aboutBox; _logger = logger; _mainMenuExtender = mainMenuExtender; _statusbarExtensions = statusbarExtensions; _toolbarExtensions = toolbarExtensions; _currentDataDevice = dataDevice; _currentDataDevice.PropertyChanged += (sender, args) => { var oldDataDevice = _dataDevice; _dataDevice = _currentDataDevice.CurrentDevice; if (_dataDevice != null) { _dataDevice.PropertyChanged += DataDeviceOnPropertyChanged; _dataDevice.DataReceived += DataDeviceOnDataReceived; } if (oldDataDevice != null) { oldDataDevice.PropertyChanged -= DataDeviceOnPropertyChanged; oldDataDevice.DataReceived -= DataDeviceOnDataReceived; } }; _dataDevice = _currentDataDevice.CurrentDevice; LogTo.Debug("Mainform object created"); }
public MainForm(IAboutBox aboutBox, ILogger logger, CurrentDataDevice dataDevice, WinformsMainMenuExtender mainMenuExtender, IEnumerable <IStatusbarExtension> statusbarExtensions, IEnumerable <IToolbarExtension> toolbarExtensions) { _aboutBox = aboutBox; _logger = logger; _mainMenuExtender = mainMenuExtender; _statusbarExtensions = statusbarExtensions; _toolbarExtensions = toolbarExtensions; _currentDataDevice = dataDevice; _currentDataDevice.PropertyChanged += (sender, args) => { var oldDataDevice = _dataDevice; _dataDevice = _currentDataDevice.CurrentDevice; if (_dataDevice != null) { _dataDevice.PropertyChanged += DataDeviceOnPropertyChanged; _dataDevice.DataReceived += DataDeviceOnDataReceived; } if (oldDataDevice != null) { oldDataDevice.PropertyChanged -= DataDeviceOnPropertyChanged; oldDataDevice.DataReceived -= DataDeviceOnDataReceived; } }; _dataDevice = _currentDataDevice.CurrentDevice; LogTo.Debug("Mainform object created"); }