1 #include "SalomeApp_Tools.h"
3 #include <SUIT_Session.h>
4 #include <SUIT_Desktop.h>
5 #include <SUIT_MessageBox.h>
9 Quantity_Color SalomeApp_Tools::color( const QColor& c )
11 Quantity_Color aColor;
13 aColor = Quantity_Color( c.red() / 255., c.green() / 255., c.blue() / 255., Quantity_TOC_RGB );
17 QColor SalomeApp_Tools::color( const Quantity_Color& c )
19 return QColor( (int)( c.Red() * 255 ), (int)( c.Green() * 255 ), (int)( c.Blue() * 255 ) );
22 QString SalomeApp_Tools::ExceptionToString( const SALOME::SALOME_Exception& S_ex )
26 switch ( S_ex.details.type )
29 case SALOME::INTERNAL_ERROR:
31 message = QString( S_ex.details.text );
32 QString source( S_ex.details.sourceFile );
34 line.setNum( S_ex.details.lineNumber );
35 message = message + " \n" + source + " : " + line;
38 case SALOME::BAD_PARAM:
40 message = QString( S_ex.details.text );
42 QString source( S_ex.details.sourceFile );
44 line.setNum( S_ex.details.lineNumber );
45 message = message + " \n" + source + " : " + line;
51 message = QString( "SALOME CORBA Exception Type invalid" );
52 QString source( S_ex.details.sourceFile );
54 line.setNum( S_ex.details.lineNumber );
55 message = message + " \n" + source + " : " + line;
62 void SalomeApp_Tools::QtCatchCorbaException( const SALOME::SALOME_Exception& S_ex )
64 QString message = ExceptionToString( S_ex );
68 switch ( S_ex.details.type )
71 case SALOME::INTERNAL_ERROR:
72 title = QObject::tr( "Engine Error" );
74 case SALOME::BAD_PARAM:
76 title = QObject::tr( "Engine Warning" );
79 title = QObject::tr( "Internal SALOME Error" );
84 SUIT_MessageBox::error1( SUIT_Session::session()->activeApplication()->desktop(),
85 title, message, QObject::tr( "OK" ) );
87 SUIT_MessageBox::warn1( SUIT_Session::session()->activeApplication()->desktop(),
88 title, message, QObject::tr( "OK" ) );