Back to index

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

#include <modifyconstraintmaxdaysbetweenactivitiesform.h>

Collaboration diagram for ModifyConstraintMaxDaysBetweenActivitiesForm:
Collaboration graph
[legend]

List of all members.

Public Slots

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

Public Member Functions

 ModifyConstraintMaxDaysBetweenActivitiesForm (QWidget *parent, ConstraintMaxDaysBetweenActivities *ctr)
 ~ModifyConstraintMaxDaysBetweenActivitiesForm ()
bool filterOk (Activity *ac)

Private Attributes

ConstraintMaxDaysBetweenActivities_ctr
QList< int > activitiesList
QList< int > selectedActivitiesList

Detailed Description

Definition at line 28 of file modifyconstraintmaxdaysbetweenactivitiesform.h.


Constructor & Destructor Documentation

Definition at line 29 of file modifyconstraintmaxdaysbetweenactivitiesform.cpp.

                                                                                                                                                  : QDialog(parent)
{
       setupUi(this);

       okPushButton->setDefault(true);
       
       activitiesListWidget->setSelectionMode(QAbstractItemView::SingleSelection);
       selectedActivitiesListWidget->setSelectionMode(QAbstractItemView::SingleSelection);

       connect(cancelPushButton, SIGNAL(clicked()), this, SLOT(cancel()));
       connect(okPushButton, SIGNAL(clicked()), this, SLOT(ok()));
       connect(activitiesListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(addActivity()));
       connect(addAllActivitiesPushButton, SIGNAL(clicked()), this, SLOT(addAllActivities()));
       connect(selectedActivitiesListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(removeActivity()));
       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()));

    connect(clearPushButton, SIGNAL(clicked()), this, SLOT(clear()));

       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);
       
       this->_ctr=ctr;

       selectedActivitiesList.clear();
       selectedActivitiesListWidget->clear();
       for(int i=0; i<ctr->n_activities; i++){
              int actId=ctr->activitiesId[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);
              selectedActivitiesListWidget->addItem(act->getDescription(gt.rules));
       }
       
       maxDaysSpinBox->setMinimum(0);
       maxDaysSpinBox->setMaximum(gt.rules.nDaysPerWeek-1);
       maxDaysSpinBox->setValue(ctr->maxDays);

       weightLineEdit->setText(CustomFETString::number(ctr->weightPercentage));

       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 125 of file modifyconstraintmaxdaysbetweenactivitiesform.cpp.

Here is the call graph for this function:


Member Function Documentation

Definition at line 234 of file modifyconstraintmaxdaysbetweenactivitiesform.cpp.

{
       if(activitiesListWidget->currentRow()<0)
              return;
       int tmp=activitiesListWidget->currentRow();
       int _id=this->activitiesList.at(tmp);
       
       QString actName=activitiesListWidget->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 256 of file modifyconstraintmaxdaysbetweenactivitiesform.cpp.

{
       for(int tmp=0; tmp<activitiesListWidget->count(); tmp++){
              int _id=this->activitiesList.at(tmp);
       
              QString actName=activitiesListWidget->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;
                     
              selectedActivitiesListWidget->addItem(actName);
              this->selectedActivitiesList.append(_id);
       }
       
       selectedActivitiesListWidget->setCurrentRow(selectedActivitiesListWidget->count()-1);
}

Here is the caller graph for this function:

Definition at line 229 of file modifyconstraintmaxdaysbetweenactivitiesform.cpp.

{
       this->close();
}

Here is the caller graph for this function:

Definition at line 295 of file modifyconstraintmaxdaysbetweenactivitiesform.cpp.

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

Here is the caller graph for this function:

Definition at line 130 of file modifyconstraintmaxdaysbetweenactivitiesform.cpp.

{
       activitiesListWidget->clear();

       this->activitiesList.clear();

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

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 148 of file modifyconstraintmaxdaysbetweenactivitiesform.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 191 of file modifyconstraintmaxdaysbetweenactivitiesform.cpp.

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

       if(this->selectedActivitiesList.size()==0){
              QMessageBox::warning(this, tr("FET information"),
                     tr("Empty list of selected activities"));
              return;
       }
       if(this->selectedActivitiesList.size()==1){
              QMessageBox::warning(this, tr("FET information"),
                     tr("Only one selected activity"));
              return;
       }

       int i;
       QList<int>::iterator it;
       this->_ctr->activitiesId.clear();
       for(i=0, it=this->selectedActivitiesList.begin(); it!=this->selectedActivitiesList.end(); it++, i++)
              this->_ctr->activitiesId.append(*it);
       this->_ctr->n_activities=i;
              
       this->_ctr->weightPercentage=weight;
       this->_ctr->maxDays=maxDaysSpinBox->value();
       
       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 278 of file modifyconstraintmaxdaysbetweenactivitiesform.cpp.

{
       if(selectedActivitiesListWidget->currentRow()<0 || selectedActivitiesListWidget->count()<=0)
              return;
       int tmp=selectedActivitiesListWidget->currentRow();
       
       this->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:


Member Data Documentation


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