X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FLIGHTGUI%2FLIGHTGUI.cxx;h=8bba2f69b3171178ea4323e523cbbfd6cada7126;hb=becc0dc93a016e0aa36fad8671ea396cb667d436;hp=b6d5c75a52768a9e5e65869b7f13082b00b86319;hpb=03dfdfce99d81eb37603f590320a681802b76e64;p=samples%2Flight.git diff --git a/src/LIGHTGUI/LIGHTGUI.cxx b/src/LIGHTGUI/LIGHTGUI.cxx index b6d5c75..8bba2f6 100644 --- a/src/LIGHTGUI/LIGHTGUI.cxx +++ b/src/LIGHTGUI/LIGHTGUI.cxx @@ -1,9 +1,9 @@ -// Copyright (C) 2005-2013 OPEN CASCADE +// Copyright (C) 2005-2014 OPEN CASCADE // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -589,6 +589,43 @@ void LIGHTGUI::onClear() updateObjBrowser( true ); } +/*! + \brief Check if this object is can't be renamed in place + + This method can be re-implemented in the subclasses. + Return true in case if object isn't reference or component (module root). + + \param entry column id + \return \c true if the item can be renamed by the user in place (e.g. in the Object browser) +*/ +bool LIGHTGUI::renameAllowed( const QString& entry ) const +{ + LIGHTGUI_DataModel* dm = dynamic_cast( dataModel() ); + return dm && dm->lineNb( entry ) >= 0; +} + +/*! + Rename object by entry. + \param entry entry of the object + \param name new name of the object + \brief Return \c true if rename operation finished successfully, \c false otherwise. +*/ +bool LIGHTGUI::renameObject( const QString& entry, const QString& name ) +{ + bool result = false; + + LIGHTGUI_DataModel* dm = dynamic_cast( dataModel() ); + if ( dm && dm->lineNb( entry ) ) { + int id = LIGHTGUI_DataModel::id( entry ); + result = dm->setLineText( id, name ); + if ( result ) { + updateLine( id, true ); + updateObjBrowser( true ); + } + } + return result; +} + /*! \fn CAM_Module* createModule(); \brief Export module instance (factory function).