示例#1
0
        private void OpenPartProjectDirectory(string projectPath)
        {
            if (!CloseCurrentProject())
            {
                return;
            }

            PartProject loadedProject = null;

            try
            {
                loadedProject = PartProject.LoadFromDirectory(projectPath);
            }
            catch (Exception ex)
            {
                ErrorMessageBox.Show(this,
                                     Messages.Error_OpeningProject,
                                     Messages.Caption_OpeningProject, ex.ToString());
            }

            if (loadedProject != null)
            {
                LoadPartProject(loadedProject);
            }
        }
示例#2
0
 public static DialogResult Show(IWin32Window owner,
                                 string text, string caption, string errorDetails,
                                 MessageBoxButtons buttons, MessageBoxIcon icon,
                                 MessageBoxDefaultButton defaultButton, FormStartPosition startPosition)
 {
     using (var dlg = new ErrorMessageBox())
     {
         dlg.Text = caption;
         dlg.MessageTextLabel.Text   = text;
         dlg.ErrorDetailTextBox.Text = errorDetails;
         dlg.MessageIconBox.Visible  = (icon != MessageBoxIcon.None);
         dlg.StartPosition           = startPosition;
         dlg.SetDialogButtons(buttons);
         dlg.SelectDefaultButton(defaultButton);
         return(dlg.ShowDialog(owner));
     }
 }
示例#3
0
 private void LoadNewPartProject(PartProject project)
 {
     try
     {
         string tmpProjectDir = GetTemporaryWorkingDir();
         project.SaveExtracted(tmpProjectDir);
         SettingsManager.Current.LastOpenProject = new RecentFileInfo(project, true);
         SettingsManager.SaveSettings();
         LoadPartProject(project);
     }
     catch (Exception ex)
     {
         ErrorMessageBox.Show(this,
                              Messages.Error_CreatingProject,
                              Messages.Caption_OpeningProject, ex.ToString());
     }
 }
示例#4
0
        private void OpenPartProjectFile(string projectFilePath)
        {
            if (!CloseCurrentProject())
            {
                return;
            }

            string tmpProjectDir = GetTemporaryWorkingDir();

            PartProject loadedProject = null;

            bool exceptionThrown = false;

            try
            {
                using (var fs = File.OpenRead(projectFilePath))
                    loadedProject = PartProject.ExtractAndOpen(fs, tmpProjectDir);
            }
            catch (Exception ex)
            {
                ErrorMessageBox.Show(this,
                                     Messages.Error_OpeningProject,
                                     Messages.Caption_OpeningProject, ex.ToString());
                exceptionThrown = true;
            }

            if (loadedProject != null)
            {
                loadedProject.ProjectPath               = projectFilePath;
                loadedProject.ProjectWorkingDir         = tmpProjectDir;
                SettingsManager.Current.LastOpenProject = new RecentFileInfo(loadedProject, true);
                SettingsManager.AddRecentProject(loadedProject);
                LoadPartProject(loadedProject);
                RebuildRecentFilesMenu();
            }
            else if (!exceptionThrown)
            {
                ErrorMessageBox.Show(this,
                                     Messages.Error_OpeningProject,
                                     Messages.Caption_OpeningProject, "Invalid or corrupted project file. Missing \"project.xml\" file.");
            }
        }