1 // File: SalomeApp_Module.cxx
2 // Created: 10/25/2004 11:39:56 AM
3 // Author: Sergey LITONIN
4 // Copyright (C) CEA 2004
6 #include "SalomeApp_Module.h"
8 #include "SalomeApp_DataModel.h"
9 #include "SalomeApp_Application.h"
10 #include "SalomeApp_Study.h"
12 #include <OB_Browser.h>
14 #include <CAM_Study.h>
16 #include <SUIT_MessageBox.h>
17 #include <SUIT_ResourceMgr.h>
19 #include <QtxPopupMgr.h>
21 SalomeApp_Module::SalomeApp_Module( const QString& name )
27 SalomeApp_Module::~SalomeApp_Module()
31 void SalomeApp_Module::initialize( CAM_Application* app )
33 CAM_Module::initialize( app );
35 SUIT_ResourceMgr* resMgr = app ? app->resourceMgr() : 0;
37 resMgr->raiseTranslators( name() );
40 void SalomeApp_Module::activateModule( SUIT_Study* study )
42 CAM_Module::activateModule( study );
44 if ( application() && application()->resourceMgr() )
45 application()->resourceMgr()->raiseTranslators( name() );
48 void SalomeApp_Module::deactivateModule( SUIT_Study* )
52 void SalomeApp_Module::selectionChanged()
56 void SalomeApp_Module::MenuItem()
60 void SalomeApp_Module::windows( QMap<int, int>& ) const
64 void SalomeApp_Module::viewManagers( QStringList& ) const
68 QString SalomeApp_Module::engineIOR() const
70 // Return an empty string by default, to avoid any "default behavior".
71 // It means that SALOMEDS persistence is not used by a module by default.
72 // Each module can override this method to return either its actual engine's IOR,
73 // or simple the result returned by SalomeApp_Application::defaultEngineIOR()
77 SalomeApp_Application* SalomeApp_Module::getApp() const
79 return (SalomeApp_Application*)application();
82 void SalomeApp_Module::onModelOpened()
86 void SalomeApp_Module::onModelSaved()
90 void SalomeApp_Module::onModelClosed()
94 QtxPopupMgr* SalomeApp_Module::popupMgr()
97 myPopupMgr = new QtxPopupMgr( 0, this );
101 CAM_DataModel* SalomeApp_Module::createDataModel()
103 return new SalomeApp_DataModel(this);
106 void SalomeApp_Module::updateObjBrowser( bool updateDataModel, SUIT_DataObject* root )
108 if( updateDataModel )
109 if( CAM_DataModel* aDataModel = dataModel() )
110 if( SalomeApp_DataModel* aModel = dynamic_cast<SalomeApp_DataModel*>( aDataModel ) )
111 aModel->update( 0, dynamic_cast<SalomeApp_Study*>( getApp()->activeStudy() ) );
112 getApp()->objectBrowser()->updateTree( root );
115 void SalomeApp_Module::contextMenuPopup( const QString& client, QPopupMenu* menu, QString& /*title*/ )
117 SalomeApp_Selection* sel = createSelection();
118 sel->init( client, getApp()->selectionMgr() );
119 popupMgr()->updatePopup( menu, sel );
123 SalomeApp_Selection* SalomeApp_Module::createSelection() const
125 return new SalomeApp_Selection();