Back to index

salome-gui  6.5.0
LightApp_Module.cxx
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 // File:      LightApp_Module.cxx
00024 // Created:   6/20/2005 16:30:56 AM
00025 // Author:    OCC team
00026 
00027 #include "LightApp_Module.h"
00028 
00029 #include "CAM_Application.h"
00030 
00031 #include "LightApp_Application.h"
00032 #include "LightApp_DataModel.h"
00033 #include "LightApp_DataObject.h"
00034 #include "LightApp_Study.h"
00035 #include "LightApp_Preferences.h"
00036 #include "LightApp_Selection.h"
00037 #include "LightApp_Operation.h"
00038 #include "LightApp_SwitchOp.h"
00039 #include "LightApp_UpdateFlags.h"
00040 #include "LightApp_ShowHideOp.h"
00041 #include "LightApp_SelectionMgr.h"
00042 
00043 #include <SUIT_Study.h>
00044 #include <SUIT_DataObject.h>
00045 #include <SUIT_DataBrowser.h>
00046 #include <SUIT_Operation.h>
00047 #include <SUIT_ViewManager.h>
00048 #include <SUIT_ResourceMgr.h>
00049 #include <SUIT_ShortcutMgr.h>
00050 #include <SUIT_Desktop.h>
00051 #include <SUIT_TreeModel.h>
00052 
00053 #ifndef DISABLE_SALOMEOBJECT
00054 #include <SALOME_ListIO.hxx>
00055 #include <SALOME_ListIteratorOfListIO.hxx>
00056 #endif
00057 
00058 #ifndef DISABLE_VTKVIEWER
00059 #ifndef DISABLE_SALOMEOBJECT
00060   #include <SVTK_ViewWindow.h>
00061   #include <SVTK_ViewModel.h>
00062 #else
00063   #include <VTKViewer_ViewWindow.h>
00064 #endif
00065   #include <VTKViewer_ViewModel.h>
00066 #endif
00067 #ifndef DISABLE_OCCVIEWER
00068   #include <OCCViewer_ViewWindow.h>
00069   #include <OCCViewer_ViewPort3d.h>
00070 #ifndef DISABLE_SALOMEOBJECT
00071   #include <SOCC_ViewModel.h>
00072 #else
00073   #include <OCCViewer_ViewModel.h>
00074 #endif
00075 #endif
00076 #ifndef DISABLE_GLVIEWER
00077   #include <GLViewer_ViewFrame.h>
00078   #include <GLViewer_ViewPort.h>
00079 #endif
00080 #ifndef DISABLE_PLOT2DVIEWER
00081   #include <Plot2d_ViewWindow.h>
00082   #include <Plot2d_ViewFrame.h>
00083 #ifndef DISABLE_SALOMEOBJECT
00084   #include <SPlot2d_ViewModel.h>
00085 #else
00086   #include <Plot2d_ViewModel.h>
00087 #endif
00088 #endif
00089 
00090 #include <QtxPopupMgr.h>
00091 
00092 #include <QVariant>
00093 #include <QString>
00094 #include <QStringList>
00095 
00096 #include <iostream>
00097 
00099 LightApp_Module::LightApp_Module( const QString& name )
00100 : CAM_Module( name ),
00101   myPopupMgr( 0 ),
00102   mySwitchOp( 0 ),
00103   myDisplay( -1 ),
00104   myErase( -1 ),
00105   myDisplayOnly( -1 ),
00106   myEraseAll( -1 )
00107 {
00108 }
00109 
00111 LightApp_Module::~LightApp_Module()
00112 {
00113   if ( mySwitchOp )
00114     delete mySwitchOp;
00115 }
00116 
00118 void LightApp_Module::initialize( CAM_Application* app )
00119 {
00120   CAM_Module::initialize( app );
00121 
00122   SUIT_ResourceMgr* resMgr = app ? app->resourceMgr() : 0;
00123   if ( resMgr )
00124     resMgr->raiseTranslators( name() );
00125 }
00126 
00128 void LightApp_Module::windows( QMap<int, int>& ) const
00129 {
00130 }
00131 
00133 void LightApp_Module::viewManagers( QStringList& ) const
00134 {
00135 }
00136 
00138 void LightApp_Module::contextMenuPopup( const QString& client, QMenu* menu, QString& /*title*/ )
00139 {
00140   LightApp_Selection* sel = createSelection();
00141   sel->init( client, getApp()->selectionMgr() );
00142 
00143   popupMgr()->setSelection( sel );
00144   popupMgr()->setMenu( menu );
00145   popupMgr()->updateMenu();
00146 }
00147 
00151 void LightApp_Module::updateObjBrowser( bool theIsUpdateDataModel, 
00152                                         SUIT_DataObject* theDataObject )
00153 {
00154   bool upd = getApp()->objectBrowser()->autoUpdate();
00155   getApp()->objectBrowser()->setAutoUpdate( false );
00156 
00157   if( theIsUpdateDataModel ){
00158     if( CAM_DataModel* aDataModel = dataModel() ){
00159       if ( LightApp_DataModel* aModel = dynamic_cast<LightApp_DataModel*>( aDataModel ) ) {
00160         //SUIT_DataObject* aParent = NULL;
00161         //if(theDataObject && theDataObject != aDataModel->root())
00162         //  aParent = theDataObject->parent();
00163 
00164         LightApp_DataObject* anObject = dynamic_cast<LightApp_DataObject*>(theDataObject);
00165         LightApp_Study* aStudy = dynamic_cast<LightApp_Study*>(getApp()->activeStudy());
00166         aModel->update( anObject, aStudy );
00167       }
00168     }
00169   }
00170 
00171   getApp()->objectBrowser()->setAutoUpdate( upd );
00172   getApp()->objectBrowser()->updateTree( 0, false );
00173 }
00174 
00176 void LightApp_Module::selectionChanged()
00177 {
00178 }
00179 
00182 bool LightApp_Module::isSelectionCompatible()
00183 {
00184   // return true if selected objects belong to this module
00185   bool isCompatible = true;
00186 #ifndef DISABLE_SALOMEOBJECT
00187   SALOME_ListIO selected;
00188   if ( LightApp_SelectionMgr *Sel = getApp()->selectionMgr() )
00189     Sel->selectedObjects( selected );
00190 
00191   LightApp_Study* aStudy = dynamic_cast<LightApp_Study*>( getApp()->activeStudy() );
00192   LightApp_DataObject* aRoot = dynamic_cast<LightApp_DataObject*>( dataModel()->root() );
00193   if ( aStudy && aRoot ) {
00194     // my data type
00195     QString moduleDataType = aRoot->componentDataType();
00196     // check data type of selection
00197     SALOME_ListIteratorOfListIO It( selected );
00198     for ( ; isCompatible && It.More(); It.Next()) {
00199       Handle(SALOME_InteractiveObject)& io = It.Value();
00200       isCompatible = ( aStudy->componentDataType( io->getEntry() ) == moduleDataType );
00201     }
00202   }
00203 #endif
00204   return isCompatible;
00205 }
00206 
00208 bool LightApp_Module::activateModule( SUIT_Study* study )
00209 {
00210   bool res = CAM_Module::activateModule( study );
00211 
00212   if ( !isSelectionCompatible() )// PAL19290, PAL18352
00213     getApp()->selectionMgr()->clearSelected();
00214 
00215   if ( res && application() && application()->resourceMgr() )
00216     application()->resourceMgr()->raiseTranslators( name() );
00217 
00218   connect( application(), SIGNAL( viewManagerAdded( SUIT_ViewManager* ) ),
00219            this, SLOT( onViewManagerAdded( SUIT_ViewManager* ) ) );
00220   connect( application(), SIGNAL( viewManagerRemoved( SUIT_ViewManager* ) ),
00221            this, SLOT( onViewManagerRemoved( SUIT_ViewManager* ) ) );
00222 
00223   if ( mySwitchOp == 0 )
00224     mySwitchOp = new LightApp_SwitchOp( this );
00225 
00226   // Enable Display and Erase actions
00227   if ( action(myDisplay) )
00228     action(myDisplay)->setEnabled(true);
00229   if ( action(myErase) )
00230     action(myErase)->setEnabled(true);
00231 
00232   application()->shortcutMgr()->setSectionEnabled( moduleName() );
00233 
00234   /*  BUG 0020498 : The Entry column is always shown at module activation
00235       The registration of column is moved into LightApp_Application
00236 
00237   QString EntryCol = QObject::tr( "ENTRY_COLUMN" );
00238   LightApp_DataModel* m = dynamic_cast<LightApp_DataModel*>( dataModel() );
00239   if( m )
00240   {
00241     SUIT_AbstractModel* treeModel = dynamic_cast<SUIT_AbstractModel*>( getApp()->objectBrowser()->model() );
00242     m->registerColumn( getApp()->objectBrowser(), EntryCol, LightApp_DataObject::EntryId );
00243     treeModel->setAppropriate( EntryCol, Qtx::Toggled );
00244   }*/
00245   return res;
00246 }
00247 
00249 bool LightApp_Module::deactivateModule( SUIT_Study* study )
00250 {
00251   delete mySwitchOp;
00252   mySwitchOp = 0;
00253 
00254   disconnect( application(), SIGNAL( viewManagerAdded( SUIT_ViewManager* ) ),
00255               this, SLOT( onViewManagerAdded( SUIT_ViewManager* ) ) );
00256   disconnect( application(), SIGNAL( viewManagerRemoved( SUIT_ViewManager* ) ),
00257               this, SLOT( onViewManagerRemoved( SUIT_ViewManager* ) ) );
00258 
00259   // abort all operations
00260   MapOfOperation::const_iterator anIt;
00261   for( anIt = myOperations.begin(); anIt != myOperations.end(); anIt++ ) {
00262     anIt.value()->abort();
00263   }
00264 
00265   // Disable Display and Erase action
00266   if ( action(myDisplay) )
00267     action(myDisplay)->setEnabled(false);
00268   if ( action(myErase) )
00269     action(myErase)->setEnabled(false);
00270 
00271   application()->shortcutMgr()->setSectionEnabled( moduleName(), false );
00272   
00273   /*  BUG 0020498 : The Entry column is always shown at module activation
00274   QString EntryCol = QObject::tr( "ENTRY_COLUMN" );
00275   LightApp_DataModel* m = dynamic_cast<LightApp_DataModel*>( dataModel() );
00276   if( m )
00277   {
00278     SUIT_AbstractModel* treeModel = dynamic_cast<SUIT_AbstractModel*>( getApp()->objectBrowser()->model() );
00279 
00280     treeModel->setAppropriate( EntryCol, Qtx::Shown );
00281     m->unregisterColumn( getApp()->objectBrowser(), EntryCol );
00282   }
00283   */
00284   return CAM_Module::deactivateModule( study );
00285 }
00286 
00288 void LightApp_Module::MenuItem()
00289 {
00290 }
00291 
00293 void LightApp_Module::createPreferences()
00294 {
00295 }
00296 
00298 void LightApp_Module::preferencesChanged( const QString&, const QString& )
00299 {
00300 }
00301 
00303 void LightApp_Module::message( const QString& )
00304 {
00305 }
00306 
00308 LightApp_Application* LightApp_Module::getApp() const
00309 {
00310   return (LightApp_Application*)application();
00311 }
00312 
00321 void LightApp_Module::update( const int theFlags )
00322 {
00323   if ( theFlags & UF_Model )
00324   {
00325     if( CAM_DataModel* aDataModel = dataModel() )
00326       if( LightApp_DataModel* aModel = dynamic_cast<LightApp_DataModel*>( aDataModel ) )
00327         aModel->update( 0, dynamic_cast<LightApp_Study*>( getApp()->activeStudy() ) );
00328   }
00329 
00330   if ( theFlags & UF_ObjBrowser )
00331     getApp()->objectBrowser()->updateTree( 0 );
00332 
00333   if ( theFlags & UF_Controls )
00334     updateControls();
00335   if ( theFlags & UF_Viewer )
00336   {
00337     if ( SUIT_ViewManager* viewMgr = getApp()->activeViewManager() )
00338       if ( SUIT_ViewWindow* viewWnd = viewMgr->getActiveView() )
00339       {
00340 #ifndef DISABLE_VTKVIEWER
00341 #ifndef DISABLE_SALOMEOBJECT
00342         if ( viewWnd->inherits( "SVTK_ViewWindow" ) )
00343           ( (SVTK_ViewWindow*)viewWnd )->Repaint();
00344 #else
00345         if ( viewWnd->inherits( "VTKViewer_ViewWindow" ) )
00346           ( (VTKViewer_ViewWindow*)viewWnd )->Repaint();
00347 #endif
00348 #endif
00349 #ifndef DISABLE_OCCVIEWER
00350         if ( viewWnd->inherits( "OCCViewer_ViewWindow" ) )
00351           ( (OCCViewer_ViewWindow*)viewWnd )->getViewPort()->onUpdate();
00352 #endif
00353 #ifndef DISABLE_PLOT2DVIEWER
00354         if ( viewWnd->inherits( "Plot2d_ViewWindow" ) )
00355           ( (Plot2d_ViewWindow*)viewWnd )->getViewFrame()->Repaint();
00356 #endif
00357 #ifndef DISABLE_GLVIEWER
00358         if ( viewWnd->inherits( "GLViewer_ViewFrame" ) )
00359           ( (GLViewer_ViewFrame*)viewWnd )->getViewPort()->onUpdate();
00360 #endif
00361       }
00362   }
00363 }
00370 void LightApp_Module::updateControls()
00371 {
00372 }
00373 
00375 CAM_DataModel* LightApp_Module::createDataModel()
00376 {
00377   return new LightApp_DataModel( this );
00378 }
00379 
00381 LightApp_Selection* LightApp_Module::createSelection() const
00382 {
00383   return new LightApp_Selection();
00384 }
00385 
00387 void LightApp_Module::onModelOpened()
00388 {
00389 }
00390 
00392 void LightApp_Module::onModelSaved()
00393 {
00394 }
00395 
00397 void LightApp_Module::onModelClosed()
00398 {
00399 }
00400 
00402 QtxPopupMgr* LightApp_Module::popupMgr()
00403 {
00404   if ( !myPopupMgr )
00405   {
00406     myPopupMgr = new QtxPopupMgr( 0, this );
00407 
00408     QPixmap p;
00409     SUIT_Desktop* d = application()->desktop();
00410     
00411     QAction 
00412       *disp = createAction( -1, tr( "TOP_SHOW" ), p, tr( "MEN_SHOW" ), tr( "STB_SHOW" ),
00413                             0, d, false, this, SLOT( onShowHide() ), QString("General:Show object(s)") ),
00414       *erase = createAction( -1, tr( "TOP_HIDE" ), p, tr( "MEN_HIDE" ), tr( "STB_HIDE" ),
00415                              0, d, false, this, SLOT( onShowHide() ) , QString("General:Hide object(s)") ),
00416       *dispOnly = createAction( -1, tr( "TOP_DISPLAY_ONLY" ), p, tr( "MEN_DISPLAY_ONLY" ), tr( "STB_DISPLAY_ONLY" ),
00417                                 0, d, false, this, SLOT( onShowHide() ) ),
00418       *eraseAll = createAction( -1, tr( "TOP_ERASE_ALL" ), p, tr( "MEN_ERASE_ALL" ), tr( "STB_ERASE_ALL" ),
00419                                 0, d, false, this, SLOT( onShowHide() ) );
00420     myDisplay     = actionId( disp );
00421     myErase       = actionId( erase );
00422     myDisplayOnly = actionId( dispOnly );
00423     myEraseAll    = actionId( eraseAll );
00424 
00425     myPopupMgr->insert( disp, -1, 0 ); 
00426     myPopupMgr->insert( erase, -1, 0 );
00427     myPopupMgr->insert( dispOnly, -1, 0 );
00428     myPopupMgr->insert( eraseAll, -1, 0 );
00429     myPopupMgr->insert( separator(), -1, 0 );
00430 
00431     QString oneAndNotActive = "( count( $component ) = 1 ) and ( not( activeModule in $component ) )";
00432     QString uniform = "true in $canBeDisplayed and %1 and ( activeModule = '%2' )";
00433     uniform = uniform.arg( oneAndNotActive ).arg( name() );
00434     myPopupMgr->setRule( disp, /*QString( "( not isVisible ) and " ) + */ uniform, QtxPopupMgr::VisibleRule );
00435     myPopupMgr->setRule( erase, /*QString( "( isVisible ) and " ) + */ uniform, QtxPopupMgr::VisibleRule );
00436     myPopupMgr->setRule( dispOnly, uniform, QtxPopupMgr::VisibleRule );
00437 
00438     QStringList viewers;
00439 
00440 #ifndef DISABLE_OCCVIEWER
00441 #ifndef DISABLE_SALOMEOBJECT
00442     viewers.append( SOCC_Viewer::Type() );
00443 #else
00444     viewers.append( OCCViewer_Viewer::Type() );
00445 #endif
00446 #endif
00447 #ifndef DISABLE_VTKVIEWER
00448 #ifndef DISABLE_SALOMEOBJECT
00449     viewers.append( SVTK_Viewer::Type() );
00450 #else
00451     viewers.append( VTKViewer_Viewer::Type() );
00452 #endif
00453 #endif
00454 #ifndef DISABLE_PLOT2DVIEWER
00455 #ifndef DISABLE_SALOMEOBJECT
00456     viewers.append( SPlot2d_Viewer::Type() );
00457 #else
00458     viewers.append( Plot2d_Viewer::Type() );
00459 #endif
00460 #endif
00461 
00462     if( !viewers.isEmpty() )
00463     {
00464       QString strViewers = "{ ", temp = "'%1' ";
00465       QStringList::const_iterator anIt = viewers.begin(), aLast = viewers.end();
00466       for( ; anIt!=aLast; anIt++ )
00467         strViewers+=temp.arg( *anIt );
00468       strViewers+="}";
00469       myPopupMgr->setRule( eraseAll, QString( "client in %1" ).arg( strViewers ), QtxPopupMgr::VisibleRule );
00470     }
00471   }
00472   return myPopupMgr;
00473 }
00474 
00476 LightApp_Preferences* LightApp_Module::preferences() const
00477 {
00478   LightApp_Preferences* pref = 0;
00479   if ( getApp() )
00480     pref = getApp()->preferences();
00481   return pref;
00482 }
00483 
00485 int LightApp_Module::addPreference( const QString& label )
00486 {
00487   LightApp_Preferences* pref = preferences();
00488   if ( !pref )
00489     return -1;
00490 
00491   int catId = pref->addPreference( moduleName(), -1 );
00492   if ( catId == -1 )
00493     return -1;
00494 
00495   return pref->addPreference( label, catId );
00496 }
00497 
00499 int LightApp_Module::addPreference( const QString& label, const int pId, const int type,
00500                                     const QString& section, const QString& param )
00501 {
00502   LightApp_Preferences* pref = preferences();
00503   if ( !pref )
00504     return -1;
00505 
00506   return pref->addPreference( moduleName(), label, pId, type, section, param );
00507 }
00508 
00510 QVariant LightApp_Module::preferenceProperty( const int id, const QString& prop ) const
00511 {
00512   QVariant var;
00513   LightApp_Preferences* pref = preferences();
00514   if ( pref )
00515     var = pref->itemProperty( prop, id );
00516   return var;
00517 }
00518 
00520 void LightApp_Module::setPreferenceProperty( const int id, const QString& prop, const QVariant& var )
00521 {
00522   LightApp_Preferences* pref = preferences();
00523   if ( pref )
00524     pref->setItemProperty( prop, var, id );
00525 }
00526 
00535 void LightApp_Module::startOperation( const int id )
00536 {
00537   LightApp_Operation* op = 0;
00538   if( myOperations.contains( id ) && reusableOperation( id ) )
00539     op = myOperations[ id ];
00540   else
00541   {
00542     op = createOperation( id );
00543     if( op )
00544     {
00545       myOperations.insert( id, op );
00546       op->setModule( this );
00547       connect( op, SIGNAL( stopped( SUIT_Operation* ) ), this, SLOT( onOperationStopped( SUIT_Operation* ) ) );
00548       connect( op, SIGNAL( destroyed() ), this, SLOT( onOperationDestroyed() ) );
00549     }
00550   }
00551 
00552   if( op )
00553   {
00554     // be sure that operation has correct study pointer
00555     op->setStudy( application() ? application()->activeStudy() : 0 );
00556     op->start();
00557   }
00558 }
00559 
00569 LightApp_Operation* LightApp_Module::createOperation( const int id ) const
00570 {
00571   if( id==-1 )
00572     return 0;
00573 
00574   if( id==myDisplay )
00575     return new LightApp_ShowHideOp( LightApp_ShowHideOp::DISPLAY );
00576   else if( id==myErase )
00577     return new LightApp_ShowHideOp( LightApp_ShowHideOp::ERASE );
00578   else if( id==myDisplayOnly )
00579     return new LightApp_ShowHideOp( LightApp_ShowHideOp::DISPLAY_ONLY );
00580   else if( id==myEraseAll )
00581     return new LightApp_ShowHideOp( LightApp_ShowHideOp::ERASE_ALL );
00582   else
00583     return 0;
00584 }
00585 
00593 void LightApp_Module::onOperationStopped( SUIT_Operation* /*theOp*/ )
00594 {
00595 }
00596 
00605 void LightApp_Module::onOperationDestroyed()
00606 {
00607   const QObject* s = sender();
00608   if( s && s->inherits( "LightApp_Operation" ) )
00609   {
00610     const LightApp_Operation* op = ( LightApp_Operation* )s;
00611     MapOfOperation::const_iterator anIt = myOperations.begin(),
00612                                    aLast = myOperations.end();
00613     for( ; anIt!=aLast; anIt++ )
00614       if( anIt.value()==op )
00615       {
00616         myOperations.remove( anIt.key() );
00617         break;
00618       }
00619   }
00620 }
00621 
00626 LightApp_Displayer* LightApp_Module::displayer()
00627 {
00628   return 0;
00629 }
00630 
00634 void LightApp_Module::onShowHide()
00635 {
00636   if( !sender()->inherits( "QAction" ) || !popupMgr() )
00637     return;
00638 
00639   QAction* act = ( QAction* )sender();
00640   int id = actionId( act );
00641   if( id!=-1 )
00642     startOperation( id );
00643 }
00644 
00648 void LightApp_Module::onViewManagerAdded( SUIT_ViewManager* )
00649 {
00650 }
00651 
00655 void LightApp_Module::onViewManagerRemoved( SUIT_ViewManager* )
00656 {
00657 }
00658 
00665 LightApp_Operation* LightApp_Module::operation( const int id ) const
00666 {
00667   return myOperations.contains( id ) ? myOperations[id] : 0;
00668 }
00669 
00673 bool LightApp_Module::reusableOperation( const int id )
00674 {
00675  return true;
00676 } 
00677 
00682 bool LightApp_Module::canCopy() const
00683 {
00684   return false;
00685 }
00686 
00691 bool LightApp_Module::canPaste() const
00692 {
00693   return false;
00694 }
00695 
00700 void LightApp_Module::copy()
00701 {
00702 }
00703 
00708 void LightApp_Module::paste()
00709 {
00710 }
00711 
00716 bool LightApp_Module::isDraggable( const SUIT_DataObject* /*what*/ ) const
00717 {
00718   return false;
00719 }
00720 
00725 bool LightApp_Module::isDropAccepted( const SUIT_DataObject* /*where*/ ) const
00726 {
00727   return false;
00728 }
00729 
00735 void LightApp_Module::dropObjects( const DataObjectList& /*what*/, SUIT_DataObject* /*where*/,
00736                                    const int /*row*/, Qt::DropAction /*action*/ )
00737 {
00738 }
00739 
00743 bool LightApp_Module::renameAllowed( const QString& /*entry*/ ) const
00744 {
00745   return false;
00746 }
00747 
00754 bool LightApp_Module::renameObject( const QString& /*entry*/, const QString& /*name*/ )
00755 {
00756   return false;
00757 }
00758 
00759 
00760 
00761 int LightApp_Module::createMenu( const QString& subMenu, const int menu, const int id, const int group, const int idx )
00762 {
00763   return CAM_Module::createMenu( subMenu, menu, id, group, idx );
00764 }
00765 int LightApp_Module::createMenu( const QString& subMenu, const QString& menu, const int id, const int group, const int idx )
00766 {
00767   return CAM_Module::createMenu( subMenu, menu, id, group, idx );
00768 }
00769 int LightApp_Module::createMenu( const int id, const int menu, const int group, const int idx )
00770 {
00771   return CAM_Module::createMenu( id, menu, group, idx );
00772 }
00773 int LightApp_Module::createMenu( const int id, const QString& menu, const int group, const int idx )
00774 {
00775   return CAM_Module::createMenu( id, menu, group, idx );
00776 }
00777 int LightApp_Module::createMenu( QAction* a, const int menu, const int id, const int group, const int idx )
00778 {
00779   return CAM_Module::createMenu( a, menu, id, group, idx );
00780 }
00781 int LightApp_Module::createMenu( QAction* a, const QString& menu, const int id, const int group, const int idx )
00782 {
00783   return CAM_Module::createMenu( a, menu, id, group, idx );
00784 }