actually,one map to store document to editor relation is enough. Michael ,i want some advices from you .thank you!
2009/4/13 赵忠伟 <zhaozhong...@eclipseworld.org> > thank you for your patient! > > best regards! > > 2009/4/13 Michael Spector <spek...@gmail.com> > >> Sorry, I've forgot to compare documents. Here's the complete "solution": >> >> >> IStructuredDocumentRegion sdRegion; >> IStructuredDocument parentDocument = >> sdRegion.getParentDocument(); >> IWorkbenchPage page = PHPUiPlugin.getActivePage(); >> if (page != null) { >> IEditorPart editor = page.getActiveEditor(); >> if (editor instanceof PHPStructuredEditor) { >> StructuredTextViewer textViewer = >> ((PHPStructuredEditor) >> editor).getTextViewer(); >> if (textViewer != null && >> textViewer.getDocument() == parentDocument) { >> ISourceModule sourceModule = >> (ISourceModule) >> ((PHPStructuredEditor) editor).getModelElement(); >> } >> } >> } >> >> >> >> >> 2009/4/13 Michael Spector <spek...@gmail.com>: >> > In this case you can do the following hack :) >> > >> > IStructuredDocumentRegion sdRegion; >> > IStructuredDocument parentDocument = sdRegion.getParentDocument(); >> > IWorkbenchPage page = PHPUiPlugin.getActivePage(); >> > if (page != null) { >> > IEditorPart editor = page.getActiveEditor(); >> > if (editor instanceof PHPStructuredEditor) { >> > ISourceModule sourceModule = (ISourceModule) >> ((PHPStructuredEditor) >> > editor).getModelElement(); >> > } >> > } >> > >> > On Mon, Apr 13, 2009 at 12:22 PM, 赵忠伟 <zhaozhong...@eclipseworld.org> >> wrote: >> >> hi, Michael >> >> >> >> i extended the extension "org.eclipse.wst.sse.ui.semanticHighlighting" >> >> as following: >> >> <extension point="org.eclipse.wst.sse.ui.semanticHighlighting"> >> >> <highlighting >> >> >> >> >> class="org.eclipse.php.internal.ui.editor.highlighting.PHPStaticSemanticHighlighting" >> >> target="org.eclipse.php.core.phpsource"> >> >> </highlighting> >> >> </extension> >> >> >> >> here PHPStaticSemanticHighlighting need to implement >> ISemanticHighlighting >> >> interface >> >> and there is a method public Position[] >> consumes(IStructuredDocumentRegion >> >> region); in ISemanticHighlighting interface ,so the context is i can >> get >> >> nothing except IStructuredDocumentRegion (actually >> >> XMLStructuredDocumentRegion).the method ISemanticHighlighting#consumes >> is >> >> called by SemanticHighlightingReconciler#reconcile (more or less 133rd >> >> line) .there is StructuredTextEditor in >> SemanticHighlightingReconciler,but i >> >> could not get it.if i the editor,i can get editorinput and the file,so >> i can >> >> use DLTKCore#create to get a ISourceModule ,but now i can only get >> >> IStructuredDocumentRegion ,nothing else!i search a lot in the pdt >> source but >> >> i did not find a way to get ISourceModule from >> IStructuredDocumentRegion.and >> >> in my oponion,ISourceModule must be relative to IScriptProject and >> >> IScriptFolder,so from IStructuredDocumentRegion ,it is hardly to find >> the >> >> corresponding ISourceModule (IScriptProject and IScriptFolder) it >> belongs >> >> to.i am sorry for my poor english:) >> >> >> >> >> >> >> >> thank you very much! >> >> best regards! >> >> _______________________________________________ >> >> pdt-dev mailing list >> >> pdt-dev@eclipse.org >> >> https://dev.eclipse.org/mailman/listinfo/pdt-dev >> >> >> >> >> > >> > >> > >> > -- >> > Best regards, >> > Michael >> > >> >> >> >> -- >> Best regards, >> Michael >> _______________________________________________ >> pdt-dev mailing list >> pdt-dev@eclipse.org >> https://dev.eclipse.org/mailman/listinfo/pdt-dev >> > >
_______________________________________________ pdt-dev mailing list pdt-dev@eclipse.org https://dev.eclipse.org/mailman/listinfo/pdt-dev