Back to index

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

#include <modifyconstraintactivitiesoccupymaxdifferentroomsform.h>

Collaboration diagram for ModifyConstraintActivitiesOccupyMaxDifferentRoomsForm:
Collaboration graph
[legend]

List of all members.

Public Slots

void addActivity ()
void addAllActivities ()
void removeActivity ()
void filterChanged ()
void clear ()
void ok ()
void cancel ()

Public Member Functions

 ModifyConstraintActivitiesOccupyMaxDifferentRoomsForm (QWidget *parent, ConstraintActivitiesOccupyMaxDifferentRooms *ctr)
 ~ModifyConstraintActivitiesOccupyMaxDifferentRoomsForm ()
void updateActivitiesListWidget ()
bool filterOk (Activity *act)

Private Attributes

ConstraintActivitiesOccupyMaxDifferentRooms_ctr
QList< int > activitiesList
QList< int > selectedActivitiesList

Detailed Description

Definition at line 28 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.h.


Constructor & Destructor Documentation

Definition at line 29 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.cpp.

                                                                                                                                                                             : QDialog(parent)
{
       setupUi(this);

       okPushButton->setDefault(true);
       
       allActivitiesListWidget->setSelectionMode(QAbstractItemView::SingleSelection);
       selectedActivitiesListWidget->setSelectionMode(QAbstractItemView::SingleSelection);
       
       connect(okPushButton, SIGNAL(clicked()), this, SLOT(ok()));
       connect(cancelPushButton, SIGNAL(clicked()), this, SLOT(cancel()));
       connect(allActivitiesListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(addActivity()));
       connect(addAllActivitiesPushButton, SIGNAL(clicked()), this, SLOT(addAllActivities()));
       connect(selectedActivitiesListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(removeActivity()));
       connect(clearPushButton, SIGNAL(clicked()), this, SLOT(clear()));
       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);
       
       this->_ctr=ctr;
       
       weightLineEdit->setText(CustomFETString::number(ctr->weightPercentage));
       
       maxDifferentRoomsSpinBox->setMinimum(1);
       maxDifferentRoomsSpinBox->setMaximum(MAX_ROOMS);
       maxDifferentRoomsSpinBox->setValue(ctr->maxDifferentRooms);

       //activities
       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);
       
       selectedActivitiesList.clear();
       selectedActivitiesListWidget->clear();
       for(int i=0; i<ctr->activitiesIds.count(); i++){
              int actId=ctr->activitiesIds.at(i);
              this->selectedActivitiesList.append(actId);
              Activity* act=NULL;
              for(int k=0; k<gt.rules.activitiesList.size(); k++){
                     act=gt.rules.activitiesList[k];
                     if(act->id==actId)
                            break;
              }
              assert(act);
              this->selectedActivitiesListWidget->addItem(act->getDescription(gt.rules));
       }

       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);

       filterChanged();
}

Here is the call graph for this function:

Definition at line 124 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.cpp.

Here is the call graph for this function:


Member Function Documentation

Definition at line 236 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.cpp.

{
       if(allActivitiesListWidget->currentRow()<0)
              return;
       int tmp=allActivitiesListWidget->currentRow();
       int _id=this->activitiesList.at(tmp);
       
       QString actName=allActivitiesListWidget->currentItem()->text();
       assert(actName!="");
       int i;
       //duplicate?
       for(i=0; i<selectedActivitiesListWidget->count(); i++)
              if(actName==selectedActivitiesListWidget->item(i)->text())
                     break;
       if(i<selectedActivitiesListWidget->count())
              return;
       selectedActivitiesListWidget->addItem(actName);
       selectedActivitiesListWidget->setCurrentRow(selectedActivitiesListWidget->count()-1);
       
       this->selectedActivitiesList.append(_id);
}

Here is the caller graph for this function:

Definition at line 258 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.cpp.

{
       for(int tmp=0; tmp<allActivitiesListWidget->count(); tmp++){
              //int tmp=allActivitiesListWidget->currentRow();
              int _id=this->activitiesList.at(tmp);
       
              QString actName=allActivitiesListWidget->item(tmp)->text();
              assert(actName!="");
              int i;
              //duplicate?
              for(i=0; i<selectedActivitiesList.count(); i++)
                     if(selectedActivitiesList.at(i)==_id)
                            break;
              if(i<selectedActivitiesList.count())
                     continue;
              
              /*for(i=0; i<selectedActivitiesListWidget->count(); i++)
                     if(actName==selectedActivitiesListWidget->item(i)->text())
                            break;
              if(i<selectedActivitiesListWidget->count())
                     continue;*/
                     
              selectedActivitiesListWidget->addItem(actName);
              this->selectedActivitiesList.append(_id);
       }

       selectedActivitiesListWidget->setCurrentRow(selectedActivitiesListWidget->count()-1);
}

Here is the caller graph for this function:

Definition at line 165 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.cpp.

{
       this->close();
}

Here is the caller graph for this function:

Definition at line 304 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.cpp.

{
       selectedActivitiesListWidget->clear();
       selectedActivitiesList.clear();
}

Here is the caller graph for this function:

Definition at line 214 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 171 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.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!="" && !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 call graph for this function:

Here is the caller graph for this function:

Definition at line 129 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.cpp.

{
       double weight;
       QString tmp=weightLineEdit->text();
       weight_sscanf(tmp, "%lf", &weight);
       if(weight<100.0 || weight>100.0){
              QMessageBox::warning(this, tr("FET information"),
                     tr("Invalid weight (percentage). It has to be 100"));
              return;
       }
       
       this->_ctr->weightPercentage=weight;

       int maxDifferentRooms=maxDifferentRoomsSpinBox->value();
       
       this->_ctr->maxDifferentRooms=maxDifferentRooms;

       if(this->selectedActivitiesList.count()==0){
              QMessageBox::warning(this, tr("FET information"),
               tr("Empty list of activities"));
              return;
       }
       if(this->selectedActivitiesList.count()==1){
              QMessageBox::warning(this, tr("FET information"),
               tr("Only one selected activity"));
              return;
       }
       
       this->_ctr->activitiesIds=selectedActivitiesList;
       
       gt.rules.internalStructureComputed=false;
       setRulesModifiedAndOtherThings(&gt.rules);
       
       this->close();
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 287 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.cpp.

{
       if(selectedActivitiesListWidget->currentRow()<0 || selectedActivitiesListWidget->count()<=0)
              return;
       int tmp=selectedActivitiesListWidget->currentRow();
       
       selectedActivitiesList.removeAt(tmp);

       selectedActivitiesListWidget->setCurrentRow(-1);
       QListWidgetItem* item=selectedActivitiesListWidget->takeItem(tmp);
       delete item;
       if(tmp<selectedActivitiesListWidget->count())
              selectedActivitiesListWidget->setCurrentRow(tmp);
       else
              selectedActivitiesListWidget->setCurrentRow(selectedActivitiesListWidget->count()-1);
}

Here is the caller graph for this function:

Definition at line 219 of file modifyconstraintactivitiesoccupymaxdifferentroomsform.cpp.

{
       allActivitiesListWidget->clear();
       this->activitiesList.clear();
       
       for(int i=0; i<gt.rules.activitiesList.size(); i++){
              Activity* ac=gt.rules.activitiesList[i];
              if(filterOk(ac)){
                     allActivitiesListWidget->addItem(ac->getDescription(gt.rules));
                     this->activitiesList.append(ac->id);
              }
       }
       
       int q=allActivitiesListWidget->verticalScrollBar()->minimum();
       allActivitiesListWidget->verticalScrollBar()->setValue(q);
}

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation


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