QGraphicsRectItem* JourGraphicScene::ajouterEvenement(const QString &titre, const QTime &deb, const Duree &dur, Evenement*e, const QColor& coul_fond, const QColor& coul_contour) { // affichage du rectangle int mins_ecoulees = -deb.secsTo(QTime(6,0)) / 60; QTime fin = deb; fin = fin.addSecs(dur.getDureeEnMinutes() * 60); qreal y = ( hauteur / nb_minutes ) * mins_ecoulees; qreal h = ( hauteur / nb_minutes ) * dur.getDureeEnHeures()*60; EvenementGraphicItem *tache = new EvenementGraphicItem(-2,y-1,largeur+3,h+1,e); tache->setPen(QPen(coul_contour)); tache->setBrush(QBrush(coul_fond)); QGraphicsScene::addItem(tache); tache->setFlag(QGraphicsItem::ItemIsSelectable); tache->setZValue(1); // affichage du texte dans le rectangle int Xtxt = 0,Ytxt = y; QString s; if(dur.getDureeEnMinutes()<30) return 0; else if(dur.getDureeEnMinutes()<75) { Xtxt = -3; Ytxt = y - 3; s = deb.toString("hh:mm") + " - " + fin.toString("hh:mm"); }else if(dur.getDureeEnMinutes() >= 75) s = deb.toString("hh:mm") + " - " + fin.toString("hh:mm") + "\n" + titre; else s = deb.toString("hh:mm") + " - " + fin.toString("hh:mm"); QGraphicsTextItem *txt = QGraphicsScene::addText(s,QFont("Helvetica",8)); txt->setDefaultTextColor(QColor("black")); txt->setTextWidth(95); txt->setX(Xtxt); txt->setY(Ytxt); txt->setZValue(2); return tache; }