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);
        }
Beispiel #2
0
        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)
     {
         //
     }
 }
Beispiel #4
0
 private void RichTextBox_TextChanged(object sender, TextChangedEventArgs e)
 {
     LogsTextBox.ScrollToEnd();
 }
Beispiel #5
0
 private void LogsButton_Click(object sender, EventArgs e)
 {
     LogsTextBox.Clear();
 }
Beispiel #6
0
        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);
            }
        }
Beispiel #7
0
 private void Log(string info)
 {
     LogsTextBox.AppendText(info + Environment.NewLine);
     File.AppendAllText("log.txt", info + Environment.NewLine);
 }