Salome HOME
updated copyright message
[modules/gui.git] / src / LightApp / LightApp_Displayer.cxx
index cde6ceadf9a2e25c4f0ccc312e17d371905211d1..a27a9f08c66e36a2ed77e189dc2329c9674cfc7f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -88,7 +88,7 @@ void LightApp_Displayer::Display( const QStringList& list, const bool updateView
       {
        myLastEntry = *it;
         vf->BeforeDisplay( this, prs );
-        vf->Display( prs );
+        vf->Display( this, prs );
         vf->AfterDisplay( this, prs );
 
         if ( updateViewer )
@@ -97,7 +97,6 @@ void LightApp_Displayer::Display( const QStringList& list, const bool updateView
       delete prs;  // delete presentation because displayer is its owner
       setVisibilityState(*it, Qtx::ShownState);
     }
-
   }
 }
 
@@ -170,11 +169,11 @@ void LightApp_Displayer::Erase( const QStringList& list, const bool forced,
   QStringList::const_iterator it = list.constBegin();
   for ( ; it != list.constEnd(); ++it)
   {
-    SALOME_Prs* prs = vf->CreatePrs( (*it).toLatin1().data() );
+    SALOME_Prs* prs = vf->CreatePrs( (*it).toUtf8().data() );
     if ( prs ) {
       myLastEntry = *it;
       vf->BeforeErase( this, prs );
-      vf->Erase( prs, forced );
+      vf->Erase( this, prs, forced );
       vf->AfterErase( this, prs );
       if ( updateViewer )
         vf->Repaint();
@@ -190,12 +189,12 @@ void LightApp_Displayer::Erase( const QStringList& list, const bool forced,
   \param updateViewer - is it necessary to update viewer
   \param theViewFrame - view
 */
-void LightApp_Displayer::EraseAll( const bool forced, const bool updateViewer, SALOME_View* theViewFrame ) const
+void LightApp_Displayer::EraseAll( const bool forced, const bool updateViewer, SALOME_View* theViewFrame )
 {
   SALOME_View* vf = theViewFrame ? theViewFrame : GetActiveView();
 
   if ( vf ) {
-    vf->EraseAll( forced );
+    vf->EraseAll( this, forced );
     if ( updateViewer )
       vf->Repaint();
   }
@@ -219,7 +218,7 @@ bool LightApp_Displayer::IsDisplayed( const QString& entry, SALOME_View* theView
   {
 #ifndef DISABLE_SALOMEOBJECT
     Handle( SALOME_InteractiveObject ) temp = new SALOME_InteractiveObject();
-    temp->setEntry( entry.toLatin1() );
+    temp->setEntry( entry.toUtf8() );
     res = vf->isVisible( temp );
 #endif
   }
@@ -249,7 +248,7 @@ SALOME_Prs* LightApp_Displayer::buildPresentation( const QString& entry, SALOME_
   SALOME_View* vf = theViewFrame ? theViewFrame : GetActiveView();
 
   if ( vf )
-    prs = vf->CreatePrs( entry.toLatin1() );
+    prs = vf->CreatePrs( entry.toUtf8() );
 
   return prs;
 }
@@ -299,33 +298,36 @@ bool LightApp_Displayer::canBeDisplayed( const QString& entry ) const
 
 /*!
   \return displayer, corresponding to module
-  \param mod_name - name of module
+  \param mod_name - name or title of module.
+  \note It is better to use name (component data type)
+        in any case when you are not sure the title is not empty.
   \param load - is module has to be forced loaded
 */
 LightApp_Displayer* LightApp_Displayer::FindDisplayer( const QString& mod_name, const bool load )
 {
+  QString mname = LightApp_Application::moduleDisplayer( mod_name );
   SUIT_Session* session = SUIT_Session::session();
   SUIT_Application* sapp = session ? session->activeApplication() : 0;
   LightApp_Application* app = dynamic_cast<LightApp_Application*>( sapp );
   if( !app )
     return 0;
 
-  LightApp_Module* m = dynamic_cast<LightApp_Module*>( app ? app->module( mod_name ) : 0 );
+  LightApp_Module* m = dynamic_cast<LightApp_Module*>( app ? app->module( mname ) : 0 );
   bool wasLoaded = false;
   if( !m && load )
   {
-    m = dynamic_cast<LightApp_Module*>( app->loadModule( mod_name, false ) );
-       if( m ) {
+    m = dynamic_cast<LightApp_Module*>( app->loadModule( mname, false ) );
+    if( m ) {
       app->addModule( m );
-         wasLoaded = true;
-       }
+      wasLoaded = true;
+    }
   }
 
   if( m )
   {
     m->connectToStudy( dynamic_cast<CAM_Study*>( app->activeStudy() ) );
-       if( wasLoaded ) 
-               m->updateModuleVisibilityState();
+    if( wasLoaded ) 
+      m->updateModuleVisibilityState();
   }
   return m ? m->displayer() : 0;
 }