00001 #ifndef IG_GEANT_4_SETUP_IG_WIZARD_H
00002 # define IG_GEANT_4_SETUP_IG_WIZARD_H
00003
00004
00005
00006 # include "Iguana/Studio/interface/config.h"
00007 # include "Iguana/Studio/interface/IgWizardBase.h"
00008 # include <vector>
00009
00010
00011
00012
00013
00014 class IgWizardPage;
00015 class QWidgetStack;
00016 class QAccel;
00017
00018
00019
00020
00021
00022 class IGUANA_STUDIO_API IgWizard : public IgWizardBase
00023 {
00024 Q_OBJECT
00025 public:
00026 IgWizard (QWidget *parent = 0,
00027 const char *name = 0,
00028 bool modal = false,
00029 WFlags f = 0);
00030
00031
00032
00033
00034
00035 virtual QString title (void) const;
00036 virtual void setTitle (QString title);
00037
00038
00039 virtual void addPage (IgWizardPage *page);
00040 virtual void insertPage (IgWizardPage *page, int index);
00041 virtual void removePage (IgWizardPage *page);
00042
00043 virtual void showPage (IgWizardPage *page);
00044 virtual IgWizardPage *currentPage (void) const;
00045 virtual IgWizardPage *page (int index) const;
00046 virtual int pageCount (void) const;
00047 virtual int indexOf (IgWizardPage *page) const;
00048
00049
00050 virtual void show (void);
00051 virtual bool eventFilter (QObject *o, QEvent *e);
00052
00053
00054 virtual void back (void);
00055 virtual void next (void);
00056 virtual void help (void);
00057
00058 public slots:
00059 virtual void updateButtons (void);
00060
00061 signals:
00062 virtual void selected (IgWizardPage *page);
00063
00064 private:
00065 void updateBack (void);
00066 void updateNext (void);
00067 void updateFinish (void);
00068 void updateHelp (void);
00069
00070 typedef std::vector<IgWizardPage *> PageList;
00071 QWidgetStack *m_stack;
00072 PageList m_pages;
00073 IgWizardPage *m_current;
00074 QAccel *m_accels;
00075 int m_backAccel;
00076 int m_nextAccel;
00077 };
00078
00079
00080
00081
00082 #endif // IG_GEANT_4_SETUP_IG_WIZARD_H