diff options
Diffstat (limited to 'kvoctrain/kvoctrain/query-dialogs/QueryDlgBase.h')
-rw-r--r-- | kvoctrain/kvoctrain/query-dialogs/QueryDlgBase.h | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/kvoctrain/kvoctrain/query-dialogs/QueryDlgBase.h b/kvoctrain/kvoctrain/query-dialogs/QueryDlgBase.h new file mode 100644 index 00000000..6f62ddf0 --- /dev/null +++ b/kvoctrain/kvoctrain/query-dialogs/QueryDlgBase.h @@ -0,0 +1,111 @@ +/*************************************************************************** + + base class for query dialogs + + ----------------------------------------------------------------------- + + begin : Thu Nov 25 20:50:53 MET 1999 + + copyright : (C) 1999-2001 Ewald Arnold <kvoctrain@ewald-arnold.de> + (C) 2001 The KDE-EDU team + (C) 2005 Peter Hedlund <peter.hedlund@kdemail.net> + + ----------------------------------------------------------------------- + + *************************************************************************** + + *************************************************************************** + * * + * 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 Query_Dlg_Base_H +#define Query_Dlg_Base_H + +#include <time.h> +#include <stdlib.h> + +#include <kdialogbase.h> + +#include <QueryManager.h> +#include <grammarmanager.h> + +class kvoctrainExpr; +class kvoctrainDoc; + +class QLineEdit; +class QMultiLineEdit; +class QLabel; +class QRadioButton; + +class QueryDlgBase : public KDialogBase +{ + + Q_OBJECT + +public: + enum Result { Unknown, Known, Timeout, StopIt }; + + QueryDlgBase(const QString & caption, QWidget *parent = 0, const char *name = 0, bool modal = false); + + virtual ~QueryDlgBase (); + + bool smartCompare (const QString&, const QString&, int level) const; + + bool verifyField(QLineEdit *field, const QString &really); + void resetField (QLineEdit *field); + + bool verifyField(QMultiLineEdit *field, const QString &really, + bool mixed); + void resetField (QMultiLineEdit *field); + + void verifyButton(QRadioButton *radio, bool is_ok, QWidget *widget2 = 0); + void resetButton (QRadioButton *radio, QWidget *widget2 = 0); + + // Show string after selceting known/unknown + // depending on progress and randomness + QString getOKComment(int percent); + QString getNOKComment(int percent); + QString getTimeoutComment(int percent); + + int getRandom(int range) + { +// srand((unsigned int)time((time_t *)NULL)); + return (int) (range * ((1.0*rand())/RAND_MAX)); + } + + virtual void initFocus() const; + +signals: + void sigQueryChoice(QueryDlgBase::Result); + void sigEditEntry(int row, int col); + +protected: + virtual void closeEvent(QCloseEvent*e); + virtual void slotUser1(); + + struct RB_Label { + RB_Label (QRadioButton* _rb, QLabel *_label) + : rb(_rb), label(_label) {} + + QRadioButton *rb; + QLabel *label; + }; + + int q_row, + q_ocol, + q_tcol; + kvoctrainDoc *kv_doc; + kvoctrainExpr *kv_exp; + QString translation; + QTimer *qtimer; + int timercount; +}; + + +#endif // Query_Dlg_Base_H |