// File : main.cxx
// Created : Thu Dec 18 12:01:00 2002
-// Author : Vadim SANDLER
+// Author : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
// Project : SALOME
// Module : Installation Wizard
-// Copyright : 2004-2005 CEA
+// Copyright : 2002-2009 CEA
#include "globals.h"
* Qt's messages handler funcion
*/
// ================================================================
-void MessageOutput( QtMsgType type, const char *msg )
+void MessageOutput( QtMsgType type,
+#ifdef QT_DEBUG
+ const char* msg
+#else
+ const char*
+#endif
+ )
{
switch ( type ) {
case QtDebugMsg:
int main( int argc, char **argv )
{
qInstallMsgHandler( MessageOutput );
- QApplication a( argc, argv );
- a.setFont( QFont("Helvetica", 9 ) );
- QString xmlFileName( argc == 2 ? argv[1] : "config.xml" );
-
- int result = -1;
- QFile xmlfile(xmlFileName);
- if ( xmlfile.exists() ) {
- SALOME_InstallWizard wizard(xmlFileName);
- a.setMainWidget( &wizard );
- wizard.show();
- result = a.exec();
+
+ QString xmlFileName;
+ QString targetDirPath;
+ QString tmpDirPath;
+ bool has_xml = false;
+ bool has_target = false;
+ bool has_tmp = false;
+ bool force_src = false;
+ bool single_dir = false;
+ for( int i = 1; i < argc; i++ ) {
+ QString a = QString( argv[i] );
+ if ( a == "--version" || a == "-v" ) {
+ printf("SALOME Installation Wizard version %d.%d.%d (Qt version %d.%d.%d)\n",
+ ( __IW_VERSION__ / 10000 ),
+ ( __IW_VERSION__ / 100 % 100 ),
+ ( __IW_VERSION__ % 100 ) ,
+ ( QT_VERSION >> 16 ) & 0xFF,
+ ( QT_VERSION >> 8 ) & 0xFF,
+ ( QT_VERSION ) & 0xFF );
+ printf("Copyright (C) 2002-2009 CEA\n");
+ return 0;
+ }
+ else if ( a == "--target" || a == "-d" ) {
+ has_target = true;
+ if ( i < argc-1 && !QString( argv[i+1] ).startsWith("-") ) {
+ targetDirPath = argv[i+1];
+ i++;
+ }
+ else {
+ targetDirPath = QString::null;
+ }
+ }
+ else if ( a == "--tmp" || a == "-t" ) {
+ has_tmp = true;
+ if ( i < argc-1 && !QString( argv[i+1] ).startsWith("-") ) {
+ tmpDirPath = argv[i+1];
+ i++;
+ }
+ else {
+ tmpDirPath = QString::null;
+ }
+ }
+ else if ( a == "--file" || a == "-f" ) {
+ has_xml = true;
+ if ( i < argc-1 && !QString( argv[i+1] ).startsWith("-") ) {
+ xmlFileName = argv[i+1];
+ i++;
+ }
+ else {
+ xmlFileName = QString::null;
+ }
+ }
+ else if ( a == "--all-from-sources" || a == "-a" ) {
+ force_src = true;
+ }
+ else if ( a == "--single-directory" || a == "-s" ) {
+ single_dir = true;
+ }
+ }
+ if ( has_xml && xmlFileName.isEmpty() ) {
+ printf("Please specify the configuration XML file!\n");
+ return 1;
+ }
+ if ( has_target && targetDirPath.isEmpty() ) {
+ printf("Please specify the target directory path!\n");
+ return 1;
}
- else {
- QMessageBox::critical( 0,
- QObject::tr( "Error" ),
- QObject::tr( "Can't open config file:\n%1\n\nQuitting...").arg( xmlFileName ),
- QMessageBox::Ok,
- QMessageBox::NoButton,
- QMessageBox::NoButton );
+ if ( has_tmp && tmpDirPath.isEmpty() ) {
+ printf("Please specify the temprary directory path!\n");
+ return 1;
+ }
+
+ QApplication a( argc, argv );
+ a.setFont( QFont( "Sans", 12 ) );
+
+ if ( has_xml ) {
+ QFile xmlfile(xmlFileName);
+ if ( !xmlfile.exists() ) {
+ QMessageBox::critical( 0,
+ QObject::tr( "Error" ),
+ QObject::tr( "Can't open config file:\n%1\n\nQuitting...").arg( xmlFileName ),
+ QMessageBox::Ok,
+ QMessageBox::NoButton,
+ QMessageBox::NoButton );
+ return -1;
+ }
}
- return result;
+ SALOME_InstallWizard wizard(xmlFileName, targetDirPath, tmpDirPath, force_src, single_dir);
+ a.setMainWidget( &wizard );
+ wizard.show();
+ return a.exec();
}