1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
void Fenetre::action(QStandardItem *objet) {
if(objet->column() == 0) {
QString nom = objet->text();
majPremierCaractere(nom);
if(nom != objet->text()) {
disconnect(modele, SIGNAL(itemChanged(QStandardItem*)),this , SLOT(action(QStandardItem*)));
objet->setText(nom); }
groupe.changeNom(objet->row(),nom);
if(objet->column() > 2) {
QString texte = objet->text();
double score;
bool ok;
score = texte.toDouble(&ok);
if(ok) {
if(score >= 0 && score <= 1000) {
groupe.changeScore(objet->row(),objet->column() -2, objet->text());
groupe.trierParScore();
groupe.trier();
for(int i = 0; i < groupe.getSize(); i++) {
/*modele->setItem(i,2, new QStandardItem(QString::number(groupe.getMoyenne(objet->row())))); }
}
else {*/ // Code original . Je désirerais mettre Total à la place
if(texte.isEmpty()) {
groupe.changeScore(objet->row(), objet->column() -3,""); }
else if(texte == "Abs") {
groupe.changeScore(objet->row(), objet->column() -3,texte); }
else if(texte.toLower("abs")) {
disconnect(modele, SIGNAL(itemChanged(QStandardItem*)),this , SLOT(action(QStandardItem*)));
objet->setTexte("Abs");
groupe.changeScore(objet->row(),objet->column() -3, texte);
connect(modele, SIGNAL(itemChanged(QStandardItem*)),this , SLOT(action(QStandardItem*))); }
else {
disconnect(modele, SIGNAL(itemChanged(QStandardItem*)),this , SLOT(action(QStandardItem*)));
objet->setText(QString(""));
QMessageBox::critical(this, QString("Avertissement"), QString("Numero compris entre 1 et 1000"));
connect(modele, SIGNAL(itemChanged(QStandardItem*)),this , SLOT(action(QStandardItem*))); }
}
}
}
}
} } |
Partager