]> SALOME platform Git repositories - tools/install.git/blob - src/main.cxx
Salome HOME
Provide binaries compilation mode for BOOST 1.31.0
[tools/install.git] / src / main.cxx
1 //  File      : main.cxx 
2 //  Created   : Thu Dec 18 12:01:00 2002
3 //  Author    : Vadim SANDLER
4 //  Project   : SALOME
5 //  Module    : Installation Wizard
6 //  Copyright : 2004-2005 CEA
7
8 #include "globals.h"
9
10 #include "SALOME_InstallWizard.hxx"
11 #include <qapplication.h>
12 #include <qfile.h>
13 #include <qmessagebox.h>
14
15 #define __IW_VERSION__ 0x010000
16
17 // ================================================================
18 /*!
19  *  MessageOutput
20  *  Qt's messages handler funcion
21  */
22 // ================================================================
23 void MessageOutput( QtMsgType type, 
24 #ifdef QT_DEBUG
25                     const char* msg
26 #else
27                     const char*
28 #endif
29                     )
30 {
31   switch ( type ) {
32   case QtDebugMsg:
33     ___DEBUG___( msg );
34     break;
35   case QtWarningMsg:
36     ___WARNING___( msg );
37     break;
38   case QtFatalMsg:
39     ___FATAL___( msg );
40     break;
41   }
42 }
43
44 // ================================================================
45 /*!
46  *  main
47  *  Program starts here
48  */
49 // ================================================================
50 int main( int argc, char **argv )
51 {
52   qInstallMsgHandler( MessageOutput );
53
54   QString xmlFileName;
55   for( int i = 1; i < argc; i++ ) {
56     QString a = QString( argv[i] );
57     if ( a == "--version" || a == "-v" ) {
58       printf("SALOME Installation Wizard version %d.%d.%d ",
59              ( __IW_VERSION__ >> 16 ) & 0xFF,
60              ( __IW_VERSION__ >>  8 ) & 0xFF,
61              ( __IW_VERSION__       ) & 0xFF );
62       printf("(Qt version %d.%d.%d)\n",
63              ( QT_VERSION >> 16 ) & 0xFF,
64              ( QT_VERSION >> 8  ) & 0xFF,
65              ( QT_VERSION       ) & 0xFF );
66       return 0;
67     }
68     if ( xmlFileName.isEmpty() )
69       xmlFileName = a;
70   }
71   if ( xmlFileName.isEmpty() )
72     xmlFileName = "config.xml";
73
74   QApplication a( argc, argv );
75   a.setFont( QFont( "Sans", 12 ) );
76
77   int result = -1;
78   QFile xmlfile(xmlFileName);
79   if ( xmlfile.exists() ) {
80     SALOME_InstallWizard wizard(xmlFileName);
81     a.setMainWidget( &wizard );
82     wizard.show();
83     result = a.exec();
84   }
85   else {
86     QMessageBox::critical( 0, 
87                            QObject::tr( "Error" ), 
88                            QObject::tr( "Can't open config file:\n%1\n\nQuitting...").arg( xmlFileName ), 
89                            QMessageBox::Ok,
90                            QMessageBox::NoButton, 
91                            QMessageBox::NoButton );
92   }
93   return result;
94 }
95