X-Git-Url: http://secure.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 3bfd969..dee6cca 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 @@ -23,6 +23,7 @@ import net.sourceforge.phpdt.internal.ui.text.template.BuiltInEngine; import net.sourceforge.phpdt.internal.ui.text.template.IdentifierEngine; import net.sourceforge.phpdt.internal.ui.text.template.TemplateEngine; import net.sourceforge.phpeclipse.PHPeclipsePlugin; +import net.sourceforge.phpeclipse.phpeditor.AbstractContentOutlinePage; import net.sourceforge.phpeclipse.phpeditor.PHPContentOutlinePage; import net.sourceforge.phpeclipse.phpeditor.PHPEditor; @@ -235,6 +236,7 @@ public class PHPCompletionProcessor implements IContentAssistProcessor { protected final static String[] fgProposals = PHPFunctionNames.FUNCTION_NAMES; + private char[] fProposalAutoActivationSet; protected IContextInformationValidator fValidator = new Validator(); private TemplateEngine fTemplateEngine; private PHPCompletionProposalComparator fComparator; @@ -248,6 +250,25 @@ public class PHPCompletionProcessor implements IContentAssistProcessor { fComparator = new PHPCompletionProposalComparator(); } + + /** + * Tells this processor to order the proposals alphabetically. + * + * @param order true if proposals should be ordered. + */ + public void orderProposalsAlphabetically(boolean order) { + fComparator.setOrderAlphabetically(order); + } + + /** + * Sets this processor's set of characters triggering the activation of the + * completion proposal computation. + * + * @param activationSet the activation set + */ + public void setCompletionProposalAutoActivationCharacters(char[] activationSet) { + fProposalAutoActivationSet = activationSet; + } /* (non-Javadoc) * Method declared on IContentAssistProcessor */ @@ -288,13 +309,15 @@ public class PHPCompletionProcessor implements IContentAssistProcessor { if (offset > 0) { PHPEditor editor = null; - PHPContentOutlinePage outlinePage = null; + AbstractContentOutlinePage outlinePage = null; IEditorPart targetEditor = PHPeclipsePlugin.getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if (targetEditor != null && (targetEditor instanceof PHPEditor)) { editor = (PHPEditor) targetEditor; outlinePage = editor.getfOutlinePage(); - identifiers = outlinePage.getVariables(); + if (outlinePage instanceof PHPContentOutlinePage) { + identifiers = ((PHPContentOutlinePage) outlinePage).getVariables(); + } } } @@ -367,13 +390,13 @@ public class PHPCompletionProcessor implements IContentAssistProcessor { // try { // - // JavaCodeReader reader= new JavaCodeReader(); + // PHPCodeReader reader= new PHPCodeReader(); // reader.configureBackwardReader(document, offset, true, true); // // int nestingLevel= 0; // // int curr= reader.read(); - // while (curr != JavaCodeReader.EOF) { + // while (curr != PHPCodeReader.EOF) { // // if (')' == (char) curr) // ++ nestingLevel; @@ -442,7 +465,8 @@ public class PHPCompletionProcessor implements IContentAssistProcessor { * Method declared on IContentAssistProcessor */ public char[] getCompletionProposalAutoActivationCharacters() { - return null; // new char[] { '$' }; + return fProposalAutoActivationSet; + // return null; // new char[] { '$' }; } /* (non-Javadoc)