123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using InABox.Core;
- using InABox.Logging;
- using InABox.Wpf.Console;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Console = InABox.Wpf.Console.Console;
- namespace PRSDesktop;
- public class DesktopConsole : Console
- {
- private EventLogger? logger;
- public DesktopConsole(string description): base(description)
- {
- }
- protected override void OnLoaded()
- {
- base.OnLoaded();
- ConsoleControl.Enabled = true;
- logger = new EventLogger(OnLog);
- MainLogger.AddLogger(logger);
- }
- private void OnLog(string message)
- {
- Dispatcher.BeginInvoke(() =>
- {
- ConsoleControl.LoadLogEntry(message);
- });
- }
- protected override void OnClosing()
- {
- base.OnClosing();
- if(logger is not null)
- {
- MainLogger.RemoveLogger(logger);
- }
- }
- protected override string GetLogDirectory()
- {
- return CoreUtils.GetPath();
- }
- }
|