HYDROGUI_Operation::HYDROGUI_Operation( HYDROGUI_Module* theModule )
: LightApp_Operation(),
myModule( theModule ),
- myPanel( 0 )
+ myPanel( 0 ),
+ myIsPrintErrorMessage( true )
{
connect( this, SIGNAL( helpContextModule( const QString&, const QString&,
const QString& ) ),
}
else
{
- abortDocOperation();
+ // Abort document opeartion only if requested
+ if ( isToAbortOnApply() )
+ abortDocOperation();
+
+ printErrorMessage( anErrorMsg );
+
+ // If the operation has no input panel - do abort
+ if ( !inputPanel() ) {
+ abort();
+ }
+ }
+}
+
+void HYDROGUI_Operation::setPrintErrorMessage( const bool theIsPrint )
+{
+ myIsPrintErrorMessage = theIsPrint;
+}
+
+void HYDROGUI_Operation::printErrorMessage( const QString& theErrorMsg )
+{
+ if ( myIsPrintErrorMessage )
+ {
QString aMsg = tr( "INPUT_VALID_DATA" );
- if( !anErrorMsg.isEmpty() )
- aMsg.prepend( anErrorMsg + "\n" );
+ if( !theErrorMsg.isEmpty() )
+ aMsg.prepend( theErrorMsg + "\n" );
SUIT_MessageBox::critical( module()->getApp()->desktop(),
tr( "INSUFFICIENT_INPUT_DATA" ),
- aMsg );
+ aMsg );
+
}
+
+ myIsPrintErrorMessage = true;
}
void HYDROGUI_Operation::onCancel()