Back to index

fet  5.18.0
Public Slots | Public Member Functions | Private Attributes
AddConstraintActivityPreferredRoomForm Class Reference

#include <addconstraintactivitypreferredroomform.h>

List of all members.

Public Slots

void addConstraint ()
void filterChanged ()

Public Member Functions

 AddConstraintActivityPreferredRoomForm (QWidget *parent)
 ~AddConstraintActivityPreferredRoomForm ()
void updateActivitiesComboBox ()
void updateRoomsComboBox ()
bool filterOk (Activity *a)

Private Attributes

QList< int > activitiesList

Detailed Description

Definition at line 26 of file addconstraintactivitypreferredroomform.h.


Constructor & Destructor Documentation

Definition at line 28 of file addconstraintactivitypreferredroomform.cpp.

                                                                                             : QDialog(parent)
{
       setupUi(this);

       addConstraintPushButton->setDefault(true);

       connect(closePushButton, SIGNAL(clicked()), this, SLOT(close()));
       connect(addConstraintPushButton, SIGNAL(clicked()), this, SLOT(addConstraint()));
       connect(teachersComboBox, SIGNAL(activated(QString)), this, SLOT(filterChanged()));
       connect(studentsComboBox, SIGNAL(activated(QString)), this, SLOT(filterChanged()));
       connect(subjectsComboBox, SIGNAL(activated(QString)), this, SLOT(filterChanged()));
       connect(activityTagsComboBox, SIGNAL(activated(QString)), this, SLOT(filterChanged()));

       centerWidgetOnScreen(this);
       restoreFETDialogGeometry(this);
       
       QSize tmp1=teachersComboBox->minimumSizeHint();
       Q_UNUSED(tmp1);
       QSize tmp2=studentsComboBox->minimumSizeHint();
       Q_UNUSED(tmp2);
       QSize tmp3=subjectsComboBox->minimumSizeHint();
       Q_UNUSED(tmp3);
       QSize tmp4=activityTagsComboBox->minimumSizeHint();
       Q_UNUSED(tmp4);
       
       QSize tmp5=roomsComboBox->minimumSizeHint();
       Q_UNUSED(tmp5);
       QSize tmp6=activitiesComboBox->minimumSizeHint();
       Q_UNUSED(tmp6);
       
       activitiesComboBox->setMaximumWidth(maxRecommendedWidth(this));
       
       //permTextLabel->setWordWrap(true);
       
       teachersComboBox->addItem("");
       for(int i=0; i<gt.rules.teachersList.size(); i++){
              Teacher* tch=gt.rules.teachersList[i];
              teachersComboBox->addItem(tch->name);
       }
       teachersComboBox->setCurrentIndex(0);

       subjectsComboBox->addItem("");
       for(int i=0; i<gt.rules.subjectsList.size(); i++){
              Subject* sb=gt.rules.subjectsList[i];
              subjectsComboBox->addItem(sb->name);
       }
       subjectsComboBox->setCurrentIndex(0);

       activityTagsComboBox->addItem("");
       for(int i=0; i<gt.rules.activityTagsList.size(); i++){
              ActivityTag* st=gt.rules.activityTagsList[i];
              activityTagsComboBox->addItem(st->name);
       }
       activityTagsComboBox->setCurrentIndex(0);

       studentsComboBox->addItem("");
       for(int i=0; i<gt.rules.yearsList.size(); i++){
              StudentsYear* sty=gt.rules.yearsList[i];
              studentsComboBox->addItem(sty->name);
              for(int j=0; j<sty->groupsList.size(); j++){
                     StudentsGroup* stg=sty->groupsList[j];
                     studentsComboBox->addItem(stg->name);
                     for(int k=0; k<stg->subgroupsList.size(); k++){
                            StudentsSubgroup* sts=stg->subgroupsList[k];
                            studentsComboBox->addItem(sts->name);
                     }
              }
       }
       studentsComboBox->setCurrentIndex(0);
       
       updateActivitiesComboBox();
       updateRoomsComboBox();
}

Here is the call graph for this function:

Definition at line 102 of file addconstraintactivitypreferredroomform.cpp.

Here is the call graph for this function:


Member Function Documentation

Definition at line 179 of file addconstraintactivitypreferredroomform.cpp.

{
       SpaceConstraint *ctr=NULL;

       double weight;
       QString tmp=weightLineEdit->text();
       weight_sscanf(tmp, "%lf", &weight);
       if(weight<0.0 || weight>100){
              QMessageBox::warning(this, tr("FET information"),
                     tr("Invalid weight (percentage)"));
              return;
       }

       int id;
       int tmp2=activitiesComboBox->currentIndex();
       //assert(tmp2<gt.rules.activitiesList.size());
       //assert(tmp2<activitiesList.size());
       if(tmp2<0 || tmp2>=gt.rules.activitiesList.size() || tmp2>=activitiesList.size()){
              QMessageBox::warning(this, tr("FET information"),
                     tr("Invalid activity"));
              return;
       }
       else
              id=activitiesList.at(tmp2);
              
       /*int i=activitiesComboBox->currentIndex();
       if(i<0 || activitiesComboBox->count()<=0){
              QMessageBox::warning(this, tr("FET information"),
                     tr("Invalid activity"));
              return;
       }
       Activity* act=gt.rules.activitiesList.at(i);*/

       int i=roomsComboBox->currentIndex();
       if(i<0 || roomsComboBox->count()<=0){
              QMessageBox::warning(this, tr("FET information"),
                     tr("Invalid room"));
              return;
       }
       QString room=roomsComboBox->currentText();

       ctr=new ConstraintActivityPreferredRoom(weight, id, room, permLockedCheckBox->isChecked());

       bool tmp3=gt.rules.addSpaceConstraint(ctr);
       if(tmp3){
              QString s=tr("Constraint added:");
              s+="\n\n";
              s+=ctr->getDetailedDescription(gt.rules);
              LongTextMessageBox::information(this, tr("FET information"), s);
              
              /*if(permLockedCheckBox->isChecked()) wrong, must take care of weight==100.0
                     idsOfPermanentlyLockedSpace.insert(id);
              else
                     idsOfLockedSpace.insert(id);*/
              LockUnlock::computeLockedUnlockedActivitiesOnlySpace(); //safer
              LockUnlock::increaseCommunicationSpinBox();
       }
       else{
              QMessageBox::warning(this, tr("FET information"),
                     tr("Constraint NOT added - must be a duplicate"));
              delete ctr;
       }
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 165 of file addconstraintactivitypreferredroomform.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 107 of file addconstraintactivitypreferredroomform.cpp.

{
       QString tn=teachersComboBox->currentText();
       QString stn=studentsComboBox->currentText();
       QString sbn=subjectsComboBox->currentText();
       QString sbtn=activityTagsComboBox->currentText();
       int ok=true;

       //teacher
       if(tn!=""){
              bool ok2=false;
              for(QStringList::Iterator it=act->teachersNames.begin(); it!=act->teachersNames.end(); it++)
                     if(*it == tn){
                            ok2=true;
                            break;
                     }
              if(!ok2)
                     ok=false;
       }

       //subject
       if(sbn!="" && sbn!=act->subjectName)
              ok=false;
              
       //activity tag
//     if(sbtn!="" && sbtn!=act->activityTagName)
       if(sbtn!="" && !act->activityTagsNames.contains(sbtn))
              ok=false;
              
       //students
       if(stn!=""){
              bool ok2=false;
              for(QStringList::Iterator it=act->studentsNames.begin(); it!=act->studentsNames.end(); it++)
                     if(*it == stn){
                            ok2=true;
                            break;
                     }
              if(!ok2)
                     ok=false;
       }
       
       return ok;
}

Here is the caller graph for this function:

Definition at line 151 of file addconstraintactivitypreferredroomform.cpp.

                                                                     {
       activitiesComboBox->clear();
       activitiesList.clear();
       
       for(int i=0; i<gt.rules.activitiesList.size(); i++){
              Activity* act=gt.rules.activitiesList[i];
              
              if(filterOk(act)){
                     activitiesComboBox->addItem(act->getDescription(gt.rules));
                     this->activitiesList.append(act->id);
              }
       }
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 170 of file addconstraintactivitypreferredroomform.cpp.

{
       roomsComboBox->clear();
       for(int i=0; i<gt.rules.roomsList.size(); i++){
              Room* rm=gt.rules.roomsList[i];
              roomsComboBox->addItem(rm->name);
       }
}

Here is the caller graph for this function:


Member Data Documentation

Definition at line 44 of file addconstraintactivitypreferredroomform.h.


The documentation for this class was generated from the following files: