public LogsWindow() { InitializeComponent(); renderAction = logic => { LogsTextBox.Document.Blocks.Clear(); LogsTextBox.Document.Blocks.Add(new Paragraph(new Run(logic.logs.ReadLogs(_processId)))); LogsTextBox.ScrollToEnd(); }; Logics.Logic.Subscribe(renderAction); }
private void NewSimulationButton_Click(object sender, EventArgs e) { CompareButton.Enabled = true; SimulationController.ToNewSimulation(); UpdateTablesStates(); ClearResultsTables(); SimulationNameButton.Enabled = true; StartSimulationButton.Enabled = true; NewSimulationButton.Enabled = false; ModelAddButton.Enabled = true; DeleteModelButton.Enabled = true; LogsTextBox.Clear(); }
private void UpdateLog() { try { using (var fs = new FileStream("logs.log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var sr = new StreamReader(fs, Encoding.Default)) { var newContent = sr.ReadToEnd(); if (LogsTextBox.Text != newContent) { LogsTextBox.Text = newContent; LogsTextBox.ScrollToEnd(); } } } catch (Exception e) { // } }
private void RichTextBox_TextChanged(object sender, TextChangedEventArgs e) { LogsTextBox.ScrollToEnd(); }
private void LogsButton_Click(object sender, EventArgs e) { LogsTextBox.Clear(); }
private async void ExecuteButton_Click(object sender, RoutedEventArgs e) { var result = MessageBox.Show("Renaming cannot be undone. Proceed?", "Attention!", MessageBoxButton.OKCancel, MessageBoxImage.Warning); if (result == MessageBoxResult.OK) { LogsTabItem.Focus(); var targetFolder = _renamer.TargetFolder; var progressWindow = new ProgressWindow(); progressWindow.Topmost = true; progressWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner; progressWindow.Owner = this; var progressReport = new Progress <RenamerProgress>(p => { progressWindow.ProgressTextBlock.Text = p.Message; progressWindow.RenamerProgressBar.Value = p.Percentage * 100d; if (p.Logger != null) { if (p.IsError) { p.Logger.WriteWarning(p.Message); } else { p.Logger.WriteInfo(p.Message); } } }); progressWindow.Show(); IsEnabled = false; try { await Task.Run(() => _renamer.DoRename(progressReport)); progressWindow.Hide(); if (_renamer.Completed) { if (MessageBox.Show("Renaming complete! Do you want to clean the bin and obj folders?", "Success", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { CleanBinObjFolders(); } MessageBox.Show("Renaming complete! A log file will be created on the file system.", "Success", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("Problems were encountered. See the log tab for more information.", "Failed", MessageBoxButton.OK, MessageBoxImage.Error); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { IsEnabled = true; progressWindow.Close(); ExecuteButton.IsEnabled = _renamer.Ready; // TODO: this should go into the filesystem class intead. File.WriteAllText(Path.Combine(Path.GetDirectoryName(targetFolder), "RenamerLog.txt"), LogsTextBox.Text); } LogsTextBox.ScrollToLine(LogsTextBox.LineCount - 1); } }
private void Log(string info) { LogsTextBox.AppendText(info + Environment.NewLine); File.AppendAllText("log.txt", info + Environment.NewLine); }