#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include "config.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void on_comboBox_thesis_spervisorEvaluation_activated(int index); void on_comboBox_thesis_examinerEvaluation_activated(int index); void on_comboBox_thesis_presentationEvaluation_activated(int index); void on_comboBox_exam_questionsEvaluation_activated(int index); void on_checkBox_comment1_presentation_checkStateChanged(const Qt::CheckState &arg1); void on_checkBox_comment1_prototype_checkStateChanged(const Qt::CheckState &arg1); void on_checkBox_comment1_video_checkStateChanged(const Qt::CheckState &arg1); void on_radioButton_comment2_quality1_clicked(); void on_radioButton_comment2_quality2_clicked(); void on_radioButton_comment2_quality3_clicked(); void on_radioButton_comment2_quality4_clicked(); void on_radioButton_comment2_quality5_clicked(); void on_radioButton_comment3_yes_clicked(); void on_radioButton_comment3_no_clicked(); void on_checkBox_comment4_explanations_checkStateChanged(const Qt::CheckState &arg1); void on_radioButton_comment4_quality1_clicked(); void on_radioButton_comment4_quality2_clicked(); void on_radioButton_comment4_quality3_clicked(); void on_radioButton_comment4_quality4_clicked(); void on_radioButton_comment5_confidence1_clicked(); void on_radioButton_comment5_confidence2_clicked(); void on_radioButton_comment5_confidence3_clicked(); void on_radioButton_comment5_quality1_clicked(); void on_radioButton_comment5_quality2_clicked(); void on_radioButton_comment5_quality3_clicked(); private: Ui::MainWindow *ui; /** * Initialize all input controls. */ void _initialize_all(); /** * Calculate the final evaluation for thesis and store it * into _eval_thesis_final. */ void _calculate_thesisEvaluation(); /** * Calculate the final evaluation for whole examination * and store it into _eval_final_text. */ void _calculate_finalEvaluation(); /** * Show a thesis evaluation state. */ void _show_thesisEvaluation(); /** * Show the whole examination final state. */ void _show_finalEvaluation(); /** * Show final vaverbal evaluation of student. */ void _show_finalComment(); /** * Create 1st comment as a whole sentence. */ void _compose_comment1(); /** * Create 2nd comment as a whole sentence. */ void _compose_comment2(); /** * Create 3rd comment as a whole sentence. */ void _compose_comment3(); /** * Create 4th comment as a whole sentence. */ void _compose_comment4(); /** * Create 5th comment as a whole sentence. */ void _compose_comment5(); /** * Helper method for converting evaluation from numerical * to text form. * @param x numerical value for evaluation * @return string */ QString _convert_evaluation_from_number(double x); /** * Helper method for converting evaluation from text form * to numerical form. * @param x text value for evaluation * @return numerical value */ double _convert_evaluation_from_text(QString x); // numerical or text values for thesis evaluation double _eval_thesis_supervisor{0}; double _eval_thesis_examiner{0}; double _eval_thesis_presentation{0}; QString _eval_thesis_final_text{""}; // numerical value for exam evaluation double _eval_exam_questions{0}; // text value for final evaluation QString _eval_final_text{""}; // flags for comment 1 bool _comm1_isPresentation{false}; bool _comm1_isPrototype{false}; bool _comm1_isVideo{false}; QString _comm2_selectedQuality{""}; QString _comm3_selectedAnswer{""}; QString _comm4_explanations{""}; QString _comm4_selectedQuality{""}; QString _comm5_selectedConfidence{""}; QString _comm5_selectedQuality{""}; bool _comm5_isNoAnswer{false}; // comments for verbal evaluation QString _comment1{""}; QString _comment2{""}; QString _comment3{""}; QString _comment4{""}; QString _comment5{""}; }; #endif // MAINWINDOW_H