Salome HOME
1a1a6b8f5782562575a60b2321fee1767567bef4
[tools/install.git] / src / InstallWizard.h
1 //  File      : InstallWizard.h
2 //  Created   : Thu Mar 27 12:01:00 2003
3 //  Author    : Vadim SANDLER
4 //  Project   : SALOME Professional
5 //  Module    : InstallWizard
6 //  Copyright : 2003 CEA/DEN, EDF R&D
7 //  $Header$ 
8
9 #ifndef InstallWizard_h
10 #define InstallWizard_h
11
12 #include "qdialog.h"
13
14 /*!
15   This is the patched QWizard class
16 */
17 class QHBoxLayout;
18 class InstallWizardPrivate;
19
20 class InstallWizard : public QDialog
21 {
22   Q_OBJECT
23     
24 public:
25   InstallWizard( QWidget* parent=0, const char* name=0, bool modal=FALSE, WFlags f=0 );
26   ~InstallWizard();
27   
28   void show();
29   
30   void setFont( const QFont & font );
31   
32   virtual void addPage( QWidget *, const QString & );
33   virtual void insertPage( QWidget*, const QString&, int );
34   virtual void removePage( QWidget * );
35   
36   QString title( QWidget * ) const;
37   void setTitle( QWidget *, const QString & );
38   QFont titleFont() const;
39   void setTitleFont( const QFont & );
40   
41   virtual void showPage( QWidget * );
42   
43   QWidget * currentPage() const;
44   
45   QWidget* page( int ) const;
46   QWidget* page( const QString& title ) const;
47   int pageCount() const;
48   int indexOf( QWidget* ) const;
49   
50   virtual bool appropriate( QWidget * ) const;
51   virtual void setAppropriate( QWidget *, bool );
52   
53   QPushButton * backButton() const;
54   QPushButton * nextButton() const;
55   QPushButton * finishButton() const;
56   QPushButton * cancelButton() const;
57   QPushButton * helpButton() const;
58   
59   bool eventFilter( QObject *, QEvent * );
60   
61 public slots:
62   virtual void setBackEnabled( QWidget *, bool );
63   virtual void setNextEnabled( QWidget *, bool );
64   virtual void setFinishEnabled( QWidget *, bool );
65   
66   virtual void setHelpEnabled( QWidget *, bool );
67   
68   // obsolete
69   virtual void setFinish(  QWidget *, bool ) {}
70   
71 protected slots:
72   virtual void back();
73   virtual void next();
74   virtual void help();
75   
76 signals:
77   void helpClicked();
78   void selected( const QString& );
79   
80 protected:
81   virtual void layOutButtonRow( QHBoxLayout * );
82   virtual void layOutTitleRow( QHBoxLayout *, const QString & );
83   virtual bool acceptData( const QString& );
84   void layOut();
85   
86 private:
87   void setBackEnabled( bool );
88   void setNextEnabled( bool );
89   
90   void setHelpEnabled( bool );
91   
92   void setNextPage( QWidget * );
93   
94   void updateButtons();
95   
96   InstallWizardPrivate *d;
97   
98 private:        // Disabled copy constructor and operator=
99 #if defined(Q_DISABLE_COPY)
100   InstallWizard( const InstallWizard & );
101   InstallWizard& operator=( const InstallWizard & );
102 #endif
103 };
104
105 #endif // InstallWizard_h