示例#1
0
 public void CreateProject()
 {
     if (CloseProject())
     {
         CurrentProject = new ProjectModel();
         CurrentProjectChanged?.Invoke();
         CurrentProject.IsDirty = false;
     }
 }
示例#2
0
        public void LoadProject(ProjectModel project, bool autoOpenDiagram = false)
        {
            if (CloseProject())
            {
                CurrentProject = project;
                if (CurrentProject == null)
                {
                    return;
                }

                try
                {
                    CurrentProjectChanged?.Invoke();
                    CurrentProject.IsDirty = false;
                    if (autoOpenDiagram && CurrentDiagrams.Any())
                    {
                        CurrentDiagrams.First().IsOpen = true;
                    }
                    else if (autoOpenDiagram)
                    {
                        CreateDiagram();
                    }
                }
                catch
                {
                    // TODO: Make async
                    DownloadProjectDependencies().Wait();
                    CurrentProjectChanged?.Invoke();
                    CurrentProject.IsDirty = false;
                    if (autoOpenDiagram && CurrentDiagrams.Any())
                    {
                        CurrentDiagrams.First().IsOpen = true;
                    }
                }
            }
        }
 protected virtual void OnCurrentProjectChanged(CurrentProjectChangedEventArgs e)
 {
     CurrentProjectChanged?.Invoke(this, e);
 }
示例#4
0
 public void CloseProject()
 {
     _currentProject = null;
     CurrentProjectChanged?.Invoke(this, EventArgs.Empty);
 }
示例#5
0
 public void OpenProject(string projectFilePath)
 {
     _currentProject = Project.Open(projectFilePath);
     CurrentProjectChanged?.Invoke(this, EventArgs.Empty);
 }
示例#6
0
 public void CreateNewProject(string projectName, string projectLocation)
 {
     _currentProject = Project.Create(projectName, projectLocation);
     CurrentProjectChanged?.Invoke(this, EventArgs.Empty);
 }