~vil/pydev/upstream

« back to all changes in this revision

Viewing changes to org.python.pydev/src/org/python/pydev/editor/codecompletion/PyTemplateCompletion.java

  • Committer: Vladimír Lapáček
  • Date: 2006-08-30 18:38:44 UTC
  • Revision ID: vladimir.lapacek@gmail.com-20060830183844-f4d82c1239a7770a
Initial import of upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Created on Aug 11, 2004
 
3
 *
 
4
 * @author Fabio Zadrozny
 
5
 */
 
6
package org.python.pydev.editor.codecompletion;
 
7
 
 
8
import java.util.List;
 
9
 
 
10
import org.eclipse.jface.text.IRegion;
 
11
import org.eclipse.jface.text.ITextViewer;
 
12
import org.eclipse.jface.text.contentassist.ICompletionProposal;
 
13
import org.eclipse.jface.text.templates.Template;
 
14
import org.eclipse.jface.text.templates.TemplateCompletionProcessor;
 
15
import org.eclipse.jface.text.templates.TemplateContextType;
 
16
import org.eclipse.swt.graphics.Image;
 
17
import org.python.pydev.editor.templates.PyContextType;
 
18
import org.python.pydev.plugin.PydevPlugin;
 
19
import org.python.pydev.ui.UIConstants;
 
20
 
 
21
/**
 
22
 * @author Fabio Zadrozny
 
23
 */
 
24
public class PyTemplateCompletion extends TemplateCompletionProcessor{
 
25
    /*
 
26
     * (non-Javadoc)
 
27
     * 
 
28
     * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getTemplates(java.lang.String)
 
29
     */
 
30
    protected Template[] getTemplates(String contextTypeId) {
 
31
        return PydevPlugin.getDefault().getTemplateStore().getTemplates();
 
32
    }
 
33
 
 
34
    /*
 
35
     * (non-Javadoc)
 
36
     * 
 
37
     * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getContextType(org.eclipse.jface.text.ITextViewer,
 
38
     *      org.eclipse.jface.text.IRegion)
 
39
     */
 
40
    protected TemplateContextType getContextType(ITextViewer viewer,
 
41
            IRegion region) {
 
42
        return PydevPlugin.getDefault().getContextTypeRegistry()
 
43
                .getContextType(PyContextType.PY_CONTEXT_TYPE);
 
44
    }
 
45
 
 
46
    /*
 
47
     * (non-Javadoc)
 
48
     * 
 
49
     * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getImage(org.eclipse.jface.text.templates.Template)
 
50
     */
 
51
    protected Image getImage(Template template) {
 
52
        return PydevPlugin.getImageCache().get(UIConstants.COMPLETION_TEMPLATE);
 
53
    }
 
54
 
 
55
    /**
 
56
     * @param viewer
 
57
     * @param documentOffset
 
58
     * @param propList
 
59
     *  
 
60
     */
 
61
    protected void addTemplateProposals(ITextViewer viewer, int documentOffset,
 
62
            List propList) {
 
63
        
 
64
        String str = extractPrefix(viewer, documentOffset);
 
65
 
 
66
        ICompletionProposal[] templateProposals = 
 
67
                computeCompletionProposals(viewer, documentOffset);
 
68
 
 
69
        for (int j = 0; j < templateProposals.length; j++) {
 
70
            if ( templateProposals[j].getDisplayString().startsWith(str)){
 
71
                propList.add(templateProposals[j]);
 
72
            }
 
73
        }
 
74
 
 
75
    }
 
76
 
 
77
}