Salome HOME
NRI : Add message (GUI lib not found).
[modules/kernel.git] / src / SALOMEGUI / SALOMEGUI_QtCatchCorbaException.cxx
1 using namespace std;
2 //=============================================================================
3 // File      : SALOMEGUI_QtCatchCorbaException.cxx
4 // Created   : mer déc 19 14:52:07 CET 2001
5 // Author    : Paul RASCLE, EDF
6 // Project   : SALOME
7 // Copyright : EDF 2001
8 // $Header$
9 //=============================================================================
10
11 #include "SALOMEGUI_QtCatchCorbaException.hxx"
12 #include "utilities.h"
13
14 #include "QAD_Desktop.h"
15 #include "QAD_MessageBox.h"
16
17 void QtCatchCorbaException(const SALOME::SALOME_Exception & S_ex)
18 {
19   switch (S_ex.details.type)
20     {
21     case SALOME::COMM:
22     case SALOME::INTERNAL_ERROR:
23       {
24         QString str(S_ex.details.text);
25         QString source(S_ex.details.sourceFile);
26         QString line;
27         line.setNum(S_ex.details.lineNumber);
28         QString message = str + " \n" + source + " : " + line;
29         QAD_MessageBox::error1 
30           ( QAD_Application::getDesktop(),
31             QObject::tr ("Engine Error"),
32             message,
33             QObject::tr ("OK") );                   
34         break;
35       }
36
37     case SALOME::BAD_PARAM:
38       {
39         QString message(S_ex.details.text);
40 #ifdef _DEBUG_
41         QString source(S_ex.details.sourceFile);
42         QString line;
43         line.setNum(S_ex.details.lineNumber);
44         message = message + " \n" + source + " : " + line;
45 #endif
46         QAD_MessageBox::warn1 
47           ( QAD_Application::getDesktop(),
48             QObject::tr ("Engine Warning"),
49             message,
50             QObject::tr ("OK") );                   
51         break;
52       }
53     default:
54       {
55         QString str("SALOME CORBA Exception Type invalid");
56         QString source(S_ex.details.sourceFile);
57         QString line;
58         line.setNum(S_ex.details.lineNumber);
59         QString message = str + " \n" + source + " : " + line;
60         QAD_MessageBox::error1 
61           ( QAD_Application::getDesktop(),
62             QObject::tr ("Internal SALOME Error"),
63             message,
64             QObject::tr ("OK") );                   
65         break;
66       }
67     }
68 }