time.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "qt/input/time.hpp"
  2. QtInputTime::QtInputTime():QWidget(){
  3. main_layout=new QVBoxLayout;
  4. T_label=new QLabel("Total duration of the simulation (T)");
  5. nT_label=new QLabel("Number of time steps (nT)");
  6. T_input=new QLineEdit();
  7. nT_input=new QLineEdit();
  8. positive_double_validator=new QDoubleValidator;
  9. positive_double_validator->setBottom(0);
  10. positive_int_validator=new QIntValidator;
  11. positive_int_validator->setBottom(1);
  12. T_input->setValidator(positive_double_validator);
  13. nT_input->setValidator(positive_int_validator);
  14. int vspace=20;
  15. main_layout->addWidget(T_label);
  16. main_layout->addWidget(T_input);
  17. main_layout->addSpacing(vspace);
  18. main_layout->addWidget(nT_label);
  19. main_layout->addWidget(nT_input);
  20. main_layout->addSpacing(vspace);
  21. main_layout->addStretch();
  22. setLayout(main_layout);
  23. getTime();
  24. }
  25. QWidget*
  26. QtInputTime::validate(){
  27. if(not T_input->hasAcceptableInput()) return T_input;
  28. if(not nT_input->hasAcceptableInput()) return nT_input;
  29. return nullptr;
  30. }
  31. void
  32. QtInputTime::setTime(){
  33. Time::T=T_input->text().toDouble();
  34. Time::nT=nT_input->text().toULong();
  35. }
  36. void
  37. QtInputTime::getTime(){
  38. T_input->setText(QString::number(Time::T));
  39. nT_input->setText(QString::number(Time::nT));
  40. }