Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
    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);
 }
Esempio n. 5
0
        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());
        }
Esempio n. 6
0
        // 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);
        }
Esempio n. 7
0
 public static void Close(DialogPresenter dialog)
 {
     Instance.StartCoroutine(CloseCoroutine(dialog));
 }
Esempio n. 8
0
 // レスポンスを決定して閉じる
 static void OnClickDialogButton(DialogPresenter dialog, MessageBoxResponse messageBoxResponse, Response response)
 {
     messageBoxResponse.Done(response);
     Close(dialog);
 }