Exemplo n.º 1
0
        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;
                }
            };
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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;
                }
            };
        }