totalswidget.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef TOTALSWIDGET_H
  2. #define TOTALSWIDGET_H
  3. #include "QtWidgets/qlineedit.h"
  4. #include "src/gui/verification/timeinput.h"
  5. #include "src/opl.h"
  6. #include <QWidget>
  7. #include <QRegularExpressionValidator>
  8. namespace Ui {
  9. class TotalsWidget;
  10. }
  11. class TotalsWidget : public QWidget
  12. {
  13. Q_OBJECT
  14. public:
  15. enum WidgetType {TotalTimeWidget, PreviousExperienceWidget};
  16. explicit TotalsWidget(WidgetType widgetType, QWidget *parent = nullptr);
  17. ~TotalsWidget();
  18. private:
  19. Ui::TotalsWidget *ui;
  20. /*!
  21. * \brief m_rowData holds the data displayed in the line edits
  22. */
  23. OPL::RowData_T m_rowData;
  24. const static int TOTALS_DATA_ROW_ID = OPL::STUB_ROW_ID;
  25. void fillTotals(const WidgetType widgetType);
  26. void fillStubData();
  27. void setup(const WidgetType widgetType);
  28. void connectSignalsAndSlots();
  29. bool verifyUserTimeInput(QLineEdit *line_edit, const TimeInput &input);
  30. bool updateTimeEntry(const QLineEdit* line_edit);
  31. bool updateMovementEntry(const QLineEdit* line_edit);
  32. private slots:
  33. void timeLineEditEditingFinished();
  34. void movementLineEditEditingFinished();
  35. };
  36. #endif // TOTALSWIDGET_H