diff options
Diffstat (limited to 'kbruch/src/exerciseconvert.h')
-rw-r--r-- | kbruch/src/exerciseconvert.h | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/kbruch/src/exerciseconvert.h b/kbruch/src/exerciseconvert.h new file mode 100644 index 00000000..cfbb3e0c --- /dev/null +++ b/kbruch/src/exerciseconvert.h @@ -0,0 +1,97 @@ +/*************************************************************************** + exerciseconvert.h + ------------------- + begin : 2004/06/04 + copyright : (C) 2004 by Sebastian Stein + email : seb.kde@hpfsc.de + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef EXERCISECONVERT_H +#define EXERCISECONVERT_H + +#ifdef DEBUG +#include <kdebug.h> +#endif + +#include "exercisebase.h" +#include "ratio.h" + +class RationalWidget; +class ResultWidget; + +class QFrame; +class QGridLayout; +class QLabel; +class QLineEdit; +class QPushButton; +class QString; +class QVBoxLayout; + +/*! Construct the exercise widget to convert rational numbers into fractions + * + * \author Sebastian Stein + * */ +class ExerciseConvert : public ExerciseBase +{ + Q_OBJECT + +public: + /** constructor */ + ExerciseConvert(QWidget * parent = 0, const char * name = 0); + + /** destructor */ + ~ExerciseConvert(); + + /** force the creation of a new task */ + void forceNewTask(); + +public slots: + void update(); + +signals: + /** class emits this signal, if the task was solved correctly by the user */ + void signalExerciseSolvedCorrect(); + + /** class emits this signal, if the task was solved not correctly by the user + * */ + void signalExerciseSolvedWrong(); + +private: + short m_currentState; + + QString m_number; + uint m_periodStart; + uint m_periodLength; + ratio m_result; + + RationalWidget* m_rationalWidget; + ResultWidget* m_resultWidget; + QLineEdit* numer_edit; + QFrame* edit_line; + QLineEdit* deno_edit; + + QPushButton* m_checkButton; + QLabel* result_label; + + QGridLayout* baseGrid; + QWidget* baseWidget; + QVBoxLayout* realLayout; + + void createTask(); + void showResult(); + void nextTask(); + +private slots: + void slotCheckButtonClicked(); +}; + +#endif |