[Pydev-cvs] org.python.pydev/src_completions/org/python/pydev/editor/codecompletion AbstractTempla
Brought to you by:
fabioz
Update of /cvsroot/pydev/org.python.pydev/src_completions/org/python/pydev/editor/codecompletion In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19782/src_completions/org/python/pydev/editor/codecompletion Modified Files: PyStringCodeCompletion.java AbstractPyCodeCompletion.java Added Files: AbstractTemplateCodeCompletion.java Log Message: Created more "surround with" options. Index: PyStringCodeCompletion.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src_completions/org/python/pydev/editor/codecompletion/PyStringCodeCompletion.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PyStringCodeCompletion.java 25 Jan 2008 01:53:39 -0000 1.2 --- PyStringCodeCompletion.java 1 May 2008 14:26:00 -0000 1.3 *************** *** 8,20 **** import org.eclipse.core.runtime.CoreException; import org.eclipse.jface.text.BadLocationException; - import org.eclipse.jface.text.IDocument; - import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.ITextViewer; import org.eclipse.jface.text.Region; import org.eclipse.jface.text.contentassist.ICompletionProposal; - import org.eclipse.jface.text.templates.DocumentTemplateContext; import org.eclipse.jface.text.templates.Template; import org.eclipse.jface.text.templates.TemplateContext; - import org.eclipse.jface.text.templates.TemplateContextType; import org.eclipse.jface.text.templates.TemplateProposal; import org.eclipse.swt.graphics.Image; --- 8,16 ---- *************** *** 27,32 **** import org.python.pydev.editor.codecompletion.revisited.CompletionCache; import org.python.pydev.editor.codecompletion.revisited.CompletionStateFactory; - import org.python.pydev.editor.templates.PyContextType; - import org.python.pydev.plugin.PydevPlugin; /** --- 23,26 ---- *************** *** 35,39 **** * @author fabioz */ ! public class PyStringCodeCompletion extends AbstractPyCodeCompletion{ /** --- 29,33 ---- * @author fabioz */ ! public class PyStringCodeCompletion extends AbstractTemplateCodeCompletion{ /** *************** *** 194,231 **** - - /** - * Creates a concrete template context for the given region in the document. This involves finding out which - * context type is valid at the given location, and then creating a context of this type. The default implementation - * returns a <code>DocumentTemplateContext</code> for the context type at the given location. - * - * @param viewer the viewer for which the context is created - * @param region the region into <code>document</code> for which the context is created - * @return a template context that can handle template insertion at the given location, or <code>null</code> - */ - private TemplateContext createContext(ITextViewer viewer, IRegion region, IDocument document) { - TemplateContextType contextType= getContextType(viewer, region); - if (contextType != null) { - return new DocumentTemplateContext(contextType, document, region.getOffset(), region.getLength()); - } - return null; - } - - - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getContextType(org.eclipse.jface.text.ITextViewer, - * org.eclipse.jface.text.IRegion) - */ - private TemplateContextType getContextType(ITextViewer viewer, IRegion region) { - PydevPlugin plugin = PydevPlugin.getDefault(); - if(plugin == null){ - //just for tests - return new TemplateContextType(); - } - return plugin.getContextTypeRegistry().getContextType(PyContextType.PY_CONTEXT_TYPE); - } - /** * @return completions added from contributors --- 188,191 ---- --- NEW FILE: AbstractTemplateCodeCompletion.java --- package org.python.pydev.editor.codecompletion; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.ITextViewer; import org.eclipse.jface.text.templates.DocumentTemplateContext; import org.eclipse.jface.text.templates.TemplateContext; import org.eclipse.jface.text.templates.TemplateContextType; import org.python.pydev.editor.templates.PyContextType; import org.python.pydev.plugin.PydevPlugin; public abstract class AbstractTemplateCodeCompletion extends AbstractPyCodeCompletion{ /** * Creates a concrete template context for the given region in the document. This involves finding out which * context type is valid at the given location, and then creating a context of this type. The default implementation * returns a <code>DocumentTemplateContext</code> for the context type at the given location. * * @param viewer the viewer for which the context is created * @param region the region into <code>document</code> for which the context is created * @return a template context that can handle template insertion at the given location, or <code>null</code> */ protected TemplateContext createContext(ITextViewer viewer, IRegion region, IDocument document) { TemplateContextType contextType= getContextType(viewer, region); if (contextType != null) { return new DocumentTemplateContext(contextType, document, region.getOffset(), region.getLength()); } return null; } /* * (non-Javadoc) * * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getContextType(org.eclipse.jface.text.ITextViewer, * org.eclipse.jface.text.IRegion) */ protected TemplateContextType getContextType(ITextViewer viewer, IRegion region) { PydevPlugin plugin = PydevPlugin.getDefault(); if(plugin == null){ //just for tests return new TemplateContextType(); } return plugin.getContextTypeRegistry().getContextType(PyContextType.PY_CONTEXT_TYPE); } } Index: AbstractPyCodeCompletion.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src_completions/org/python/pydev/editor/codecompletion/AbstractPyCodeCompletion.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** AbstractPyCodeCompletion.java 12 Apr 2008 15:40:09 -0000 1.9 --- AbstractPyCodeCompletion.java 1 May 2008 14:26:00 -0000 1.10 *************** *** 35,40 **** * @param lookingForInstance if looking for instance, we should not add the 'self' as parameter. */ ! protected void changeItokenToCompletionPropostal(ITextViewer viewer, CompletionRequest request, List<ICompletionProposal> convertedProposals, List iTokenList, boolean importsTip, ICompletionState state) { ! for (Iterator iter = iTokenList.iterator(); iter.hasNext();) { Object obj = iter.next(); --- 35,42 ---- * @param lookingForInstance if looking for instance, we should not add the 'self' as parameter. */ ! protected void changeItokenToCompletionPropostal(ITextViewer viewer, CompletionRequest request, ! List<ICompletionProposal> convertedProposals, List<Object> iTokenList, boolean importsTip, ICompletionState state) { ! ! for (Iterator<Object> iter = iTokenList.iterator(); iter.hasNext();) { Object obj = iter.next(); |