]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
New method setApplication added. This is used e.g. when a module instance is created...
authoradv <adv@opencascade.com>
Fri, 15 Oct 2010 07:42:29 +0000 (07:42 +0000)
committeradv <adv@opencascade.com>
Fri, 15 Oct 2010 07:42:29 +0000 (07:42 +0000)
src/CAM/CAM_Module.cxx
src/CAM/CAM_Module.h

index d3dde1a21557299bf381095074cfa5612bcc0aa7..580cf5948730826e1346e97676c46a4fa9b67716 100755 (executable)
@@ -91,7 +91,7 @@ CAM_Module::~CAM_Module()
 */
 void CAM_Module::initialize( CAM_Application* app )
 {
-  myApp = app;
+  setApplication( app );
   if ( myApp )
   {
     SUIT_Session* aSession = SUIT_Session::session();
@@ -101,6 +101,19 @@ void CAM_Module::initialize( CAM_Application* app )
     connect( myApp, SIGNAL( infoChanged( QString ) ), this, SLOT( onInfoChanged( QString ) ) );
   }
 }
+/*!
+  \brief Sets the application instance that owns this module.
+
+  This protected method allows derived module classes to set application object
+  from methods different from initalize(). This is used e.g. when
+  a module instance is created but not intialized by custom application class, 
+  still the module needs some minimal link to application.
+  \sa initialize()
+*/
+void CAM_Module::setApplication( CAM_Application* app )
+{
+  myApp = app;
+}
 
 /*!
   \brief Get module icon.
index 628623f115d4efcaece3e0895f3b09663b7c1ad4..f9aec9769d8bd014dc80206e854d02c140d7e10c 100755 (executable)
@@ -94,6 +94,7 @@ private slots:
   void                   onInfoChanged( QString );
 
 protected: 
+  virtual void           setApplication( CAM_Application* );
   virtual bool           isSelectionCompatible();
 
   virtual CAM_DataModel* createDataModel();