-// 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
void HYDROGUI_Wizard::onNext()
{
- if ( myWizard->count() > 0 )
+ if ( !acceptCurrent() )
+ return;
+
+ if ( myWizard->count() <= 0 )
+ return;
+
+ myBack->setEnabled( true );
+ int aCurIdx = myWizard->currentIndex();
+ if ( aCurIdx == ( myWizard->count() - 2 ) )
{
- myBack->setEnabled( true );
- int aCurIdx = myWizard->currentIndex();
- if ( aCurIdx == ( myWizard->count() - 2 ) )
- {
- // Go to the last page
- myNext->setVisible( false );
- myFinish->setVisible( true );
- }
- myWizard->setCurrentIndex( aCurIdx + 1 );
+ // Go to the last page
+ myNext->setVisible( false );
+ myFinish->setVisible( true );
}
+ myWizard->setCurrentIndex( aCurIdx + 1 );
+
+ emit Next( myWizard->currentIndex() );
}
void HYDROGUI_Wizard::onBack()
{
- int aCurIdx = myWizard->currentIndex();
- if ( aCurIdx <= 1 )
- {
- // Disable back if go to the first page
- myBack->setEnabled( false );
- }
+ if ( myWizard->count() <= 0 )
+ return;
+
if ( myWizard->count() > 1 )
{
myNext->setVisible( true );
myNext->setVisible( false );
myFinish->setVisible( true );
}
+
+ int aCurIdx = myWizard->currentIndex();
myWizard->setCurrentIndex( aCurIdx - 1 );
+
+ aCurIdx = myWizard->currentIndex();
+ if ( aCurIdx <= 0 )
+ {
+ // Disable back if go to the first page
+ myBack->setEnabled( false );
+ }
+
+ emit Back( aCurIdx );
+}
+
+void HYDROGUI_Wizard::onFirstPage()
+{
+ if ( myWizard->count() > 1 ) {
+ myNext->setVisible( true );
+ myFinish->setVisible( false );
+ myWizard->setCurrentIndex( 0 );
+ myBack->setEnabled( false );
+ emit Back( myWizard->currentIndex() );
+ }
+}
+
+bool HYDROGUI_Wizard::acceptCurrent() const
+{
+ return true;
}
QAbstractButton* HYDROGUI_Wizard::button( QWizard::WizardButton theBtnId ) const