Bonjour,

Alors voila, pour un projet étudiant où l'on doit réaliser un éditeur web en QT
(Et notre enseignement ce résume aux tutoriaux de trolltech )
je m'occupe actuellement de réaliser l'indentation automatique du code.

J'ai d'abord réaliser ce début de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "New.h"
using namespace std;
New::New (QWidget *parent)
       : QTextEdit(parent) {
       connect(this , SIGNAL(textChanged ()), this, SLOT(indent());
}
 
 void New::indent(){
 int indent = 0; //varriable d'indentation nb de tabulation
 QTextCursor pos = textCursor ()  //position actuelle du curseur
 for (int i=0; i<pos+1;i++) {
   QString str = //recherche d'une expretion reguliere de type <html> avec QRegEx "<.*>"
   if (str != NULL){
     QString temp = //QRegEx />
     if (temp == NULL){
       temp = //QRegEx </
       if (temp != NULL){indent--;}
       else {indent++;}
     }
   }
   ligne actuelle du curseur -> insertblock() * indent;
 }
}
j'ai vu qu'il existait scintilla mais je ne peut pas l'utiliser dans le projet.

j'ai donc une première question:
-Comment récupérer les lignes du QTextEdit jusqu'à la position actuelle du curseur et leur appliquer une regex une par une?

Merci de l'attention que vous porterez a mon problème.