00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef MYTHWIZARDDIALOG_H
00039 #define MYTHWIZARDDIALOG_H
00040
00041 #include "mythwidgets.h"
00042 #include "mythdialogs.h"
00043
00044 #include <QEvent>
00045 #include <QKeyEvent>
00046
00047 class MythWizardPrivate;
00048 class QHBoxLayout;
00049
00050 class MPUBLIC MythWizard : public MythDialog
00051 {
00052 Q_OBJECT
00053 Q_PROPERTY(QFont titleFont READ titleFont WRITE setTitleFont)
00054
00055 public:
00056 MythWizard(MythMainWindow* parent, const char* name = 0);
00057 virtual ~MythWizard();
00058
00059 void Show();
00060
00061 void setFont(const QFont & font);
00062
00063 virtual void addPage(QWidget *, const QString &);
00064 virtual void insertPage(QWidget *, const QString &, int);
00065 virtual void removePage(QWidget *);
00066
00067 QString title(QWidget *) const;
00068 void setTitle(QWidget *, const QString &);
00069 QFont titleFont() const;
00070 void setTitleFont(const QFont &);
00071
00072 virtual void showPage(QWidget *);
00073
00074 QWidget * currentPage() const;
00075
00076 QWidget* page(int) const;
00077 int pageCount() const;
00078 int indexOf(QWidget*) const;
00079
00080 virtual bool appropriate(QWidget *) const;
00081 virtual void setAppropriate(QWidget *, bool);
00082
00083 MythPushButton * backButton() const;
00084 MythPushButton * nextButton() const;
00085 MythPushButton * finishButton() const;
00086 MythPushButton * cancelButton() const;
00087
00088 bool eventFilter(QObject *, QEvent *);
00089
00090 virtual void keyPressEvent(QKeyEvent *);
00091
00092 public slots:
00093 virtual void setBackEnabled(QWidget *, bool);
00094 virtual void setNextEnabled(QWidget *, bool);
00095 virtual void setFinishEnabled(QWidget *, bool);
00096
00097 virtual void setHelpText(QString helptext);
00098
00099 protected slots:
00100 virtual void back();
00101 virtual void next();
00102
00103 signals:
00104 void selected(const QString&);
00105
00106 protected:
00107 virtual void layOutButtonRow(QHBoxLayout *);
00108 virtual void layOutTitleRow(QHBoxLayout *, const QString &);
00109
00110 void setBackEnabled(bool);
00111 void setNextEnabled(bool);
00112
00113 void setNextPage(QWidget *);
00114
00115 void updateButtons();
00116
00117 void layOut();
00118
00119 MythWizardPrivate *d;
00120 };
00121
00122 #endif