public override HResult CreateProject(string fileName, NiProjectCreateMode createMode, out INiProject project) { project = null; try { project = LoadProject(fileName, createMode); return HResult.OK; } catch (Exception ex) { return ErrorUtil.GetHResult(ex); } }
public HResult CloseProject() { try { if (ActiveProject == null) { return(HResult.OK); } var hr = ((INiEnv)GetService(typeof(INiEnv))).CloseAllDocuments(NiSaveAllMode.All); if (ErrorUtil.Failure(hr) || hr == HResult.False) { return(hr); } if (((NiOpenDocumentManager)GetService(typeof(INiOpenDocumentManager))).HaveOpenDocuments) { throw new InvalidOperationException(Labels.OpenDocumentsPresent); } var activeProject = ActiveProject; ActiveProject = null; ErrorUtil.ThrowOnFailure(activeProject.Close()); if (((NiRunningDocumentTable)GetService(typeof(INiRunningDocumentTable))).HaveOpenDocuments) { Log.Warn("There are still documents in the running document table after closing the project"); } return(HResult.OK); } catch (Exception ex) { return(ErrorUtil.GetHResult(ex)); } }
private HResult OpenProject(string fileName, NiProjectCreateMode mode) { try { if (fileName == null) { throw new ArgumentNullException("fileName"); } // Find the associated factory. INiProjectFactory factory = null; string extension = Path.GetExtension(fileName); if (extension != null) { Debug.Assert(extension[0] == '.' && extension.Length > 1); factory = FindProjectFactory(extension.Substring(1)); } if (factory == null) { throw new ArgumentException(NeutralResources.CannotFindProjectFactory, "fileName"); } // Close the existing project. if (ActiveProject != null) { var activeProject = ActiveProject; ActiveProject = null; activeProject.Close(); } // Create and load the new project. INiProject project; var result = factory.CreateProject( fileName, mode, out project ); if (ErrorUtil.Failure(result)) { return(result); } project.SetPropertyEx(NiHierarchyProperty.OwnerType, factory.GetType().GUID); ActiveProject = project; return(HResult.OK); } catch (Exception ex) { return(ErrorUtil.GetHResult(ex)); } }
public abstract HResult CreateProject(string fileName, NiProjectCreateMode createMode, out INiProject project);
public HResult CloseProject() { try { if (ActiveProject == null) return HResult.OK; var hr = ((INiEnv)GetService(typeof(INiEnv))).CloseAllDocuments(NiSaveAllMode.All); if (ErrorUtil.Failure(hr) || hr == HResult.False) return hr; if (((NiOpenDocumentManager)GetService(typeof(INiOpenDocumentManager))).HaveOpenDocuments) throw new InvalidOperationException(Labels.OpenDocumentsPresent); var activeProject = ActiveProject; ActiveProject = null; ErrorUtil.ThrowOnFailure(activeProject.Close()); if (((NiRunningDocumentTable)GetService(typeof(INiRunningDocumentTable))).HaveOpenDocuments) Log.Warn("There are still documents in the running document table after closing the project"); return HResult.OK; } catch (Exception ex) { return ErrorUtil.GetHResult(ex); } }
private HResult OpenProject(string fileName, NiProjectCreateMode mode) { try { if (fileName == null) throw new ArgumentNullException("fileName"); // Find the associated factory. INiProjectFactory factory = null; string extension = Path.GetExtension(fileName); if (extension != null) { Debug.Assert(extension[0] == '.' && extension.Length > 1); factory = FindProjectFactory(extension.Substring(1)); } if (factory == null) throw new ArgumentException(NeutralResources.CannotFindProjectFactory, "fileName"); // Close the existing project. if (ActiveProject != null) { var activeProject = ActiveProject; ActiveProject = null; activeProject.Close(); } // Create and load the new project. INiProject project; var result = factory.CreateProject( fileName, mode, out project ); if (ErrorUtil.Failure(result)) return result; project.SetPropertyEx(NiHierarchyProperty.OwnerType, factory.GetType().GUID); ActiveProject = project; return HResult.OK; } catch (Exception ex) { return ErrorUtil.GetHResult(ex); } }
public override HResult CreateProject(string fileName, NiProjectCreateMode createMode, out INiProject project) { project = null; try { project = LoadProject(fileName, createMode); return(HResult.OK); } catch (Exception ex) { return(ErrorUtil.GetHResult(ex)); } }