Back to index

fet  5.18.0
Public Slots | Public Member Functions
AddConstraintBreakTimesForm Class Reference

#include <addconstraintbreaktimesform.h>

List of all members.

Public Slots

void addCurrentConstraint ()
void itemClicked (QTableWidgetItem *item)
void horizontalHeaderClicked (int col)
void verticalHeaderClicked (int row)
void setAllAllowed ()
void setAllBreak ()

Public Member Functions

 AddConstraintBreakTimesForm (QWidget *parent)
 ~AddConstraintBreakTimesForm ()
void colorItem (QTableWidgetItem *item)

Detailed Description

Definition at line 26 of file addconstraintbreaktimesform.h.


Constructor & Destructor Documentation

Definition at line 37 of file addconstraintbreaktimesform.cpp.

                                                                       : QDialog(parent)
{
       setupUi(this);

       addConstraintPushButton->setDefault(true);

       connect(addConstraintPushButton, SIGNAL(clicked()), this, SLOT(addCurrentConstraint()));
       connect(closePushButton, SIGNAL(clicked()), this, SLOT(close()));
       connect(notAllowedTimesTable, SIGNAL(itemClicked(QTableWidgetItem*)), this, SLOT(itemClicked(QTableWidgetItem*)));
       connect(setAllAllowedPushButton, SIGNAL(clicked()), this, SLOT(setAllAllowed()));
       connect(setAllBreakPushButton, SIGNAL(clicked()), this, SLOT(setAllBreak()));

       centerWidgetOnScreen(this);
       restoreFETDialogGeometry(this);
                                                 
       notAllowedTimesTable->setRowCount(gt.rules.nHoursPerDay);
       notAllowedTimesTable->setColumnCount(gt.rules.nDaysPerWeek);

       for(int j=0; j<gt.rules.nDaysPerWeek; j++){
              QTableWidgetItem* item=new QTableWidgetItem(gt.rules.daysOfTheWeek[j]);
              notAllowedTimesTable->setHorizontalHeaderItem(j, item);
       }
       for(int i=0; i<gt.rules.nHoursPerDay; i++){
              QTableWidgetItem* item=new QTableWidgetItem(gt.rules.hoursOfTheDay[i]);
              notAllowedTimesTable->setVerticalHeaderItem(i, item);
       }

       for(int i=0; i<gt.rules.nHoursPerDay; i++)
              for(int j=0; j<gt.rules.nDaysPerWeek; j++){
                     QTableWidgetItem* item=new QTableWidgetItem(NO);
                     item->setTextAlignment(Qt::AlignCenter);
                     item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
                     colorItem(item);
                     notAllowedTimesTable->setItem(i, j, item);
              }
              
       notAllowedTimesTable->resizeRowsToContents();
       //notAllowedTimesTable->resizeColumnsToContents();

       connect(notAllowedTimesTable->horizontalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(horizontalHeaderClicked(int)));
       connect(notAllowedTimesTable->verticalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(verticalHeaderClicked(int)));

       notAllowedTimesTable->setSelectionMode(QAbstractItemView::NoSelection);
       
       tableWidgetUpdateBug(notAllowedTimesTable);
       
       setStretchAvailabilityTableNicely(notAllowedTimesTable);
}

Here is the call graph for this function:

Definition at line 86 of file addconstraintbreaktimesform.cpp.

Here is the call graph for this function:


Member Function Documentation

Definition at line 174 of file addconstraintbreaktimesform.cpp.

{
       TimeConstraint *ctr=NULL;

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

       QList<int> days;
       QList<int> hours;
       for(int j=0; j<gt.rules.nDaysPerWeek; j++)
              for(int i=0; i<gt.rules.nHoursPerDay; i++)
                     if(notAllowedTimesTable->item(i, j)->text()==YES){
                            days.append(j);
                            hours.append(i);
                     }

       ctr=new ConstraintBreakTimes(weight, days, hours);

       bool tmp2=gt.rules.addTimeConstraint(ctr);
       if(tmp2)
              LongTextMessageBox::information(this, tr("FET information"),
                     tr("Constraint added:")+"\n\n"+ctr->getDetailedDescription(gt.rules));
       else{
              QMessageBox::warning(this, tr("FET information"),
                     tr("Constraint NOT added - there must be another constraint of this "
                       "type. Please edit that one"));
              delete ctr;
       }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void AddConstraintBreakTimesForm::colorItem ( QTableWidgetItem *  item)

Definition at line 91 of file addconstraintbreaktimesform.cpp.

{
       if(USE_GUI_COLORS){
              if(item->text()==NO)
                     item->setBackground(QBrush(Qt::darkGreen));
              else
                     item->setBackground(QBrush(Qt::darkRed));
              item->setForeground(QBrush(Qt::lightGray));
       }
}

Here is the caller graph for this function:

Definition at line 102 of file addconstraintbreaktimesform.cpp.

{
       if(col>=0 && col<gt.rules.nDaysPerWeek){
              QString s=notAllowedTimesTable->item(0, col)->text();
              if(s==YES)
                     s=NO;
              else{
                     assert(s==NO);
                     s=YES;
              }

              for(int row=0; row<gt.rules.nHoursPerDay; row++){
                     notAllowedTimesTable->item(row, col)->setText(s);
                     colorItem(notAllowedTimesTable->item(row,col));
              }
              tableWidgetUpdateBug(notAllowedTimesTable);
       }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void AddConstraintBreakTimesForm::itemClicked ( QTableWidgetItem *  item) [slot]

Definition at line 160 of file addconstraintbreaktimesform.cpp.

{
       QString s=item->text();
       if(s==YES)
              s=NO;
       else{
              assert(s==NO);
              s=YES;
       }
       item->setText(s);
       colorItem(item);
       tableWidgetUpdateBug(notAllowedTimesTable);
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 140 of file addconstraintbreaktimesform.cpp.

{
       for(int i=0; i<gt.rules.nHoursPerDay; i++)
              for(int j=0; j<gt.rules.nDaysPerWeek; j++){
                     notAllowedTimesTable->item(i, j)->setText(NO);
                     colorItem(notAllowedTimesTable->item(i,j));
              }
       tableWidgetUpdateBug(notAllowedTimesTable);
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 150 of file addconstraintbreaktimesform.cpp.

{
       for(int i=0; i<gt.rules.nHoursPerDay; i++)
              for(int j=0; j<gt.rules.nDaysPerWeek; j++){
                     notAllowedTimesTable->item(i, j)->setText(YES);
                     colorItem(notAllowedTimesTable->item(i,j));
              }
       tableWidgetUpdateBug(notAllowedTimesTable);
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 121 of file addconstraintbreaktimesform.cpp.

{
       if(row>=0 && row<gt.rules.nHoursPerDay){
              QString s=notAllowedTimesTable->item(row, 0)->text();
              if(s==YES)
                     s=NO;
              else{
                     assert(s==NO);
                     s=YES;
              }
       
              for(int col=0; col<gt.rules.nDaysPerWeek; col++){
                     notAllowedTimesTable->item(row, col)->setText(s);
                     colorItem(notAllowedTimesTable->item(row,col));
              }
              tableWidgetUpdateBug(notAllowedTimesTable);
       }
}

Here is the call graph for this function:

Here is the caller graph for this function:


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