blob: 9aff1a45acde6ff32e34bf23c97b8e000e5039cc [file] [log] [blame]
package org.eclipse.wst.jsdt.web.ui.internal.contentassist;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.wst.jsdt.core.ICompilationUnit;
import org.eclipse.wst.jsdt.core.IJavaElement;
import org.eclipse.wst.jsdt.internal.ui.javaeditor.EditorUtility;
import org.eclipse.wst.jsdt.ui.text.java.JavaContentAssistInvocationContext;
import org.eclipse.wst.jsdt.web.core.internal.java.IJSPTranslation;
import org.eclipse.wst.jsdt.web.core.internal.java.JSPTranslation;
import org.eclipse.wst.jsdt.web.core.internal.java.JSPTranslationAdapter;
import org.eclipse.wst.jsdt.web.core.internal.java.JSPTranslationExtension;
import org.eclipse.wst.jsdt.web.ui.internal.contentassist.JSDTProposalCollector;
import org.eclipse.wst.sse.core.StructuredModelManager;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
public class JSDTContetAssistInvocationContext extends JavaContentAssistInvocationContext{
JSPTranslationAdapter fTranslationAdapter;
JSPTranslation fTranslation;
ITextViewer viewer;
int offset;
public JSDTContetAssistInvocationContext(ITextViewer viewer, int offset, JSDTProposalCollector theCollector){
super(viewer,offset,null);
this.viewer=viewer;
this.offset=getJSPTranslation().getJavaOffset(offset);
//CompletionProposalCollector theCollector = getProposalCollector();
super.setCollector(theCollector);
}
public IDocument getDocument() {
return ((JSPTranslationExtension)fTranslation).getJavaDocument();
}
// protected CompletionProposalCollector getProposalCollector() {
//
// return ((CompletionProposalCollector) ( new JSPProposalCollector( getJSPTranslation()) ));
// }
private JSPTranslation getJSPTranslation(){
if(fTranslation != null ) return fTranslation;
IDOMModel xmlModel = null;
xmlModel = (IDOMModel) StructuredModelManager.getModelManager()
.getExistingModelForRead(viewer.getDocument());
IDOMDocument xmlDoc = xmlModel.getDocument();
if (fTranslationAdapter == null) {
fTranslationAdapter = (JSPTranslationAdapter) xmlDoc
.getAdapterFor(IJSPTranslation.class);
}
if (fTranslationAdapter != null) {
fTranslation = fTranslationAdapter.getJSPTranslation();
}
return fTranslation;
}
public ICompilationUnit getCompilationUnit() {
return getJSPTranslation().getCompilationUnit();
}
}