Thread: [Pydev-cvs] org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics AssistTry.java,
Brought to you by:
fabioz
From: Fabio Z. <fa...@us...> - 2005-04-25 16:51:15
|
Update of /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2272/src/org/python/pydev/editor/correctionassist/heuristics Modified Files: AssistTry.java AssistCreateMethodInModule.java AssistDocString.java AssistCreateClassInModule.java AssistCreations.java AssistCreateMethodInClass.java AbstractAssistCreate.java AssistOverride.java AssistAssign.java Log Message: 0.9.3 Index: AssistCreateMethodInModule.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistCreateMethodInModule.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AssistCreateMethodInModule.java 14 Apr 2005 13:12:12 -0000 1.2 --- AssistCreateMethodInModule.java 25 Apr 2005 16:50:19 -0000 1.3 *************** *** 9,17 **** import java.util.List; - import org.eclipse.jface.text.BadLocationException; import org.eclipse.swt.graphics.Image; import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.CompletionProposal; import org.python.pydev.editor.codecompletion.revisited.SourceModuleProposal; import org.python.pydev.editor.codecompletion.revisited.modules.SourceModule; --- 9,17 ---- import java.util.List; import org.eclipse.swt.graphics.Image; import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.IPyCompletionProposal; ! import org.python.pydev.editor.codecompletion.PyCompletionProposal; import org.python.pydev.editor.codecompletion.revisited.SourceModuleProposal; import org.python.pydev.editor.codecompletion.revisited.modules.SourceModule; *************** *** 25,54 **** public class AssistCreateMethodInModule extends AbstractAssistCreate { ! private String getDeclToCreate(PySelection ps, int offset){ ! try { ! int len = ps.getStartLine().getOffset() + ps.getStartLine().getLength() - offset; ! String met = ps.getDoc().get(offset, len).trim(); ! ! String delim = PyAction.getDelimiter(ps.getDoc()); ! String indent = PyAction.getStaticIndentationString(); ! ! String ret = delim+"def "+met+":"+delim; ! ret += indent+"'''"+delim; ! ! List toks = PyAction.getInsideParentesisToks(met); ! ! for (Iterator iter = toks.iterator(); iter.hasNext();) { ! String element = (String) iter.next(); ! ret += indent+"@param "+element+":"+delim; ! } ! ret += indent+"'''"+delim; ! ret += indent; ! ! return ret; ! } catch (BadLocationException e) { ! throw new RuntimeException(e); } } --- 25,48 ---- public class AssistCreateMethodInModule extends AbstractAssistCreate { ! private String getDeclToCreate(PySelection ps, int offset, String met){ ! String delim = PyAction.getDelimiter(ps.getDoc()); ! String indent = PyAction.getStaticIndentationString(); ! String ret = delim+"def "+met+":"+delim; ! ret += indent+"'''"+delim; ! ! List toks = PyAction.getInsideParentesisToks(met); ! ! for (Iterator iter = toks.iterator(); iter.hasNext();) { ! String element = (String) iter.next(); ! ret += indent+"@param "+element+":"+delim; } + ret += indent+"'''"+delim; + ret += indent; + + + return ret; + } *************** *** 61,71 **** * @return */ ! protected CompletionProposal getProposal(PySelection ps, ImageCache imageCache, int offset, final SourceModule s) { ! Image img=null; ! if(imageCache != null) ! img = imageCache.get(UIConstants.ASSIST_NEW_METHOD); ! String methodToCreate = getDeclToCreate(ps, offset); ! CompletionProposal proposal = new SourceModuleProposal(methodToCreate, 0, 0, methodToCreate.length(), img, "Create method in module "+s.getName(), null, null, s); ! return proposal; } --- 55,74 ---- * @return */ ! protected PyCompletionProposal getProposal(PySelection ps, ImageCache imageCache, int offset, final SourceModule s) { ! try { ! Image img = null; ! if (imageCache != null) ! img = imageCache.get(UIConstants.ASSIST_NEW_METHOD); ! int len = ps.getStartLine().getOffset() + ps.getStartLine().getLength() - offset; ! String met = ps.getDoc().get(offset, len).trim(); ! ! String methodToCreate = getDeclToCreate(ps, offset, met); ! PyCompletionProposal proposal = new SourceModuleProposal(methodToCreate, 0, 0, methodToCreate.length(), img, ! "Create method "+met+" in module " + s.getName(), null, null, s, IPyCompletionProposal.PRIORITY_DEFAULT); ! return proposal; ! ! } catch (Exception e) { ! throw new RuntimeException(e); ! } } Index: AssistAssign.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistAssign.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AssistAssign.java 14 Apr 2005 13:12:13 -0000 1.3 --- AssistAssign.java 25 Apr 2005 16:50:19 -0000 1.4 *************** *** 14,18 **** import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.CompletionProposal; import org.python.pydev.editor.model.AbstractNode; import org.python.pydev.plugin.PythonNature; --- 14,19 ---- import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.IPyCompletionProposal; ! import org.python.pydev.editor.codecompletion.PyCompletionProposal; import org.python.pydev.editor.model.AbstractNode; import org.python.pydev.plugin.PythonNature; *************** *** 79,87 **** int firstCharPosition = PyAction.getFirstCharPosition(ps.getDoc(), ps.getAbsoluteCursorOffset()); callName += " = "; ! l.add(new CompletionProposal(callName, firstCharPosition, 0, 0, getImage(imageCache, UIConstants.ASSIST_ASSIGN_TO_LOCAL), ! "Assign to new local variable", null, null)); ! l.add(new CompletionProposal("self." + callName, firstCharPosition, 0, 5, getImage(imageCache,UIConstants.ASSIST_ASSIGN_TO_CLASS), ! "Assign to new field", null, null)); } return l; --- 80,88 ---- int firstCharPosition = PyAction.getFirstCharPosition(ps.getDoc(), ps.getAbsoluteCursorOffset()); callName += " = "; ! l.add(new PyCompletionProposal(callName, firstCharPosition, 0, 0, getImage(imageCache, UIConstants.ASSIST_ASSIGN_TO_LOCAL), ! "Assign to new local variable", null, null, IPyCompletionProposal.PRIORITY_DEFAULT)); ! l.add(new PyCompletionProposal("self." + callName, firstCharPosition, 0, 5, getImage(imageCache,UIConstants.ASSIST_ASSIGN_TO_CLASS), ! "Assign to new field", null, null, IPyCompletionProposal.PRIORITY_DEFAULT)); } return l; Index: AssistOverride.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistOverride.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** AssistOverride.java 13 Apr 2005 17:33:24 -0000 1.4 --- AssistOverride.java 25 Apr 2005 16:50:19 -0000 1.5 *************** *** 13,17 **** import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.CompletionProposal; import org.python.pydev.editor.codecompletion.CompletionRequest; import org.python.pydev.editor.codecompletion.PyCodeCompletion; --- 13,18 ---- import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.IPyCompletionProposal; ! import org.python.pydev.editor.codecompletion.PyCompletionProposal; import org.python.pydev.editor.codecompletion.CompletionRequest; import org.python.pydev.editor.codecompletion.PyCodeCompletion; *************** *** 89,94 **** String comp = buffer.toString(); ! l.add(new CompletionProposal(comp, ps.getStartLine().getOffset(), ps.getStartLine().getLength(), comp.length() , imageCache.get(UIConstants.ASSIST_NEW_CLASS), ! rep+" (Override)", null, null)); } } --- 90,95 ---- String comp = buffer.toString(); ! l.add(new PyCompletionProposal(comp, ps.getStartLine().getOffset(), ps.getStartLine().getLength(), comp.length() , imageCache.get(UIConstants.ASSIST_NEW_CLASS), ! rep+" (Override)", null, null, IPyCompletionProposal.PRIORITY_DEFAULT)); } } Index: AssistCreateMethodInClass.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistCreateMethodInClass.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** AssistCreateMethodInClass.java 14 Apr 2005 13:12:13 -0000 1.4 --- AssistCreateMethodInClass.java 25 Apr 2005 16:50:19 -0000 1.5 *************** *** 10,14 **** import java.util.List; - import org.eclipse.jface.text.BadLocationException; import org.eclipse.swt.graphics.Image; import org.python.parser.ast.ClassDef; --- 10,13 ---- *************** *** 16,20 **** import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.CompletionProposal; import org.python.pydev.editor.codecompletion.revisited.SourceModuleProposal; import org.python.pydev.editor.codecompletion.revisited.modules.AbstractModule; --- 15,20 ---- import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.IPyCompletionProposal; ! import org.python.pydev.editor.codecompletion.PyCompletionProposal; import org.python.pydev.editor.codecompletion.revisited.SourceModuleProposal; import org.python.pydev.editor.codecompletion.revisited.modules.AbstractModule; *************** *** 31,69 **** */ public class AssistCreateMethodInClass extends AbstractAssistCreate { ! private String getDeclToCreate(PySelection ps, int offset){ ! try { ! int len = ps.getStartLine().getOffset() + ps.getStartLine().getLength() - offset; ! String met = ps.getDoc().get(offset, len).trim(); ! List toks = PyAction.getInsideParentesisToks(met); ! met = met.substring(0, met.indexOf('(')); ! ! String delim = PyAction.getDelimiter(ps.getDoc()); ! String indent = PyAction.getStaticIndentationString(); ! ! String ret = delim; ! ret += indent+"def "+met+"(self"; ! ! ! for (Iterator iter = toks.iterator(); iter.hasNext();) { ! ret += ", "; ! String element = (String) iter.next(); ! ret += element; ! } ! ret += "):"+delim; ! ! ret += indent+indent+"'''"+delim; ! for (Iterator iter = toks.iterator(); iter.hasNext();) { ! String element = (String) iter.next(); ! ret += indent+indent+"@param "+element+":"+delim; ! } ! ret += indent+indent+"'''"+delim; ! ret += indent+indent; ! ! ! return ret; ! } catch (BadLocationException e) { ! throw new RuntimeException(e); } } --- 31,63 ---- */ public class AssistCreateMethodInClass extends AbstractAssistCreate { ! private String getDeclToCreate(PySelection ps, int offset, String met){ ! List toks = PyAction.getInsideParentesisToks(met); ! met = met.substring(0, met.indexOf('(')); ! String delim = PyAction.getDelimiter(ps.getDoc()); ! String indent = PyAction.getStaticIndentationString(); ! ! String ret = delim; ! ret += indent+"def "+met+"(self"; ! ! ! for (Iterator iter = toks.iterator(); iter.hasNext();) { ! ret += ", "; ! String element = (String) iter.next(); ! ret += element; ! } ! ret += "):"+delim; ! ! ret += indent+indent+"'''"+delim; ! for (Iterator iter = toks.iterator(); iter.hasNext();) { ! String element = (String) iter.next(); ! ret += indent+indent+"@param "+element+":"+delim; } + ret += indent+indent+"'''"+delim; + ret += indent+indent; + + + return ret; + } *************** *** 71,83 **** * @see org.python.pydev.editor.correctionassist.heuristics.AbstractAssistCreate#getProposal(org.python.pydev.editor.actions.PySelection, org.python.pydev.ui.ImageCache, int, org.python.pydev.editor.codecompletion.revisited.modules.AbstractModule, org.python.pydev.editor.codecompletion.revisited.modules.SourceModule) */ ! protected CompletionProposal getProposal(PySelection ps, ImageCache imageCache, int offset, AbstractModule m, SourceModule s, Definition d) { ! Image img=null; ! if(imageCache != null) ! img = imageCache.get(UIConstants.ASSIST_NEW_CLASS); ! String methodToCreate = getDeclToCreate(ps, offset); ! SourceModuleProposal proposal = new SourceModuleProposal(methodToCreate, 0, 0, methodToCreate.length(), img, "Create method in class "+m.getName()+"."+d.value, null, null, s); ! proposal.definition = d; ! proposal.addTo = SourceModuleProposal.ADD_TO_LAST_CLASS_LINE; ! return proposal; } --- 65,84 ---- * @see org.python.pydev.editor.correctionassist.heuristics.AbstractAssistCreate#getProposal(org.python.pydev.editor.actions.PySelection, org.python.pydev.ui.ImageCache, int, org.python.pydev.editor.codecompletion.revisited.modules.AbstractModule, org.python.pydev.editor.codecompletion.revisited.modules.SourceModule) */ ! protected PyCompletionProposal getProposal(PySelection ps, ImageCache imageCache, int offset, AbstractModule m, SourceModule s, Definition d) { ! try { ! Image img = null; ! if (imageCache != null) ! img = imageCache.get(UIConstants.ASSIST_NEW_CLASS); ! int len = ps.getStartLine().getOffset() + ps.getStartLine().getLength() - offset; ! String met = ps.getDoc().get(offset, len).trim(); ! String methodToCreate = getDeclToCreate(ps, offset, met); ! SourceModuleProposal proposal = new SourceModuleProposal(methodToCreate, 0, 0, methodToCreate.length(), img, ! "Create method "+met+" in class " + m.getName() + "." + d.value, null, null, s, IPyCompletionProposal.PRIORITY_DEFAULT); ! proposal.definition = d; ! proposal.addTo = SourceModuleProposal.ADD_TO_LAST_CLASS_LINE; ! return proposal; ! } catch (Exception e) { ! throw new RuntimeException(e); ! } } *************** *** 126,130 **** * @see org.python.pydev.editor.correctionassist.heuristics.AbstractAssistCreate#getProposal(org.python.pydev.editor.actions.PySelection, org.python.pydev.ui.ImageCache, int, org.python.pydev.editor.codecompletion.revisited.modules.AbstractModule, org.python.pydev.editor.codecompletion.revisited.modules.SourceModule) */ ! protected CompletionProposal getProposal(PySelection ps, ImageCache imageCache, int offset, SourceModule definedModule) { throw new RuntimeException("Should not be called."); } --- 127,131 ---- * @see org.python.pydev.editor.correctionassist.heuristics.AbstractAssistCreate#getProposal(org.python.pydev.editor.actions.PySelection, org.python.pydev.ui.ImageCache, int, org.python.pydev.editor.codecompletion.revisited.modules.AbstractModule, org.python.pydev.editor.codecompletion.revisited.modules.SourceModule) */ ! protected PyCompletionProposal getProposal(PySelection ps, ImageCache imageCache, int offset, SourceModule definedModule) { throw new RuntimeException("Should not be called."); } Index: AbstractAssistCreate.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AbstractAssistCreate.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AbstractAssistCreate.java 15 Apr 2005 15:52:14 -0000 1.3 --- AbstractAssistCreate.java 25 Apr 2005 16:50:19 -0000 1.4 *************** *** 12,16 **** import org.eclipse.jface.text.BadLocationException; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.CompletionProposal; import org.python.pydev.editor.codecompletion.PyCodeCompletion; import org.python.pydev.editor.codecompletion.revisited.IToken; --- 12,16 ---- import org.eclipse.jface.text.BadLocationException; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.PyCompletionProposal; import org.python.pydev.editor.codecompletion.PyCodeCompletion; import org.python.pydev.editor.codecompletion.revisited.IToken; *************** *** 117,121 **** * @return */ ! protected abstract CompletionProposal getProposal(PySelection ps, ImageCache imageCache, int offset, final SourceModule definedModule); --- 117,121 ---- * @return */ ! protected abstract PyCompletionProposal getProposal(PySelection ps, ImageCache imageCache, int offset, final SourceModule definedModule); Index: AssistTry.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistTry.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** AssistTry.java 13 Apr 2005 17:33:24 -0000 1.4 --- AssistTry.java 25 Apr 2005 16:50:19 -0000 1.5 *************** *** 13,17 **** import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.CompletionProposal; import org.python.pydev.editor.model.AbstractNode; import org.python.pydev.plugin.PythonNature; --- 13,18 ---- import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.IPyCompletionProposal; ! import org.python.pydev.editor.codecompletion.PyCompletionProposal; import org.python.pydev.editor.model.AbstractNode; import org.python.pydev.plugin.PythonNature; *************** *** 61,69 **** finall += "pass"; ! l.add(new CompletionProposal(except, start, end-start, excRelNewPos, imageCache.get(UIConstants.ASSIST_TRY_EXCEPT), ! "Surround with try..except", null, null)); ! l.add(new CompletionProposal(finall, start, end-start, finRelNewPos, imageCache.get(UIConstants.ASSIST_TRY_FINNALLY), ! "Surround with try..finally", null, null)); return l; --- 62,70 ---- finall += "pass"; ! l.add(new PyCompletionProposal(except, start, end-start, excRelNewPos, imageCache.get(UIConstants.ASSIST_TRY_EXCEPT), ! "Surround with try..except", null, null, IPyCompletionProposal.PRIORITY_DEFAULT)); ! l.add(new PyCompletionProposal(finall, start, end-start, finRelNewPos, imageCache.get(UIConstants.ASSIST_TRY_FINNALLY), ! "Surround with try..finally", null, null, IPyCompletionProposal.PRIORITY_DEFAULT)); return l; Index: AssistDocString.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistDocString.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** AssistDocString.java 14 Apr 2005 13:12:13 -0000 1.5 --- AssistDocString.java 25 Apr 2005 16:50:19 -0000 1.6 *************** *** 14,18 **** import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.CompletionProposal; import org.python.pydev.editor.model.AbstractNode; import org.python.pydev.plugin.PythonNature; --- 14,19 ---- import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.IPyCompletionProposal; ! import org.python.pydev.editor.codecompletion.PyCompletionProposal; import org.python.pydev.editor.model.AbstractNode; import org.python.pydev.plugin.PythonNature; *************** *** 54,59 **** String comp = buf.toString(); ! l.add(new CompletionProposal(comp, ps.getStartLine().getOffset()+ps.getStartLine().getLength(), 0, newOffset , imageCache.get(UIConstants.ASSIST_DOCSTRING), ! "Make docstring", null, null)); return l; } --- 55,60 ---- String comp = buf.toString(); ! l.add(new PyCompletionProposal(comp, ps.getStartLine().getOffset()+ps.getStartLine().getLength(), 0, newOffset , imageCache.get(UIConstants.ASSIST_DOCSTRING), ! "Make docstring", null, null, IPyCompletionProposal.PRIORITY_DEFAULT)); return l; } Index: AssistCreations.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistCreations.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AssistCreations.java 13 Apr 2005 13:02:22 -0000 1.3 --- AssistCreations.java 25 Apr 2005 16:50:19 -0000 1.4 *************** *** 13,17 **** import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.CompletionProposal; import org.python.pydev.editor.correctionassist.FixCompletionProposal; import org.python.pydev.editor.model.AbstractNode; --- 13,18 ---- import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.IPyCompletionProposal; ! import org.python.pydev.editor.codecompletion.PyCompletionProposal; import org.python.pydev.editor.correctionassist.FixCompletionProposal; import org.python.pydev.editor.model.AbstractNode; *************** *** 112,117 **** method = method.replaceFirst("%s", self); ! l.add(new CompletionProposal(method, newPos, 0, method.length()-4, imageCache.get(UIConstants.ASSIST_NEW_METHOD), ! "Create new method (in class)", null, null)); } --- 113,118 ---- method = method.replaceFirst("%s", self); ! l.add(new PyCompletionProposal(method, newPos, 0, method.length()-4, imageCache.get(UIConstants.ASSIST_NEW_METHOD), ! "Create new method (in class)", null, null, IPyCompletionProposal.PRIORITY_DEFAULT)); } *************** *** 137,147 **** finalMethod = finalMethod.replaceFirst("%s", "" ); ! l.add(new CompletionProposal(finalMethod, newPos, 0, finalMethod.length(), imageCache.get(UIConstants.ASSIST_NEW_METHOD), ! "Create new method (in global context)", null, null)); cls = cls+delim; ! l.add(new CompletionProposal(cls, newPos, 0, cls.length(), imageCache.get(UIConstants.ASSIST_NEW_CLASS), ! "Create new class (in global context)", null, null)); --- 138,148 ---- finalMethod = finalMethod.replaceFirst("%s", "" ); ! l.add(new PyCompletionProposal(finalMethod, newPos, 0, finalMethod.length(), imageCache.get(UIConstants.ASSIST_NEW_METHOD), ! "Create new method (in global context)", null, null, IPyCompletionProposal.PRIORITY_DEFAULT)); cls = cls+delim; ! l.add(new PyCompletionProposal(cls, newPos, 0, cls.length(), imageCache.get(UIConstants.ASSIST_NEW_CLASS), ! "Create new class (in global context)", null, null, IPyCompletionProposal.PRIORITY_DEFAULT)); Index: AssistCreateClassInModule.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistCreateClassInModule.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AssistCreateClassInModule.java 14 Apr 2005 13:12:13 -0000 1.2 --- AssistCreateClassInModule.java 25 Apr 2005 16:50:19 -0000 1.3 *************** *** 9,17 **** import java.util.List; - import org.eclipse.jface.text.BadLocationException; import org.eclipse.swt.graphics.Image; import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.CompletionProposal; import org.python.pydev.editor.codecompletion.revisited.SourceModuleProposal; import org.python.pydev.editor.codecompletion.revisited.modules.SourceModule; --- 9,17 ---- import java.util.List; import org.eclipse.swt.graphics.Image; import org.python.pydev.editor.actions.PyAction; import org.python.pydev.editor.actions.PySelection; ! import org.python.pydev.editor.codecompletion.IPyCompletionProposal; ! import org.python.pydev.editor.codecompletion.PyCompletionProposal; import org.python.pydev.editor.codecompletion.revisited.SourceModuleProposal; import org.python.pydev.editor.codecompletion.revisited.modules.SourceModule; *************** *** 24,77 **** public class AssistCreateClassInModule extends AbstractAssistCreate { ! private String getDeclToCreate(PySelection ps, int offset){ try { int len = ps.getStartLine().getOffset() + ps.getStartLine().getLength() - offset; String cls = ps.getDoc().get(offset, len); List toks = PyAction.getInsideParentesisToks(cls); cls = cls.substring(0, cls.indexOf('(')).trim(); ! ! String delim = PyAction.getDelimiter(ps.getDoc()); ! String indent = PyAction.getStaticIndentationString(); ! ! String ret = delim+"class "+cls+"(object):"+delim; ! ret += indent+"'''"+delim; ! ret += indent+"'''"+delim; ! ret += indent+delim; ! ret += indent+"def __init__(self"; ! ! ! for (Iterator iter = toks.iterator(); iter.hasNext();) { ! ret += ", "; ! String element = (String) iter.next(); ! ret += element; ! } ! ret += "):"+delim; ! ! ret += indent+indent+"'''"+delim; ! for (Iterator iter = toks.iterator(); iter.hasNext();) { ! String element = (String) iter.next(); ! ret += indent+indent+"@param "+element+":"+delim; ! } ! ret += indent+indent+"'''"+delim; ! ret += indent+indent; ! ! ! return ret; ! ! } catch (BadLocationException e) { throw new RuntimeException(e); } } - - /** - * @see org.python.pydev.editor.correctionassist.heuristics.AbstractAssistCreate#getProposal(org.python.pydev.editor.actions.PySelection, org.python.pydev.ui.ImageCache, int, org.python.pydev.editor.codecompletion.revisited.modules.AbstractModule, org.python.pydev.editor.codecompletion.revisited.modules.SourceModule) - */ - protected CompletionProposal getProposal(PySelection ps, ImageCache imageCache, int offset, SourceModule s) { - Image img=null; - if(imageCache != null) - img = imageCache.get(UIConstants.ASSIST_NEW_CLASS); - String methodToCreate = getDeclToCreate(ps, offset); - CompletionProposal proposal = new SourceModuleProposal(methodToCreate, 0, 0, methodToCreate.length(), img, "Create class in module "+s.getName(), null, null, s); - return proposal; - } } --- 24,81 ---- public class AssistCreateClassInModule extends AbstractAssistCreate { ! private String getDeclToCreate(PySelection ps, int offset, String cls, List toks){ ! ! String delim = PyAction.getDelimiter(ps.getDoc()); ! String indent = PyAction.getStaticIndentationString(); ! ! String ret = delim+"class "+cls+"(object):"+delim; ! ret += indent+"'''"+delim; ! ret += indent+"'''"+delim; ! ret += indent+delim; ! ! if(toks.size() > 0){ ! ret += indent+"def __init__(self"; ! ! ! for (Iterator iter = toks.iterator(); iter.hasNext();) { ! ret += ", "; ! String element = (String) iter.next(); ! ret += element; ! } ! ret += "):"+delim; ! ! ret += indent+indent+"'''"+delim; ! for (Iterator iter = toks.iterator(); iter.hasNext();) { ! String element = (String) iter.next(); ! ret += indent+indent+"@param "+element+":"+delim; ! } ! ret += indent+indent+"'''"+delim; ! ret += indent+indent; ! } ! ! return ret; ! } ! ! /** ! * @see org.python.pydev.editor.correctionassist.heuristics.AbstractAssistCreate#getProposal(org.python.pydev.editor.actions.PySelection, org.python.pydev.ui.ImageCache, int, org.python.pydev.editor.codecompletion.revisited.modules.AbstractModule, org.python.pydev.editor.codecompletion.revisited.modules.SourceModule) ! */ ! protected PyCompletionProposal getProposal(PySelection ps, ImageCache imageCache, int offset, SourceModule s) { try { + Image img = null; + if (imageCache != null) + img = imageCache.get(UIConstants.ASSIST_NEW_CLASS); + int len = ps.getStartLine().getOffset() + ps.getStartLine().getLength() - offset; String cls = ps.getDoc().get(offset, len); List toks = PyAction.getInsideParentesisToks(cls); cls = cls.substring(0, cls.indexOf('(')).trim(); ! ! String methodToCreate = getDeclToCreate(ps, offset, cls, toks); ! PyCompletionProposal proposal = new SourceModuleProposal(methodToCreate, 0, 0, methodToCreate.length(), img, ! "Create class "+cls+" in module " + s.getName(), null, null, s, IPyCompletionProposal.PRIORITY_DEFAULT); ! return proposal; ! } catch (Exception e) { throw new RuntimeException(e); } } } |