new PartitionScanner version
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / text / template / DeclarationProposal.java
index 539a49b..76da3b3 100644 (file)
@@ -14,6 +14,7 @@ import net.sourceforge.phpdt.internal.ui.text.link.LinkedPositionUI;
 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
 import net.sourceforge.phpeclipse.builder.PHPIdentifierLocation;
 
+import org.eclipse.core.resources.IProject;
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.IRegion;
@@ -28,6 +29,7 @@ import org.eclipse.swt.graphics.Image;
  * A PHP identifier proposal.
  */
 public class DeclarationProposal extends AbstractProposal { //implements IPHPCompletionProposal {
+  private IProject fProject;
   private final TemplateContext fContext;
   private final PHPIdentifierLocation fLocation;
 
@@ -48,6 +50,7 @@ public class DeclarationProposal extends AbstractProposal { //implements IPHPCom
    * @param image     the icon of the proposal.
    */
   public DeclarationProposal(
+      IProject project,
     String identifierName,
     PHPIdentifierLocation location,
     TemplateContext context,
@@ -56,6 +59,7 @@ public class DeclarationProposal extends AbstractProposal { //implements IPHPCom
     super(viewer);
     //    Image image_fun,
     //    Image image_var) {
+    fProject = project;
     fIdentifierName = identifierName;
     fLocation = location;
     fContext = context;
@@ -138,10 +142,18 @@ public class DeclarationProposal extends AbstractProposal { //implements IPHPCom
    */
   public String getAdditionalProposalInfo() {
     StringBuffer hoverInfoBuffer = new StringBuffer();
-    String workspaceLocation = PHPeclipsePlugin.getWorkspace().getRoot().getLocation().toString();
+//    String workspaceLocation = PHPeclipsePlugin.getWorkspace().getRoot().getLocation().toString();
+    String workspaceLocation;
+    if (fProject!=null) {
+      workspaceLocation = fProject.getLocation().toString()+'/';
+    } else {
+      // should never happen?
+      workspaceLocation = PHPeclipsePlugin.getWorkspace()
+      .getRoot().getLocation().toString();
+    }
     String filename = workspaceLocation + fLocation.getFilename();
     PHPDocUtil.appendPHPDoc(hoverInfoBuffer, filename, fLocation);
-    return textToHTML(hoverInfoBuffer.toString());
+    return hoverInfoBuffer.toString();
   }
 
   /*
@@ -155,7 +167,15 @@ public class DeclarationProposal extends AbstractProposal { //implements IPHPCom
    * @see ICompletionProposal#getDisplayString()
    */
   public String getDisplayString() {
-    String workspaceLocation = PHPeclipsePlugin.getWorkspace().getRoot().getLocation().toString();
+//    String workspaceLocation = PHPeclipsePlugin.getWorkspace().getRoot().getLocation().toString();
+    String workspaceLocation;
+    if (fProject!=null) {
+      workspaceLocation = fProject.getLocation().toString()+'/';
+    } else {
+      // should never happen?
+      workspaceLocation = PHPeclipsePlugin.getWorkspace()
+      .getRoot().getLocation().toString();
+    }
     String filename = workspaceLocation + fLocation.getFilename();
     return fIdentifierName + TemplateMessages.getString("TemplateProposal.delimiter") + PHPDocUtil.getUsage(filename, fLocation) + TemplateMessages.getString("TemplateProposal.delimiter") + filename; // $NON-NLS-1$ //$NON-NLS-1$
   }