private void CreateSettingsWindow() { var settingsWindow = new SettingsWindow(_appSettings) { IsVisible = true }; _imGuiManager.AddElement(settingsWindow); settingsWindow.SaveChangesRequested += (sender, args) => { _appSettings.ScriptFolderPath = settingsWindow.ScriptFolderPath; _appSettings.TextEditorExecutable = settingsWindow.TextEditorExecutable; SettingsIo.Save(_appSettings); _imGuiManager.RemoveElement(settingsWindow); }; settingsWindow.PropertyChanged += (sender, args) => { switch (args.PropertyName) { case nameof(SettingsWindow.CloseRequested): _imGuiManager.RemoveElement(settingsWindow); break; } }; }
private void OpenScriptFile(string fileName) { try { _scriptManager.OpenExistingScript(fileName?.Trim()); } catch (Exception exception) { _onScreenLogger.LogMessage($"Exception opening file: {exception.Message}"); return; } SettingsIo.Save(_appSettings); _onScreenLogger.Clear(); }
private void CreateNewFileDialog() { var dialog = new NewFileDialog { IsVisible = true }; _imGuiManager.AddElement(dialog); dialog.CreateFileRequested += (sender, args) => { try { _scriptManager.CreateNewScript(dialog.FileName?.Trim(), dialog.SelectedLanguage); } catch (InvalidOperationException exception) { dialog.ErrorText = exception.Message; return; } catch (Exception exception) { dialog.ErrorText = $"Exception: {exception}"; return; } _imGuiManager.RemoveElement(dialog); SettingsIo.Save(_appSettings); _onScreenLogger.Clear(); }; dialog.PropertyChanged += (sender, args) => { switch (args.PropertyName) { case nameof(NewFileDialog.CloseRequested): _imGuiManager.RemoveElement(dialog); break; } }; }