]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
enable loading resources of MESH plugings by prepending plugin name to
authoreap <eap@opencascade.com>
Thu, 17 Apr 2008 07:27:50 +0000 (07:27 +0000)
committereap <eap@opencascade.com>
Thu, 17 Apr 2008 07:27:50 +0000 (07:27 +0000)
pixMap name

src/SalomeApp/SalomeApp_DataObject.cxx

index dd9ff896078cce00674d647eb20eadf4a3ef6c41..58a30df016eef31487c90d21345db851914308d3 100644 (file)
@@ -106,11 +106,19 @@ QPixmap SalomeApp_DataObject::icon() const
   if ( myObject && myObject->FindAttribute( anAttr, "AttributePixMap" ) ){
     _PTR(AttributePixMap) aPixAttr ( anAttr );
     if ( aPixAttr->HasPixMap() ){
-      QString pixmapName = QObject::tr( aPixAttr->GetPixMap().c_str() );
+      QString componentType = componentDataType();
+      QString pixmapID      = aPixAttr->GetPixMap().c_str();
+      // select a plugin within a component
+      QStringList plugin_pixmap = QStringList::split(QString("::"), pixmapID);
+      if ( plugin_pixmap.size() == 2 ) {
+        componentType = plugin_pixmap.front();
+        pixmapID      = plugin_pixmap.back();
+      }
+      QString pixmapName = QObject::tr( pixmapID );
       LightApp_RootObject* aRoot = dynamic_cast<LightApp_RootObject*>( root() );
       if ( aRoot && aRoot->study() ) {
        SUIT_ResourceMgr* mgr = aRoot->study()->application()->resourceMgr();
-       return mgr->loadPixmap( componentDataType(), pixmapName, false ); 
+       return mgr->loadPixmap( componentType, pixmapName, false ); 
       }
     }
   }