-/*!
- * Called when window activated
- */
-void SalomeApp_Application::onWindowActivated( SUIT_ViewWindow* theViewWindow )
-{
- SUIT_DataBrowser* anOB = objectBrowser();
- if( !anOB )
- return;
- SUIT_DataObject* rootObj = anOB->root();
- if( !rootObj )
- return;
-
- DataObjectList listObj = rootObj->children( true );
-
- SUIT_ViewModel* vmod = 0;
- if ( SUIT_ViewManager* vman = theViewWindow->getViewManager() )
- vmod = vman->getViewModel();
- updateVisibilityState( listObj, vmod );
-}
-
-/*!
- Update visibility state of given objects
- */
-void SalomeApp_Application::updateVisibilityState( DataObjectList& theList,
- SUIT_ViewModel* theViewModel )
-{
- LightApp_Study* aStudy = dynamic_cast<LightApp_Study*>(activeStudy());
-
- if(!theViewModel)
- return;
-
- SALOME_View* aView = dynamic_cast<SALOME_View*>( theViewModel );
-
- if (theList.isEmpty() || !aView || !aStudy)
- return;
-
- for ( DataObjectList::iterator itr = theList.begin(); itr != theList.end(); ++itr ) {
- LightApp_DataObject* obj = dynamic_cast<LightApp_DataObject*>(*itr);
-
- if (!obj || aStudy->isComponent(obj->entry()))
- continue;
-
- LightApp_Module* anObjModule = dynamic_cast<LightApp_Module*>(obj->module());
- Qtx::VisibilityState anObjState = Qtx::UnpresentableState;
-
- if(anObjModule) {
- LightApp_Displayer* aDisplayer = anObjModule->displayer();
- if(aDisplayer) {
- if( aDisplayer->canBeDisplayed(obj->entry(), theViewModel->getType()) ) {
- if(aDisplayer->IsDisplayed(obj->entry(),aView))
- anObjState = Qtx::ShownState;
- else
- anObjState = Qtx::HiddenState;
- }
- }
- aStudy->setVisibilityState( obj->entry(), anObjState );
- }
- }
-}
-
-/*!
- Called then view manager removed
-*/
-void SalomeApp_Application::onViewManagerRemoved( SUIT_ViewManager* )
-{
- ViewManagerList lst;
- viewManagers(lst);
- if( lst.count() == 1) { // in case if closed last view window
- LightApp_Study* aStudy = dynamic_cast<LightApp_Study*>(activeStudy());
- if(aStudy)
- aStudy->setVisibilityStateForAll(Qtx::UnpresentableState);
- }
-}
-