X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java index 7881cea..beae245 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java @@ -18,6 +18,9 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.SortedMap; + +import net.sourceforge.phpdt.core.ICompilationUnit; +import net.sourceforge.phpdt.core.JavaModelException; import net.sourceforge.phpdt.core.ToolFactory; import net.sourceforge.phpdt.core.compiler.ITerminalSymbols; import net.sourceforge.phpdt.core.compiler.InvalidInputException; @@ -34,14 +37,19 @@ import net.sourceforge.phpdt.internal.ui.text.template.DeclarationEngine; import net.sourceforge.phpdt.internal.ui.text.template.IdentifierEngine; import net.sourceforge.phpdt.internal.ui.text.template.SQLProposal; import net.sourceforge.phpdt.internal.ui.text.template.TemplateEngine; +import net.sourceforge.phpdt.ui.IWorkingCopyManager; +import net.sourceforge.phpdt.ui.PreferenceConstants; import net.sourceforge.phpeclipse.IPreferenceConstants; import net.sourceforge.phpeclipse.PHPeclipsePlugin; import net.sourceforge.phpeclipse.builder.IdentifierIndexManager; import net.sourceforge.phpeclipse.overlaypages.Util; import net.sourceforge.phpeclipse.phpeditor.PHPEditor; import net.sourceforge.phpeclipse.phpeditor.PHPSyntaxRdr; + import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IRegion; @@ -55,8 +63,11 @@ import org.eclipse.jface.text.contentassist.IContextInformationExtension; import org.eclipse.jface.text.contentassist.IContextInformationPresenter; import org.eclipse.jface.text.contentassist.IContextInformationValidator; import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IFileEditorInput; + import com.quantum.model.Bookmark; import com.quantum.model.BookmarkCollection; import com.quantum.model.NotConnectedException; @@ -159,7 +170,11 @@ public class PHPCompletionProcessor implements IContentAssistProcessor { private TemplateEngine fTemplateEngine; private PHPCompletionProposalComparator fComparator; private int fNumberOfComputedResults = 0; - public PHPCompletionProcessor() { + private IEditorPart fEditor; + protected IWorkingCopyManager fManager; + public PHPCompletionProcessor(IEditorPart editor) { + fEditor= editor; + fManager= PHPeclipsePlugin.getDefault().getWorkingCopyManager(); ContextType contextType = ContextTypeRegistry.getInstance().getContextType( "php"); //$NON-NLS-1$ if (contextType != null) @@ -464,17 +479,16 @@ public class PHPCompletionProcessor implements IContentAssistProcessor { } private ICompletionProposal[] internalComputeCompletionProposals( ITextViewer viewer, int offset, int contextOffset) { + ICompilationUnit unit= fManager.getWorkingCopy(fEditor.getEditorInput()); + System.out.println( unit.toString() ); IDocument document = viewer.getDocument(); Object[] identifiers = null; IFile file = null; IProject project = null; if (offset > 0) { PHPEditor editor = null; - // JavaOutlinePage outlinePage = null; - IEditorPart targetEditor = PHPeclipsePlugin.getActiveWorkbenchWindow() - .getActivePage().getActiveEditor(); - if (targetEditor != null && (targetEditor instanceof PHPEditor)) { - editor = (PHPEditor) targetEditor; + if (fEditor != null && (fEditor instanceof PHPEditor)) { + editor = (PHPEditor) fEditor; file = ((IFileEditorInput) editor.getEditorInput()).getFile(); project = file.getProject(); // outlinePage = editor.getfOutlinePage();