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")

Répondre à