/***************************************************************************
                           testdialog.h
                           -------------------
    copyright            : (C) 2004 by Jos van den Oever
    email                : jos@vandenoever.info
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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 TESTDIALOG_H
#define TESTDIALOG_H

#include "rotenums.h"
#include <q3vbox.h>
//Added by qt3to4:
#include <QResizeEvent>
#include <QKeyEvent>
#include <QLabel>
class CubeDialog;
class QLabel;
class QPushButton;
class Q3HBox;
class Question;
class FileSideStyle;
class SideStyle;
class ClickableQLabel;
struct Difficulty {
	QString name;
	short blanks;
};

class TestDialog : public Q3VBox {
Q_OBJECT
public:
	explicit TestDialog(QWidget* parent=0, const char* name=0, Qt::WFlags f=0);
	~TestDialog();
	void setBackgroundPixmap(const QString &) const;
	void setQuestion(Question &q);
protected:
	void keyReleaseEvent(QKeyEvent *);
	void resizeEvent(QResizeEvent *e);
private slots:
	void startQuestions();
	void finishQuestions();
	void changeStyle(const QString &);
	void setLevel(int i);
private:
	ClickableQLabel *welcome;
	QLabel *conclusion, *bugmail;
	QPushButton *start;
	Q3HBox *restart;
	CubeDialog *cd;
	FileSideStyle *fss;
	SideStyle *ss;
	Q3VBox *options;
};
#endif
