Salut Abdel,
Je te propose le déplacement de classe en classe à intégrer au forPython, que
j'ai dérivé du déplacement d'élément en élément.
Tout est dans le fichier en pièce jointe. A savoir:
* les deux fonctions nextClass et previousClass;
* des indications sur les instruction d'intégration au menu navigation, avec
comme raccourcis clavier CTRL+F2 et CTRL+SHIFT+F2 pour rester cohérent avec
ceux de nextElement et previousElement.
Tu n'auras qu'à simplement copier et coller
Utilité: permettent de se déplacer plus vite dans les fichiers à multiples
classes, comme on en trouve beaucoup en python.
Je croise les doigts !
Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.
www.visuweb.net
# -*- coding: utf-8 -*-
def nextClass():
regClass = re.compile("^[ \\t]*((?:class).*?:.*$)", re.MULTILINE)
if regClass.match(sp.window.curPage.line(sp.window.curPage.curLine))
and sp.window.curPage.curLine < sp.window.curPage.lineCount:
i = sp.window.curPage.curLine + 1
else:
i = sp.window.curPage.curLine
while i < sp.window.curPage.lineCount and not
regClass.match(sp.window.curPage.line(i)):
i += 1
if i == sp.window.curPage.lineCount:
sp.window.messageBeep(0)
break
sp.window.curPage.curLine = i
sp.say(getLineHeading(sp.window.curPage.curLine), True)
# end def
def previousClass():
regClass = re.compile("^[ \\t]*((?:class).*?:.*$)", re.MULTILINE)
if regClass.match(sp.window.curPage.line(sp.window.curPage.curLine))
and sp.window.curPage.curLine > 0:
i = sp.window.curPage.curLine - 1
else:
i = sp.window.curPage.curLine
while i > -1 and not regClass.match(sp.window.curPage.line(i)):
i -= 1
if i == -1:
sp.window.messageBeep(0)
break
sp.window.curPage.curLine = i
sp.say(getLineHeading(sp.window.curPage.curLine), True)
# end def
# intégration au menu navigation
navigation.add(label="Se déplacer vers la classe suivante", action=nextClass,
accelerator="CTRL+F2")
navigation.add(label="Se déplacer vers la classe précédente",
action=previousClass, accelerator="CTRL+SHIFT+F2")