Back to index

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

#include <modifyconstraintstudentssethomeroomsform.h>

Collaboration diagram for ModifyConstraintStudentsSetHomeRoomsForm:
Collaboration graph
[legend]

List of all members.

Public Slots

void addRoom ()
void removeRoom ()
void ok ()
void cancel ()
void clear ()

Public Member Functions

 ModifyConstraintStudentsSetHomeRoomsForm (QWidget *parent, ConstraintStudentsSetHomeRooms *ctr)
 ~ModifyConstraintStudentsSetHomeRoomsForm ()
void updateRoomsListWidget ()

Private Attributes

ConstraintStudentsSetHomeRooms_ctr

Detailed Description

Definition at line 26 of file modifyconstraintstudentssethomeroomsform.h.


Constructor & Destructor Documentation

Definition at line 27 of file modifyconstraintstudentssethomeroomsform.cpp.

                                                                                                                                      : QDialog(parent)
{
       setupUi(this);

       okPushButton->setDefault(true);
       
       roomsListWidget->setSelectionMode(QAbstractItemView::SingleSelection);
       selectedRoomsListWidget->setSelectionMode(QAbstractItemView::SingleSelection);

       connect(cancelPushButton, SIGNAL(clicked()), this, SLOT(cancel()));
       connect(okPushButton, SIGNAL(clicked()), this, SLOT(ok()));
       connect(roomsListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(addRoom()));
       connect(selectedRoomsListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(removeRoom()));
       connect(clearPushButton, SIGNAL(clicked()), this, SLOT(clear()));

       centerWidgetOnScreen(this);
       restoreFETDialogGeometry(this);

       QSize tmp2=studentsComboBox->minimumSizeHint();
       Q_UNUSED(tmp2);
       
       updateRoomsListWidget();
       
       this->_ctr=ctr;
       
       //students
       int i=0, j=-1;
       studentsComboBox->clear();
       for(int m=0; m<gt.rules.yearsList.size(); m++){
              StudentsYear* sty=gt.rules.yearsList[m];
              studentsComboBox->addItem(sty->name);
              if(sty->name==this->_ctr->studentsName)
                     j=i;
              i++;
              for(int n=0; n<sty->groupsList.size(); n++){
                     StudentsGroup* stg=sty->groupsList[n];
                     studentsComboBox->addItem(stg->name);
                     if(stg->name==this->_ctr->studentsName)
                            j=i;
                     i++;
                     for(int p=0; p<stg->subgroupsList.size(); p++){
                            StudentsSubgroup* sts=stg->subgroupsList[p];
                            studentsComboBox->addItem(sts->name);
                            if(sts->name==this->_ctr->studentsName)
                                   j=i;
                            i++;
                     }
              }
       }
       assert(j>=0);
       studentsComboBox->setCurrentIndex(j);
       
       weightLineEdit->setText(CustomFETString::number(ctr->weightPercentage));
       
       for(QStringList::Iterator it=ctr->roomsNames.begin(); it!=ctr->roomsNames.end(); it++)
              selectedRoomsListWidget->addItem(*it);
}

Here is the call graph for this function:

Definition at line 87 of file modifyconstraintstudentssethomeroomsform.cpp.

Here is the call graph for this function:


Member Function Documentation

Definition at line 149 of file modifyconstraintstudentssethomeroomsform.cpp.

{
       if(roomsListWidget->currentRow()<0)
              return;
       QString rmName=roomsListWidget->currentItem()->text();
       assert(rmName!="");
       int i;
       //duplicate?
       for(i=0; i<selectedRoomsListWidget->count(); i++)
              if(rmName==selectedRoomsListWidget->item(i)->text())
                     break;
       if(i<selectedRoomsListWidget->count())
              return;
       selectedRoomsListWidget->addItem(rmName);
       selectedRoomsListWidget->setCurrentRow(selectedRoomsListWidget->count()-1);
}

Here is the caller graph for this function:

Definition at line 144 of file modifyconstraintstudentssethomeroomsform.cpp.

{
       this->close();
}

Here is the caller graph for this function:

Definition at line 181 of file modifyconstraintstudentssethomeroomsform.cpp.

{
       selectedRoomsListWidget->clear();
}

Here is the caller graph for this function:

Definition at line 103 of file modifyconstraintstudentssethomeroomsform.cpp.

{
       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"));
              return;
       }

       if(selectedRoomsListWidget->count()==0){
              QMessageBox::warning(this, tr("FET information"),
                     tr("Empty list of selected rooms"));
              return;
       }
       if(selectedRoomsListWidget->count()==1){
              QMessageBox::warning(this, tr("FET information"),
                     tr("Only one selected room - please use constraint students set home room if you want a single room"));
              return;
       }

       QString students=studentsComboBox->currentText();
       assert(gt.rules.searchStudentsSet(students)!=NULL);

       QStringList roomsList;
       for(int i=0; i<selectedRoomsListWidget->count(); i++)
              roomsList.append(selectedRoomsListWidget->item(i)->text());
       
       this->_ctr->weightPercentage=weight;

       this->_ctr->studentsName=students;

       this->_ctr->roomsNames=roomsList;
       
       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 166 of file modifyconstraintstudentssethomeroomsform.cpp.

{
       if(selectedRoomsListWidget->currentRow()<0 || selectedRoomsListWidget->count()<=0)
              return;
       int tmp=selectedRoomsListWidget->currentRow();

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

Here is the caller graph for this function:

Definition at line 92 of file modifyconstraintstudentssethomeroomsform.cpp.

{
       roomsListWidget->clear();
       selectedRoomsListWidget->clear();

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

Here is the caller graph for this function:


Member Data Documentation

Definition at line 43 of file modifyconstraintstudentssethomeroomsform.h.


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