#include <OSD_Function.hxx>
#include <TCollection_AsciiString.hxx>
+static const char* SEPARATOR = ":";
+
extern "C"
{
# include <string.h>
/* find component icon */
QString iconfile = strdup(list_composants[ind].moduleicone) ;
QString modulename = strdup(list_composants[ind].modulename) ;
+ QString moduleusername = strdup(list_composants[ind].moduleusername) ;
+
+ MESSAGE ( " MODULE = " << modulename )
+ MESSAGE ( " MODULE icon = " << iconfile )
+ MESSAGE ( " MODULE username = " << moduleusername )
+
+ mapComponentName.insert( moduleusername, modulename );
+
resDir = resMgr->findFile(iconfile,modulename) ;
if (resDir)
{
+ MESSAGE ( "resDir" << resDir )
//resDir = QAD_Tools::addSlash(resDir) ;
//QPixmap Icone(resDir+iconfile) ;
QPixmap Icone( QAD_Tools::addSlash( resDir ) + iconfile );
QToolButton * toolb =
- new QToolButton( QIconSet( Icone ), modulename, QString::null, this,
+ new QToolButton( QIconSet( Icone ), moduleusername, QString::null, this,
SLOT( onButtonActiveComponent () ),tbComponent );
toolb->setToggleButton( true );
myComponentButton.append(toolb);
}
if ( !QString(list_composants[ind].modulename).isEmpty() )
- myCombo->insertItem( strdup(list_composants[ind].modulename) );
+ myCombo->insertItem( strdup(list_composants[ind].moduleusername) );
}
myPrefPopup.insertSeparator();
- QAction* dirAction = new QAction( "", tr("MEN_DESK_PREF_DIRICTORIES"), 0, this );
+ QAction* dirAction = new QAction( "", tr("MEN_DESK_PREF_DIRICTORIES"), ALT+Key_D, this );
QAD_ASSERT(connect( dirAction, SIGNAL(activated()), this, SLOT(onDirList() )));
dirAction->addTo( &myPrefPopup );
myStdActions.insert( PrefDirsId, dirAction );
//NRI : SAL2214
myWindowPopup.insertItem( tr("MEN_DESK_WINDOW_NEW3D"), &myNewViewPopup, WindowNew3dId );
- QAction* viewOCCAction = new QAction( "", tr("MEN_DESK_VIEW_OCC"), 0, this );
+ QAction* viewOCCAction = new QAction( "", tr("MEN_DESK_VIEW_OCC"), ALT+Key_O, this );
QAD_ASSERT(connect( viewOCCAction, SIGNAL(activated()), this, SLOT(onNewWindow3d() )));
viewOCCAction->addTo( &myNewViewPopup );
myStdActions.insert( ViewOCCId, viewOCCAction );
- QAction* viewVTKAction = new QAction( "", tr("MEN_DESK_VIEW_VTK"), 0, this );
+ QAction* viewVTKAction = new QAction( "", tr("MEN_DESK_VIEW_VTK"), ALT+Key_V, this );
QAD_ASSERT(connect( viewVTKAction, SIGNAL(activated()), this, SLOT(onNewWindow3d() )));
viewVTKAction->addTo( &myNewViewPopup );
myStdActions.insert( ViewVTKId, viewVTKAction );
- QAction* viewPlot2dAction = new QAction( "", tr("MEN_DESK_VIEW_PLOT2D"), 0, this );
+ QAction* viewPlot2dAction = new QAction( "", tr("MEN_DESK_VIEW_PLOT2D"), ALT+Key_P, this );
QAD_ASSERT(connect( viewPlot2dAction, SIGNAL(activated()), this, SLOT(onNewWindow3d() )));
viewPlot2dAction->addTo( &myNewViewPopup );
myStdActions.insert( ViewPlot2dId, viewPlot2dAction );
/* 'Help' actions
*/
/* contents */
- QAction* helpContentsAction = new QAction( "", tr("MEN_DESK_HELP_CONTENTS"), 0, this );
+ QAction* helpContentsAction = new QAction( "", tr("MEN_DESK_HELP_CONTENTS"), Key_F1, this );
helpContentsAction->setStatusTip ( tr("PRP_DESK_HELP_CONTENTS") );
QAD_ASSERT(connect( helpContentsAction, SIGNAL(activated()),
this, SLOT( onHelpContents() )));
return eng._retn();
}
+QString QAD_Desktop::getComponentName(const char *componentUserName)
+{
+ if ( mapComponentName.contains(componentUserName) )
+ return mapComponentName[ componentUserName ] ;
+ else
+ return "";
+}
+
+QString QAD_Desktop::getComponentUserName(const char *componentName)
+{
+ QMap<QString,QString>::Iterator it;
+ for( it = mapComponentName.begin(); it != mapComponentName.end(); ++it )
+ if (it.data() == componentName )
+ return it.key();
+ return "";
+}
+
/*!
gets application Help Window (and creates if necessary)
*/
tr("BUT_OK") );
} else if (myActiveComp != "") {
QApplication::setOverrideCursor( Qt::waitCursor );
- loadComponentData(myActiveComp);
+ loadComponentData(mapComponentName[myActiveComp]);
openStudy->updateObjBrowser(true);
QApplication::restoreOverrideCursor();
}
if (SCO->FindAttribute(anAttr, "AttributeName")) {
aName = SALOMEDS::AttributeName::_narrow(anAttr);
name = aName->Value();
- SALOME_ModuleCatalog::Acomponent_var Comp = myCatalogue->GetComponent( name );
+ SALOME_ModuleCatalog::Acomponent_var Comp = myCatalogue->GetComponent( mapComponentName[name] );
if ( !Comp->_is_nil() ) {
SALOME_ModuleCatalog::ListOfComponents_var list_type_composants =
QAD_ResourceMgr* resMgr = QAD_Desktop::createResourceManager();
if ( resMgr ) {
QString msg;
- if (!resMgr->loadResources( Component + "GUI", msg ))
+ if (!resMgr->loadResources( Component, msg ))
{
//NRI QCString errMsg;
// errMsg.sprintf( "Do not load all resources for module %sGUI.\n" ,
/* Parse xml file */
myXmlHandler = new QAD_XmlHandler();
myXmlHandler->setMainWindow(this);
- if (!myXmlHandler->setComponent(resMgr->resources(Component + "GUI"))) return false;
+ if (!myXmlHandler->setComponent(resMgr->resources( Component ))) return false;
- QString language = resMgr->language( Component + "GUI" );
+ QString language = resMgr->language( Component );
QString ComponentXml = Component + "_" + language + ".xml";
//ComponentXml = resMgr->resources(Component + "GUI") ;
//ComponentXml = QAD_Tools::addSlash(ComponentXml) ;
- ComponentXml = QAD_Tools::addSlash( resMgr->findFile( ComponentXml, Component + "GUI" ) ) + ComponentXml;
+ ComponentXml = QAD_Tools::addSlash( resMgr->findFile( ComponentXml, Component ) ) + ComponentXml;
QFile file( ComponentXml );
if ( !file.exists() || !file.open( IO_ReadOnly ) ) {
mySharedLibrary = OSD_SharedLibrary();
QString ComponentLib;
- QCString dir;
+ QCString libs;
QFileInfo fileInfo ;
- bool found = false;
- if ( dir = getenv("SALOME_SITE_DIR")) {
- dir = QAD_Tools::addSlash(dir) ;
- dir = dir + "lib" ;
- dir = QAD_Tools::addSlash(dir) ;
+ QString fileString ;
+ QString dir;
+
+ if ( libs = getenv("LD_LIBRARY_PATH")) {
+ MESSAGE ( " LD_LIBRARY_PATH : " << libs )
+ QStringList dirList = QStringList::split( SEPARATOR, libs, false ); // skip empty entries
+ for ( int i = dirList.count()-1; i >= 0; i-- ) {
+ dir = dirList[ i ];
#ifdef WNT
- dir = dir + "lib" + Component.latin1() + "GUI.dll" ;
+ fileString = QAD_Tools::addSlash( dir ) + "lib" + Component + "GUI.dll" ;
#else
- dir = dir + "lib" + Component.latin1() + "GUI.so" ;
+ fileString = QAD_Tools::addSlash( dir ) + "lib" + Component + "GUI.so" ;
#endif
- MESSAGE ( " GUI library = " << dir )
- fileInfo.setFile(dir) ;
- if (fileInfo.exists()) {
- ComponentLib = fileInfo.fileName() ;
- found = true;
+
+ fileInfo.setFile(fileString) ;
+ if (fileInfo.exists()) {
+ MESSAGE ( " GUI library = " << fileString )
+ ComponentLib = fileInfo.fileName() ;
+ break;
+ }
}
- }
+ MESSAGE ( " GUI library not found " )
+ }
+// bool found = false;
+// if ( dir = getenv("SALOME_SITE_DIR")) {
+// dir = QAD_Tools::addSlash(dir) ;
+// dir = dir + "lib" ;
+// dir = QAD_Tools::addSlash(dir) ;
+// dir = dir + "salome" ;
+// dir = QAD_Tools::addSlash(dir) ;
+// #ifdef WNT
+// dir = dir + "lib" + Component.latin1() + "GUI.dll" ;
+// #else
+// dir = dir + "lib" + Component.latin1() + "GUI.so" ;
+// #endif
+// MESSAGE ( " GUI library = " << dir )
+// fileInfo.setFile(dir) ;
+// if (fileInfo.exists()) {
+// ComponentLib = fileInfo.fileName() ;
+// found = true;
+// }
+// }
- if ( (dir = getenv("SALOME_ROOT_DIR")) && !found ) {
- dir = QAD_Tools::addSlash(dir) ;
- dir = dir + "lib" ;
- dir = QAD_Tools::addSlash(dir) ;
-#ifdef WNT
- dir = dir + "lib" + Component.latin1() + "GUI.dll" ;
-#else
- dir = dir + "lib" + Component.latin1() + "GUI.so" ;
-#endif
- MESSAGE ( " GUI library = " << dir )
- fileInfo.setFile(dir) ;
- if (fileInfo.exists()) {
- ComponentLib = fileInfo.fileName() ;
- found = true;
- }
- }
+// if ( (dir = getenv("SALOME_ROOT_DIR")) && !found ) {
+// dir = QAD_Tools::addSlash(dir) ;
+// dir = dir + "lib" ;
+// dir = QAD_Tools::addSlash(dir) ;
+// dir = dir + "salome" ;
+// dir = QAD_Tools::addSlash(dir) ;
+// #ifdef WNT
+// dir = dir + "lib" + Component.latin1() + "GUI.dll" ;
+// #else
+// dir = dir + "lib" + Component.latin1() + "GUI.so" ;
+// #endif
+// MESSAGE ( " GUI library = " << dir )
+// fileInfo.setFile(dir) ;
+// if (fileInfo.exists()) {
+// ComponentLib = fileInfo.fileName() ;
+// found = true;
+// }
+// }
mySharedLibrary.SetName(TCollection_AsciiString((char*)ComponentLib.latin1()).ToCString());
ok = mySharedLibrary.DlOpen(OSD_RTLD_LAZY);
}
myActiveStudy->setMessage(QString("Component : ") +
- aComponent->componentname() + " created " );
+ aComponent->componentusername() + " created " );
myActiveStudy->setMessage(QString("Type : ") +
QString::number(aComponent->component_type()));
myActiveStudy->setMessage(QString("Constraint : ") +
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
+ dir = dir + "salome" ;
+ dir = QAD_Tools::addSlash(dir) ;
#ifdef WNT
dir = dir + "libToolsGUI.dll" ;
#else
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
+ dir = dir + "salome" ;
+ dir = QAD_Tools::addSlash(dir) ;
#ifdef WNT
dir = dir + "libToolsGUI.dll" ;
#else
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
+ dir = dir + "salome" ;
+ dir = QAD_Tools::addSlash(dir) ;
dir = dir + QAD_XmlHandler::_bibmap[ id ].latin1() ;
MESSAGE ( " GUI library = " << dir );
fileInfo.setFile(dir) ;
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
+ dir = dir + "salome" ;
+ dir = QAD_Tools::addSlash(dir) ;
dir = dir + QAD_XmlHandler::_bibmap[ id ].latin1() ;
MESSAGE ( " GUI library = " << dir );
fileInfo.setFile(dir) ;
}
myActiveStudy->Selection( component );
- if ( !loadComponent(component) ) {
+ if ( !loadComponent(mapComponentName[component]) ) {
myCombo->setCurrentItem (0);
for ( QToolButton* aButton=myComponentButton.first(); aButton; aButton=myComponentButton.next() ) {
aButton->setOn(false);
}
// Open new component's data in active study if any
- if(isLoadData) loadComponentData(component);
+ if(isLoadData) loadComponentData(mapComponentName[component]);
oldSel->Clear();
myActiveStudy->updateObjBrowser(true);
repertoire=os.path.dirname(__file__)
path=[repertoire,]
-SALOME_ROOT_DIR = os.getenv("SALOME_ROOT_DIR")
-if SALOME_ROOT_DIR != None:
- path.append(os.path.join(SALOME_ROOT_DIR,"lib","python"+sys.version[:3],"site-packages","salome"))
-
-SALOME_SITE_DIR = os.getenv("SALOME_SITE_DIR")
-if SALOME_SITE_DIR != None:
- SALOME_SITE_NAME = os.getenv("SALOME_SITE_NAME")
- if SALOME_SITE_NAME != None:
- path.append(os.path.join(SALOME_SITE_DIR,"lib","python"+sys.version[:3],"site-packages",SALOME_SITE_NAME))
-
-#path=[repertoire,
-# os.path.join(repertoire,"..","lib","python"+sys.version[:3],"site-packages","salome"),
-# os.path.join(SALOME_ROOT_DIR,"lib","python"+sys.version[:3],"site-packages","salome"),
-# os.path.join(SALOME_SITE_DIR,"lib","python"+sys.version[:3],"site-packages","salome"),
-# ]
+KERNEL_ROOT_DIR = os.getenv("KERNEL_ROOT_DIR")
+if KERNEL_ROOT_DIR != None:
+ path.append(os.path.join(KERNEL_ROOT_DIR,"lib","python"+sys.version[:3],"site-packages","salome"))
+
+
+#
+import SALOME_ModuleCatalog
+from SALOME_NamingServicePy import *
+orb = CORBA.ORB_init([''], CORBA.ORB_ID)
+ns = SALOME_NamingServicePy_i(orb)
+modulecatalog = ns.Resolve('/Kernel/ModulCatalog')
+compos = []
+compos = modulecatalog.GetComponentList()
+
+for name in compos:
+ print name
+ MODULE_ROOT_DIR = os.getenv( name + "_ROOT_DIR" )
+ print MODULE_ROOT_DIR
+
+ if MODULE_ROOT_DIR != None:
+ path.append(os.path.join(MODULE_ROOT_DIR,"lib","python"+sys.version[:3],"site-packages","salome"))
+
+#SALOME_ROOT_DIR = os.getenv("SALOME_ROOT_DIR")
+#if SALOME_ROOT_DIR != None:
+# path.append(os.path.join(SALOME_ROOT_DIR,"lib","python"+sys.version[:3],"site-packages","salome"))
+
+#SALOME_SITE_DIR = os.getenv("SALOME_SITE_DIR")
+#if SALOME_SITE_DIR != None:
+# SALOME_SITE_NAME = os.getenv("SALOME_SITE_NAME")
+# if SALOME_SITE_NAME != None:
+# path.append(os.path.join(SALOME_SITE_DIR,"lib","python"+sys.version[:3],"site-packages",SALOME_SITE_NAME))
MESSAGE( str(path) )