RC2 compatibility
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / phpeditor / php / PHPCompletionProcessor.java
index 7881cea..beae245 100644 (file)
@@ -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();