X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPTextHover.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPTextHover.java deleted file mode 100644 index 308f746..0000000 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPTextHover.java +++ /dev/null @@ -1,130 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2002 IBM Corp. and others. -All rights reserved. This program and the accompanying materials -are made available under the terms of the Common Public License v1.0 -which accompanies this distribution, and is available at -http://www.eclipse.org/legal/cpl-v10.html - -Contributors: - IBM Corporation - Initial implementation - Klaus Hartlage - www.eclipseproject.de -**********************************************************************/ -package net.sourceforge.phpeclipse.phpeditor; - -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Vector; - -import net.sourceforge.phpeclipse.PHPeclipsePlugin; -import net.sourceforge.phpeclipse.builder.IdentifierIndexManager; -import net.sourceforge.phpeclipse.builder.PHPIdentifierLocation; -import net.sourceforge.phpeclipse.phpeditor.php.PHPElement; -import net.sourceforge.phpeclipse.phpeditor.php.PHPWordExtractor; - -import org.eclipse.core.resources.IProject; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.ITextHover; -import org.eclipse.jface.text.ITextViewer; -import org.eclipse.jface.text.Region; -import org.eclipse.swt.graphics.Point; - -/** - * Implementation for an ITextHover - * which hovers over PHP code. - */ -public class PHPTextHover implements ITextHover { - public static HashMap functionDescriptions = null; - - private static PHPWordExtractor phpWordDetector = new PHPWordExtractor(); - private IProject fProject; - - public PHPTextHover(IProject project) { - fProject = project; - } - /* (non-Javadoc) - * Method declared on ITextHover - */ - public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) { - if (hoverRegion != null) { - try { - if (hoverRegion.getLength() > -1) { - String word = textViewer.getDocument().get(hoverRegion.getOffset(), hoverRegion.getLength()); - if (functionDescriptions == null) { - functionDescriptions = new HashMap(); - // PHPSyntaxRdr syntaxRdr = new PHPSyntaxRdr(); - // syntaxRdr.readInSyntax(); - - // Vector syntaxbuffer = syntaxRdr.getsyntaxdata(); - Vector syntaxbuffer = PHPSyntaxRdr.getsyntaxdata(); - String strbuffer = null; - PHPElement elbuffer = null; - while ((syntaxbuffer != null) - && (!syntaxbuffer.isEmpty() && ((elbuffer = (PHPElement) syntaxbuffer.remove(0)) != null))) { - functionDescriptions.put(elbuffer.getName(), elbuffer.getHoverText()); - } - - // functionDescriptions = new HashMap(997); - // for (int i=0; i 0) { - try { - PHPIdentifierLocation location; - String filename; - FileReader phpdocFileReader; - StringBuffer hoverInfoBuffer = new StringBuffer(); - String workspaceLocation = PHPeclipsePlugin.getWorkspace().getRoot().getLocation().toString(); - boolean foundPHPdoc = false; - for (int i = 0; i < list.size(); i++) { - location = (PHPIdentifierLocation) list.get(0); - if (location.getPHPDocOffset() >= 0) { - foundPHPdoc = true; - filename = workspaceLocation + location.getFilename(); - phpdocFileReader = new FileReader(filename); - hoverInfoBuffer.append("PHPdoc found in file: "); - hoverInfoBuffer.append(filename); - hoverInfoBuffer.append('\n'); - char[] charArray = new char[location.getPHPDocLength()]; - phpdocFileReader.skip(location.getPHPDocOffset()); - phpdocFileReader.read(charArray, 0, location.getPHPDocLength()); - hoverInfoBuffer.append(charArray); - hoverInfoBuffer.append('\n'); - } - } - if (foundPHPdoc) { - hoverInfo = hoverInfoBuffer.toString(); - } - } catch (Throwable e) { - // ignore exceptions - // e.printStackTrace(); - } - } - } - return hoverInfo; - } - // } catch (BadLocationException x) { - } catch (Exception x) { - } - } - return "empty selection"; - } - - /* (non-Javadoc) - * Method declared on ITextHover - */ - public IRegion getHoverRegion(ITextViewer textViewer, int offset) { - Point selection = PHPWordExtractor.findWord(textViewer.getDocument(), offset); - // show the extracted word as a tooltip - if (selection != null && selection.x <= offset && offset < selection.x + selection.y) - return new Region(selection.x, selection.y); - return new Region(offset, 0); - } -}