public ScriptEditor() { DataContext = _vm = new ScriptEditorViewModel(); InitializeComponent(); ComponentsStore.Add(this); }
private IEnumerable <IResult> HandleScriptClosing(ScriptEditorViewModel script) { if (script.IsDirty) { var message = Result.ShowMessageBox(script.Filename, string.Format("Do you want to save changes to {0}", script.Filename), MessageBoxButton.YesNoCancel); yield return(message); if (message.Result == MessageBoxResult.Cancel) { yield return(Result.Cancel()); } else if (message.Result == MessageBoxResult.Yes) { foreach (var result in scriptDialogStrategy.SaveAs(script, true, path => fileSystem.WriteAllText(path, script.FileContent))) { yield return(result); } } } }
public MainShellViewModel(IResultFactory resultFactory, IEventAggregator eventAggregator, IPersistanceManager persistanceManager, ISettingsManager settingsManager, MainMenuViewModel mainMenuViewModel, ScriptEditorViewModel scriptEditorViewModel, OutputViewModel outputViewModel) : base(resultFactory) { this.eventAggregator = eventAggregator; eventAggregator.Subscribe(this); this.persistanceManager = persistanceManager; Menu = mainMenuViewModel; Menu.Plugins = settingsManager.ListConfigurablePluginSettings().Select(ps => new PluginSettingsMenuViewModel(ps)); Menu.HelpFiles = settingsManager.ListPluginSettingsWithHelpFile().Select(ps => new PluginHelpFileViewModel(ps)).ToList(); ScriptEditor = scriptEditorViewModel; Output = outputViewModel; DisplayName = "FreePIE - Programmable Input Emulator"; }
public MainShellViewModel(IResultFactory resultFactory, IEventAggregator eventAggregator, IPersistanceManager persistanceManager, ISettingsManager settingsManager, MainMenuViewModel mainMenuViewModel, ScriptEditorViewModel scriptEditorViewModel, OutputViewModel outputViewModel) : base(resultFactory) { persistanceManager.Load(); this.eventAggregator = eventAggregator; eventAggregator.Subscribe(this); this.persistanceManager = persistanceManager; Menu = mainMenuViewModel; Menu.Plugins = settingsManager.ListConfigurablePluginSettings().Select(ps => new PluginSettingsMenuViewModel(ps)); ScriptEditor = scriptEditorViewModel; Output = outputViewModel; DisplayName = "FreePIE - Programmable Input Emulator"; }
public ScriptDocumentAddedEvent(ScriptEditorViewModel document) { Document = document; }
public void DocumentClosed(ScriptEditorViewModel document) { Scripts.Remove(document); }
public IEnumerable <IResult> DocumentClosing(ScriptEditorViewModel document, DocumentClosingEventArgs e) { return(Result.Coroutinify(HandleScriptClosing(document), () => e.Cancel = true)); }
public ScriptDocumentAddedEvent(ScriptEditorViewModel document, bool todelete = false) { Document = document; toDelete = todelete; }
private IEnumerable <IResult> HandleScriptClosing(ScriptEditorViewModel script) { return(HandleScriptClosing(script, null)); }