/// <summary> /// Selects a source file in the source file list /// </summary> /// <param name="sourceFile">Selected source file</param> public void SelectSourceFile(string sourceFile) { if (State.SelectedSourceFileName == sourceFile) { return; } var oldState = State; State = State.Clone(s => s.SelectedSourceFileName = sourceFile); var args = new StateChangedEventArgs(oldState, State); AppStateChanged?.Invoke(this, args); SelectedSourceFileChanged?.Invoke(this, args); }
/// <summary> /// Sets the list of source files /// </summary> /// <param name="sourceFiles">List of source files</param> public void SetSourceFileList(List <ComboDataItem> sourceFiles) { if (State.SourceFiles == sourceFiles) { return; } var oldState = State; State = State.Clone(s => { s.SourceFiles = sourceFiles; s.SelectedSourceFileName = sourceFiles.Count > 0 ? sourceFiles[0].Id : null; }); var args = new StateChangedEventArgs(oldState, State); AppStateChanged?.Invoke(this, args); SourceFileListChanged?.Invoke(this, args); SelectedSourceFileChanged?.Invoke(this, args); }