예제 #1
0
int TableWidgetItem::background ( lua_State * L ) //const QBrush 
{
	QTableWidgetItem* lhs = ValueInstaller2<QTableWidgetItem>::check( L, 1 );
	QBrush* res = ValueInstaller2<QBrush>::check( L );
	*res = lhs->background();
	return 1;
}
void EmploiDuTemps::afficheInfos(int row, int column){
    if(ui->tableWidget->item(row, column)){ //si la case contient une programmation
        try {
            ui->stackedWidget->setHidden(false);
            QTableWidgetItem* item = ui->tableWidget->item(row, column);
            if(item->background()== QBrush(QColor(191,117,255))){
                //l'item est un evt
                ui->stackedWidget->setCurrentIndex(0);
                const Programmation* evt = ProgrammationManager::getInstance().trouverEvenement(item->whatsThis());
                ui->labelDescr->setText(evt->getEvenement()->getDescription());
                ui->labelLieu->setText(evt->getEvenement()->getLieu());
                ui->labelNom->setText(evt->getEvenement()->getNom());
                ui->labelDate->setText(evt->getDate().toString(Qt::SystemLocaleShortDate));
                ui->labelDuree->setText(evt->getDuree().stringDuree());
                ui->labelType->setText(evt->getEvenement()->getType());
                ui->labelHor->setText(evt->getTime().toString("HH:mm"));

            }
            else if (item->background()==QBrush(QColor(85,255,127))){
                //l'item est une tache
                ui->stackedWidget->setCurrentIndex(1);
                Tache* t = ProjetManager::getInstance().trouverTache(item->whatsThis());
                ui->labelId->setText(t->getId());
                ui->labelTitre_2->setText(t->getTitre());
                ui->labelProjet->setText(t->getProjet()->getNom());
                ui->labelDate_2->setText(ui->tableWidget->horizontalHeaderItem(column)->text());
                ui->labelHor_2->setText(item->text().section(" ",0,0));
                ui->labelDuree_2->setText("\n\n"+item->text().section("durée : ",1,1));

            }
        }catch(CalendarException e){
            QMessageBox::warning(this, "Erreur", e.getInfo());
        }
    }
    else //si la case est vide
        ui->stackedWidget->setHidden(true);
}