From ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeedu@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kbruch/src/exercisecompare.h | 102 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 kbruch/src/exercisecompare.h (limited to 'kbruch/src/exercisecompare.h') diff --git a/kbruch/src/exercisecompare.h b/kbruch/src/exercisecompare.h new file mode 100644 index 00000000..a1c656c2 --- /dev/null +++ b/kbruch/src/exercisecompare.h @@ -0,0 +1,102 @@ +/*************************************************************************** + exercisecompare.h + ------------------- + begin : 2004/06/03 + 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 EXERCISECOMPARE_H +#define EXERCISECOMPARE_H + +#define DEBUG + +#ifdef DEBUG +#include +#endif + +#include "exercisebase.h" +#include "ratio.h" +#include "ratiowidget.h" + +class QGridLayout; +class QLabel; +class QPushButton; +class QVBoxLayout; + + +#include + +/*! Constructs a QWidget, which shows the task to the user. + * The class also provides input fields, so that the user can enter the result. + * It also controls the interaction, so that the entered result gets checked + * and a new task can be generated. + * \author Sebastian Stein + * */ +class ExerciseCompare : public ExerciseBase +{ + Q_OBJECT + +public: + /** constructor */ + ExerciseCompare(QWidget * parent = 0, const char * name = 0); + + /** destructor */ + ~ExerciseCompare(); + + /** 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; + + RatioWidget* m_firstRatioWidget; + RatioWidget* m_secondRatioWidget; + QPushButton* m_checkButton; + QPushButton* m_signButton; + QLabel* result_label; + + QGridLayout* baseGrid; + QWidget* baseWidget; + QVBoxLayout* realLayout; + + ratio m_firstRatio; + ratio m_secondRatio; + + enum SignButtonState + { + lessThen, + greaterThen + }; + SignButtonState m_signButtonState; + + void createTask(); + void showResult(); + void nextTask(); + +private slots: + void slotCheckButtonClicked(); + void slotSignButtonClicked(); +}; + +#endif -- cgit v1.2.1