public int CreateEditorInstance( uint grfCreateDoc, string pszMkDocument, string pszPhysicalView, IVsHierarchy pvHier, uint itemid, System.IntPtr punkDocDataExisting, out System.IntPtr ppunkDocView, out System.IntPtr ppunkDocData, out string pbstrEditorCaption, out Guid pguidCmdUI, out int pgrfCDW) { Trace.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering {0} CreateEditorInstace()", this.ToString())); // Initialize to null ppunkDocView = IntPtr.Zero; ppunkDocData = IntPtr.Zero; pguidCmdUI = GuidList.guidCogaenEditExtensionEditorFactory; pgrfCDW = 0; pbstrEditorCaption = null; // Validate inputs if ((grfCreateDoc & (VSConstants.CEF_OPENFILE | VSConstants.CEF_SILENT)) == 0) { return VSConstants.E_INVALIDARG; } //if (punkDocDataExisting != IntPtr.Zero) //{ // return VSConstants.VS_E_INCOMPATIBLEDOCDATA; //} // Create the Document (editor) EditorPane NewEditor = new EditorPane(editorPackage); IObjectBuilder objBuilder = null; CogaenEditFile file = null; if (pvHier is CogaenEditProject) { CogaenEditProject project = pvHier as CogaenEditProject; file = project.NodeFromItemId(itemid) as CogaenEditFile; } if (punkDocDataExisting != IntPtr.Zero) { object dat = Marshal.GetObjectForIUnknown(punkDocDataExisting); if (dat is IObjectBuilder) { objBuilder = dat as IObjectBuilder; } } else { if (file != null) { file.Load(pszMkDocument,0,0); objBuilder = file.ObjectBuilder; } } NewEditor.OpenPreloadedDocument(objBuilder, pszMkDocument, file); //objBuilder.updateUi(); ppunkDocView = Marshal.GetIUnknownForObject(NewEditor); ppunkDocData = Marshal.GetIUnknownForObject(NewEditor); pbstrEditorCaption = ""; return VSConstants.S_OK; }
public EditorProperties(EditorPane Editor) { editor = Editor; }