indentation automatique dans un QTextEdit
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 :yaisse2:)
je m'occupe actuellement de réaliser l'indentation automatique du code.
J'ai d'abord réaliser ce début de code :
Code:
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.