public void SaveAs() { try { var dialog = new FileDialogViewModel(FileDialogMode.Save); var res = WindowManager.ShowDialog(dialog); if (res.HasValue && res.Value) { var filter = _repository.GetFilterForSourceFileType(dialog.SourceType); var fileName = DialogPresenter.ShowFileSaveDialog(filter); if (String.IsNullOrEmpty(fileName)) { return; } _repository.SaveToFile(Document, fileName, dialog.SourceType); Title = ProjectName + $" - {fileName}"; UnmodifyDocument(); } } catch (Exception e) { ShowError(e); } }
public void LoadGraphFromFile() { if (CheckGraphForClearing()) { try { var dialog = new FileDialogViewModel(FileDialogMode.Open); var res = WindowManager.ShowDialog(dialog); if (res.HasValue && res.Value) { var filter = _repository.GetFilterForSourceFileType(dialog.SourceType); var fileName = DialogPresenter.ShowFileOpenDialog(filter); if (String.IsNullOrEmpty(fileName)) { return; } _repository.LoadFromFile(Document, fileName, dialog.SourceType); EllipseVerticesPositionIfNeed(); UndoRedoManager.Instance.Clear(); Init(); Title = ProjectName + $" - {fileName}"; } } catch (Exception e) { ShowError(e); } } }
static IEnumerator CloseCoroutine(DialogPresenter dialog) { yield return(dialog.OnBeforeClose().ToYieldInstruction()); yield return(dialog.OnClose().ToYieldInstruction()); Destroy(dialog.gameObject); }
public ShellServices() { ShellViewModel = new ShellViewModel(); Shell = new Shell { DataContext = ShellViewModel }; DialogPresenter = new DialogPresenter(ShellViewModel); WaitScreenShower = new WaitScreenShower(ShellViewModel); FatalHandler = new FatalHandler.FatalHandler(DialogPresenter, CloseApp); }
private void ShowError(Exception ex) { if (Terminal != null) { var exCopy = ex; Terminal.WriteLine("An error occured:"); do { Terminal.WriteLine($" {exCopy.GetType().Name}: \"{exCopy.Message}\""); exCopy = exCopy.InnerException; }while (exCopy != null); } DialogPresenter.ShowError(ex.Message, ProjectName, ex.GetType()); }
// Methods // private bool CheckGraphForClearing() { if (IsModified) { var res = DialogPresenter.ShowMessaeBoxYesNoCancel("Graph has been modified. Save changes?", ProjectName); switch (res) { case MessageBoxResult.Yes: Save(); if (IsModified) { return(false); } return(true); case MessageBoxResult.No: return(true); case MessageBoxResult.Cancel: return(false); } } return(true); }
public static void Close(DialogPresenter dialog) { Instance.StartCoroutine(CloseCoroutine(dialog)); }
// レスポンスを決定して閉じる static void OnClickDialogButton(DialogPresenter dialog, MessageBoxResponse messageBoxResponse, Response response) { messageBoxResponse.Done(response); Close(dialog); }