Salome HOME
Merge branch 'BR_LAND_COVER_MAP' into BR_quadtree
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Wizard.h
index 1ddf93f110e6d321aeb4d0645bfe80afa2a3e6c8..8269950c1624932052583bbfdc8e8c11d39301e2 100644 (file)
@@ -1,12 +1,8 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015  EDF-R&D
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -25,6 +21,9 @@
 
 #include "HYDROGUI_InputPanel.h"
 #include <QWizard>
+class QAbstractButton;
+class QStackedWidget;
+class QWizardPage;
 
 /**\class HYDROGUI_Wizard
  *\brief The base class representing base wizard for HYDROGUI module
@@ -37,12 +36,35 @@ public:
   HYDROGUI_Wizard( HYDROGUI_Module* theModule, const QString& theTitle );
   virtual ~HYDROGUI_Wizard();
 
-  void show();
+  QAbstractButton* button( QWizard::WizardButton theBtnId ) const;
+  int              addPage( QWizardPage* thePage );
+  QStackedWidget*  wizard() const;
+
+public slots:
+  void             onNext();
+  void             onBack();
+  
+  void             onFirstPage();
+
+signals:
+  void             Next( const int );
+  void             Back( const int );
+
+protected:
+
+  // Returns the state of current page filing.
+  // Reimplement this method in your subclass to verify user input data.
+  virtual bool    acceptCurrent() const;
+
+  virtual bool    IsLastPage();
 
-  QWizard* wizard() const;
+  void            SetButtonsState (bool IsLastPage);
 
 private:
-  QWizard* myWizard;
+  QStackedWidget* myWizard;
+  QPushButton*    myNext;
+  QPushButton*    myBack;
+  QPushButton*    myFinish;
 };
 
 #endif