예제 #1
0
void ZebulonWindow::genererQTimeSlot(TimeSlot* t){
    QString nameCP, color;
    ClassPeriod *cp = t->GetClassPeriod();
    if(dynamic_cast<TutorialClass*>(cp) != NULL) {
            nameCP = "Tutorial "+QString::number(cp->GetId());
            color = "navy";
            if(!widget.checkBoxTutorial->isChecked()) return;
    }
    else if(dynamic_cast<PracticalClass*>(cp) != NULL) {
            nameCP = "Practical "+QString::number(cp->GetId());
            color = "green";
            if(!widget.checkBoxPractical->isChecked()) return;
    }
    else if(dynamic_cast<MagistralClass*>(cp) != NULL) {
            nameCP = "Magistral "+QString::number(cp->GetId());
            color = "maroon";
            if(!widget.checkBoxMagistral->isChecked()) return;
    }
    
    Date *dit = t->GetStartDate();
    QDate qdts = QDate(dit->GetYear(), dit->GetMonth(), dit->GetDay());

    QString stringGroups = "";
    list<Group*>* l = t->GetClassPeriod()->GetGroupList();
    list<Group*>::iterator it = l->begin();
    list<Group*>::const_iterator MaxList = l->end();
    for(;it != MaxList; it++){
        stringGroups.append(QString::fromStdString((*it)->GetId()));
        stringGroups.append(";");
    }
    
    
    QTimeSlot* time = new QTimeSlot(t->GetId(), qdts, dit->GetHour(), dit->GetMin(), cp->GetDuration(),
            nameCP, QString::fromStdString(t->GetClassroom()->GetId()), QString::fromStdString((cp->GetMomo()->GetId()+" : "+cp->GetMomo()->GetName())), QString::fromStdString(cp->GetTeacher()), stringGroups, NULL);
    time->setBackgroundColor(color);
    this->widget.edt->addTimeSlot(time);
    emit signal_addTimeSlot(time);
}