static void Main(string[] args) { DesignMode = false; // The designer doesn't call Main() CommandLineArgs = new CommandLineArgs(args); try { DpiUtil.ConfigureProcess(); } catch { } MonoSpaceFont = new FontEx { Font = new Font("Courier New", DpiUtil.ScaleIntX(13), GraphicsUnit.Pixel), Width = DpiUtil.ScaleIntX(8), Height = DpiUtil.ScaleIntY(16) }; NativeMethods.EnableDebugPrivileges(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture; Settings = SettingsSerializer.Load(); Logger = new GuiLogger(); #if !DEBUG try { #endif using (var coreFunctions = new CoreFunctionsManager()) { RemoteProcess = new RemoteProcess(coreFunctions); MainForm = new MainForm(); Application.Run(MainForm); RemoteProcess.Dispose(); } #if !DEBUG } catch (Exception ex) { ShowException(ex); } #endif SettingsSerializer.Save(Settings); }
private void pbGo_Click(object sender, EventArgs e) { myLogger = new GuiLogger(false); myLogger.CFSLog += new CFSLogHandler(GuiLogger_CFSLog); this.tbLog.Text = "starting to restore from " + tbFirstFile.Text + " to " + tbOutPath.Text; yourLogger = Logger.setLogger(myLogger); restorer = new CFSRestore(tbFirstFile.Text, tbOutPath.Text); restorer.CFSRestoreCompletion += new CFSRestoreCompletionHandler(CFSRestore_CFSRestoreCompletion); restoThread = new Thread(new ThreadStart(restorer.Restore)); busy = true; restoThread.Start(); Thread.Sleep(500); manageGuiState(); }
internal void CheckSetup() { lock (this) { if (ModLoader.NeedSetup) { App.Log("Initiating ModLoader"); var logger = new GuiLogger(); ModLoader.SetLog(logger); logger.Filters.Add(LogFilters.AddPrefix("Loader┊")); App.Log("Setup ModLoader"); ModLoader.Setup(); Sandbox.EnqueueSandbox(); } } }
private void LogCurrentEpochResult( string message, int guiLogIntensity, int currentEpoch, int plannedEpochCount ) { bool shouldLogToGui = (currentEpoch % guiLogIntensity == 0) || currentEpoch == plannedEpochCount; if (shouldLogToGui) { GuiLogger.LogWriteLine(message); } NLogLogger.Info(message); }
static void Main() { DesignMode = false; // The designer doesn't call Main() try { DpiUtil.ConfigureProcess(); } catch { } NativeMethods.EnableDebugPrivileges(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture; Settings = Settings.Load(Constants.SettingsFile); Logger = new GuiLogger(); #if DEBUG using (var coreFunctions = new CoreFunctionsManager()) { MainForm = new MainForm(coreFunctions); Application.Run(MainForm); } #else try { using (var nativeHelper = new CoreFunctionsManager()) { MainForm = new MainForm(nativeHelper); Application.Run(MainForm); } } catch (Exception ex) { ShowException(ex); } #endif Settings.Save(Settings, Constants.SettingsFile); }
public GuiThreadLogger(GuiLogger owner, Thread thread) : base(thread) { _owner = owner; if (Thread.CurrentThread == _owner.RunnerThread) { _treeView = _owner._owner._mainTreeView; } else { _treeView = (TreeView)_owner._owner.Invoke(new AddTreeViewDelegate(_owner._owner.AddTreeView), thread != null ? thread.Name : string.Format("Unknown thread: {0}", Thread.CurrentThread.Name)); } }
static void Main(string[] args) { DesignMode = false; // The designer doesn't call Main() CommandLineArgs = new CommandLineArgs(args); try { DpiUtil.ConfigureProcess(); DpiUtil.TrySetDpiFromCurrentDesktop(); } catch { // ignored } MonoSpaceFont = new FontEx { Font = new Font("Courier New", DpiUtil.ScaleIntX(13), GraphicsUnit.Pixel), Width = DpiUtil.ScaleIntX(8), Height = DpiUtil.ScaleIntY(16) }; NativeMethods.EnableDebugPrivileges(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture; Settings = SettingsSerializer.Load(); Logger = new GuiLogger(); if (!NativeMethods.IsUnix() && Settings.RunAsAdmin && !WinUtil.IsAdministrator) { WinUtil.RunElevated(Process.GetCurrentProcess().MainModule?.FileName, args.Length > 0 ? string.Join(" ", args) : null); return; } #if !DEBUG try { #endif using (var coreFunctions = new CoreFunctionsManager()) { RemoteProcess = new RemoteProcess(coreFunctions); MainForm = new MainForm(); Application.Run(MainForm); RemoteProcess.Dispose(); } #if !DEBUG } catch (Exception ex) { ShowException(ex); } #endif SettingsSerializer.Save(Settings); }
public PatternsViewModel(PatternUserControl patternUserControl) { patternsListBox = patternUserControl.Find <ListBox>("PatternsListBox"); patternTextBox = patternUserControl.Find <TextBox>("PatternData"); patternErrorsListBox = patternUserControl.Find <ListBox>("PatternErrors"); logger = patternUserControl.Find <TextBox>("Logger"); Dispatcher.UIThread.InvokeAsync(async() => { bool error = false; if (!string.IsNullOrEmpty(Settings.PatternsFileName)) { try { PatternsFileName = Settings.PatternsFileName; SelectedPattern = Patterns.FirstOrDefault(p => p.Key == Settings.SelectedPatternKey) ?? Patterns.FirstOrDefault(); } catch (Exception ex) { await MessageBox.ShowDialog(ex.Message); error = true; } } if (string.IsNullOrEmpty(Settings.PatternsFileName) || error) { Settings.PatternsFileName = Settings.DefaultPatternsFileName; SelectedPattern = Patterns.FirstOrDefault(); SavePatterns(); Settings.Save(); } }); patternsListBox.DoubleTapped += (object sender, Avalonia.Interactivity.RoutedEventArgs e) => { OpenPatternAction(); }; patternErrorsListBox.DoubleTapped += (object sender, Avalonia.Interactivity.RoutedEventArgs e) => { GuiHelpers.ProcessErrorOnDoubleClick(patternErrorsListBox, patternTextBox); }; patternLogger = new GuiLogger(PatternErrors) { LogPatternErrors = true }; patternLogger.LogEvent += PatternLogger_LogEvent; dslProcessor.Logger = patternLogger; patternTextBox.GetObservable(TextBox.CaretIndexProperty) .Subscribe(UpdatePatternCaretIndex); patternTextBox.GetObservable(TextBox.TextProperty) .Throttle(TimeSpan.FromMilliseconds(250)) .Subscribe(str => { if (SelectedPattern != null) { Value = str; } }); OpenPatterns = ReactiveCommand.Create(async() => { SavePatterns(); var openFileDialog = new OpenFileDialog { Title = "Select patterns database", }; var fileNames = await openFileDialog.ShowAsync(ServiceLocator.MainWindow); if (fileNames != null) { try { PatternsFileName = fileNames.First(); } catch (Exception ex) { await MessageBox.ShowDialog(ex.Message); Settings.PatternsFileName = Settings.DefaultPatternsFileName; Settings.Save(); SelectedPattern = Patterns.FirstOrDefault(); ServiceLocator.MainWindowViewModel.ActivateWindow(); } } }); CreatePattern = ReactiveCommand.Create(() => { SavePatterns(); PatternViewModel newPatternViewMode = CreateNewPattern(); Patterns.Add(newPatternViewMode); SelectedPattern = newPatternViewMode; SavePatterns(); }); RemovePattern = ReactiveCommand.Create(async() => { if (SelectedPattern != null && await MessageBox.ShowDialog($"Do you want to remove {SelectedPattern}?", messageBoxType: MessageBoxType.YesNo)) { Patterns.Remove(SelectedPattern); SelectedPattern = Patterns.LastOrDefault(); SavePatterns(); } }); OpenPattern = ReactiveCommand.Create(OpenPatternAction); SavePattern = ReactiveCommand.Create(() => SavePatterns()); void OpenPatternAction() { if (patternsListBox.SelectedItem != null) { SelectedPattern = (PatternViewModel)patternsListBox.SelectedItem; } } }
private void LogInfoUsingBothLoggers(string message) { GuiLogger.LogWriteLine(message); NLogLogger.Info(message); }
public PatternsViewModel(PatternUserControl patternUserControl) { patternsListBox = patternUserControl.Find <ListBox>("PatternsListBox"); patternTextBox = patternUserControl.Find <TextEditor>("PatternData"); patternErrorsListBox = patternUserControl.Find <ListBox>("PatternErrors"); logger = patternUserControl.Find <TextBox>("Logger"); Dispatcher.UIThread.InvokeAsync(async() => { bool error = false; if (!string.IsNullOrEmpty(Settings.PatternsFileName)) { try { PatternsFileName = Settings.PatternsFileName; SelectedPattern = Patterns.FirstOrDefault(p => p.Key == Settings.SelectedPatternKey) ?? Patterns.FirstOrDefault(); } catch (Exception ex) { await MessageBox.ShowDialog(ex.Message); error = true; } } if (string.IsNullOrEmpty(Settings.PatternsFileName) || error) { Settings.PatternsFileName = Settings.DefaultPatternsFileName; SelectedPattern = Patterns.FirstOrDefault(); SavePatterns(); Settings.Save(); } }); patternsListBox.DoubleTapped += (sender, e) => { OpenPatternAction(); }; patternErrorsListBox.DoubleTapped += (sender, e) => { GuiUtils.ProcessErrorOnDoubleClick(patternErrorsListBox, patternTextBox); }; patternLogger = GuiLogger.CreatePatternLogger(PatternErrors); patternLogger.LogEvent += PatternLogger_LogEvent; dslProcessor.Logger = patternLogger; Observable.Timer(TimeSpan.Zero, TimeSpan.FromMilliseconds(200), RxApp.MainThreadScheduler) .Subscribe(_ => UpdatePatternCaretIndex()); var patternTextBoxObserable = Observable.FromEventPattern <EventHandler, EventArgs>( h => patternTextBox.TextChanged += h, h => patternTextBox.TextChanged -= h); patternTextBoxObserable .Throttle(TimeSpan.FromMilliseconds(250)) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(str => { if (SelectedPattern != null) { Value = patternTextBox.Text; } }); OpenPatterns = ReactiveCommand.Create(async() => { SavePatterns(); var openFileDialog = new OpenFileDialog { Title = "Select patterns database", }; var fileNames = await openFileDialog.ShowAsync(ServiceLocator.MainWindow); if (fileNames != null) { try { PatternsFileName = fileNames.First(); } catch (Exception ex) { await MessageBox.ShowDialog(ex.Message); Settings.PatternsFileName = Settings.DefaultPatternsFileName; Settings.Save(); SelectedPattern = Patterns.FirstOrDefault(); ServiceLocator.MainWindowViewModel.ActivateWindow(); } } }); CreatePattern = ReactiveCommand.Create(() => { SavePatterns(); PatternViewModel newPatternViewMode = CreateNewPattern(); Patterns.Add(newPatternViewMode); SelectedPattern = newPatternViewMode; SavePatterns(); }); RemovePattern = ReactiveCommand.Create(async() => { if (SelectedPattern != null && await MessageBox.ShowDialog($"Do you want to remove {SelectedPattern}?", messageBoxType: MessageBoxType.YesNo)) { Patterns.Remove(SelectedPattern); SelectedPattern = Patterns.LastOrDefault(); SavePatterns(); } }); OpenPattern = ReactiveCommand.Create(OpenPatternAction); SavePattern = ReactiveCommand.Create(() => SavePatterns()); void OpenPatternAction() { if (patternsListBox.SelectedItem != null) { SelectedPattern = (PatternViewModel)patternsListBox.SelectedItem; } } }