platforms = elem.attribute( "platforms" ).stripWhiteSpace();
QStringList platList = QStringList::split( ",", platforms );
for ( uint j = 0; j < platList.count(); j++ ) {
- if ( !platList[j].isEmpty() && xmlMap.find( platList[j] ) == xmlMap.end() )
- xmlMap[ platList[j] ] = xmlList[i];
+ if ( !platList[j].isEmpty() )
+ if ( xmlMap.find( platList[j] ) == xmlMap.end() ||
+ xmlMap[ platList[j] ] == "config.xml" )
+ xmlMap[ platList[j] ] = xmlList[i];
}
// if ( !curPlatform.isEmpty() && xmlMap.find( curPlatform ) != xmlMap.end() )
// return xmlMap;
return;
// get all prerequisites
QStringList dependOn = productsMap[ item ].getDependancies();
- // install MED without GUI case
- if ( installGuiBtn->state() != QButton::On && item->text(0) == "MED" ) {
+ // install SALOME without GUI case
+ if ( installGuiBtn->state() != QButton::On && woGuiModules.contains( item->text(0) ) != 0 ) {
dependOn.remove( "GUI" );
}
// setting prerequisites
for ( itProd = productsMap.begin(); itProd != productsMap.end(); ++itProd ) {
if ( itProd.data().getType() == productsMap[ item ].getType() ) {
QStringList dependOn = itProd.data().getDependancies();
- // install MED without GUI case
- if ( installGuiBtn->state() != QButton::On &&
- itProd.data().getName() == "MED" &&
- itemName != "KERNEL" ) {
- continue;
- }
for ( int i = 0; i < (int)dependOn.count(); i++ ) {
if ( dependOn[ i ] == itemName ) {
if ( itProd.key()->isOn() ) {
shellProcess->addArgument( "FALSE" );
// ... binaries directory
shellProcess->addArgument( binDir );
- // ... install MED with GUI or not?
- if ( prodProc == "MED" ) {
- if ( installGuiBtn->state() != QButton::On && prodProc == "MED" )
+ // ... install SALOME with GUI or not?
+ if ( woGuiModules.contains( prodProc ) != 0 ) {
+ if ( installGuiBtn->state() != QButton::On )
shellProcess->addArgument( "FALSE" );
else
shellProcess->addArgument( "TRUE" );
}
else {
QString itemName = itProd.data().getName();
- if ( itemName != "KERNEL" && itemName != "MED" &&
- itemName != "SAMPLES" && itemName != "DOCUMENTATION" ) {
+ if ( woGuiModules.contains( itemName ) == 0 ) {
itProd.key()->setOn( false );
itProd.key()->setEnabled( false );
}
if ( tempFolder->text().isEmpty() )
parser->setTempDir( tempFolder );
parser->readXmlFile( xmlFileName );
+ // create a list of SALOME modules, that support installation without GUI mode
+ if ( woGuiModules.isEmpty() ) {
+ MapProducts::Iterator mapIter;
+ for ( mapIter = productsMap.begin(); mapIter != productsMap.end(); mapIter++ ) {
+ Dependancies dep = mapIter.data();
+ if ( dep.supportWoGuiMode() )
+ woGuiModules.append( dep.getName() );
+ }
+ }
+
// update required size for each product
updateSizeColumn();
// take into account command line parameters
const QString& vers = QString::null,
const QString& descr = QString::null,
const QString& tp = QString::null,
- bool pickup = false )
+ bool pickup = false,
+ bool woGui = false )
: smbName( name ),
dependsOn( depend ),
sizeBinaryTotal( Binsize ),
version( vers ),
description( descr ),
type( tp ),
- pickupEnv( pickup ) {}
+ pickupEnv( pickup ),
+ woGuiMode( woGui ) {}
// gets symbolic name
QString getName() const { return smbName; }
QString getType() const { return type; }
// returns true if this product needs to pick-up environment
bool pickUpEnvironment() { return pickupEnv; }
+ // returns true if this product supports installation without GUI mode
+ bool supportWoGuiMode() { return woGuiMode; }
private:
QString smbName; // symbolic name
QString description; // product's description
QString type; // product's type (salome sources, binaries or prerequisite)
bool pickupEnv; // "Pick-up environment" flag
+ bool woGuiMode; // support of installation without GUI flag
};
/*!
QStringList toInstall; // list of products being installed
QStringList notInstall; // list of products being not installed
QStringList prodSequence; // specified list of products being installed
+ QStringList woGuiModules; // list of SALOME modules, that support installation without GUI mode
InstallationType installType; // type of the installation
QString curPlatform; // current operating system
QString refPlatform; // referenced operating system (selected by user). It is defined,