Exemplo n.º 1
0
        private void SubscribeToFileEvents(WorkflowFileViewModel file)
        {
            file.CloseWorkflowFileClicked           += file_CloseWorkflowFileClicked;
            file.CloseAllButThisWorkflowFileClicked += file_CloseAllButThisWorkflowFileClicked;

            file.PropertyChanged += file_PropertyChanged;
        }
Exemplo n.º 2
0
        private void CreateNewWorkfow(WorkflowType workflowType)
        {
            var file = new WorkflowFileViewModel(workflowType, ++dirtyCounter);

            files.Add(file);
            ActiveWorkflowFile = file;
            SubscribeToFileEvents(file);
        }
Exemplo n.º 3
0
        private void file_CloseWorkflowFileClicked(object sender, WorkflowFileCloseEventArgs e)
        {
            var index = files.IndexOf(e.WorkflowFile);

            if (index == -1)
            {
                return;
            }

            var fileToClose = files[index];

            if (!fileToClose.IsSaved)
            {
                var saveResult = QuestionResult.Yes;

                var saveMessage = new SaveBeforeCloseMessage(
                    new List <WorkflowFileInfo> {
                    new WorkflowFileInfo(fileToClose)
                },
                    null,
                    result =>
                {
                    saveResult = result;
                });

                MessengerInstance.Send(saveMessage);

                if (saveResult == QuestionResult.Cancel)
                {
                    return;
                }

                if (saveResult == QuestionResult.Yes)
                {
                    if (!fileToClose.Save())
                    {
                        return;
                    }
                }
            }

            files.Remove(fileToClose);

            if (files.Count == 0)
            {
                ActiveWorkflowFile = null;
            }
        }
Exemplo n.º 4
0
        private void OnOpenCommandInternal()
        {
            var openMessage = new OpenFileMessage(
                true,
                this,
                null,
                result =>
            {
                if (result.PerformOpen)
                {
                    var possibleNextActive = ActiveWorkflowFile;

                    foreach (var fileName in result.FileNames.Where(f => f != null))
                    {
                        if (!files.Any(f => f.FilePath == fileName))
                        {
                            var newFile = new WorkflowFileViewModel(fileName);
                            files.Add(newFile);
                            SubscribeToFileEvents(newFile);

                            possibleNextActive = newFile;
                        }
                        else
                        {
                            possibleNextActive = files.SingleOrDefault(f => f.FilePath == fileName);
                        }
                    }

                    if (possibleNextActive != null)
                    {
                        ActiveWorkflowFile = possibleNextActive;
                    }
                }
            });

            MessengerInstance.Send(openMessage);
        }
Exemplo n.º 5
0
        private void SubscribeToFileEvents(WorkflowFileViewModel file)
        {
            file.CloseWorkflowFileClicked += file_CloseWorkflowFileClicked;
            file.CloseAllButThisWorkflowFileClicked += file_CloseAllButThisWorkflowFileClicked;

            file.PropertyChanged += file_PropertyChanged;
        }
Exemplo n.º 6
0
        private void OnOpenCommandInternal()
        {
            var openMessage = new OpenFileMessage(
                true,
                this,
                null,
                result =>
                    {
                        if (result.PerformOpen)
                        {
                            var possibleNextActive = ActiveWorkflowFile;

                            foreach (var fileName in result.FileNames.Where(f => f != null))
                            {
                                if (!files.Any(f => f.FilePath == fileName))
                                {
                                    var newFile = new WorkflowFileViewModel(fileName);
                                    files.Add(newFile);
                                    SubscribeToFileEvents(newFile);

                                    possibleNextActive = newFile;
                                }
                                else
                                {
                                    possibleNextActive = files.SingleOrDefault(f => f.FilePath == fileName);
                                }
                            }

                            if (possibleNextActive != null)
                            {
                                ActiveWorkflowFile = possibleNextActive;
                            }
                        }
                    });

            MessengerInstance.Send(openMessage);
        }
Exemplo n.º 7
0
 private void CreateNewWorkfow(WorkflowType workflowType)
 {
     var file = new WorkflowFileViewModel(workflowType, ++dirtyCounter);
     files.Add(file);
     ActiveWorkflowFile = file;
     SubscribeToFileEvents(file);
 }
 public WorkflowFileCloseEventArgs(WorkflowFileViewModel workflowFile)
 {
     WorkflowFile = workflowFile;
 }
Exemplo n.º 9
0
 public WorkflowFileCloseEventArgs(WorkflowFileViewModel workflowFile)
 {
     WorkflowFile = workflowFile;
 }