and document to ISourceModule map seems better.lol 2009/4/13 赵忠伟 <[email protected]>
> actually,one map to store document to editor relation is enough. > > Michael ,i want some advices from you .thank you! > > 2009/4/13 赵忠伟 <[email protected]> > > thank you for your patient! >> >> best regards! >> >> 2009/4/13 Michael Spector <[email protected]> >> >>> 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 <[email protected]>: >>> > 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, 赵忠伟 <[email protected]> >>> 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 >>> >> [email protected] >>> >> https://dev.eclipse.org/mailman/listinfo/pdt-dev >>> >> >>> >> >>> > >>> > >>> > >>> > -- >>> > Best regards, >>> > Michael >>> > >>> >>> >>> >>> -- >>> Best regards, >>> Michael >>> _______________________________________________ >>> pdt-dev mailing list >>> [email protected] >>> https://dev.eclipse.org/mailman/listinfo/pdt-dev >>> >> >> >
_______________________________________________ pdt-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/pdt-dev
