X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolCreatorBase.cxx;h=e5d60bde56758cbde8adf32252e004563d7e1877;hb=2dad4a649b5e61f450b47047f379fcc351b50215;hp=90c95a033d3abe768d56f6c54be3b5bb7ef9335e;hpb=0083c3fb2c66812489631c7551709d121de51625;p=clitk.git diff --git a/vv/vvToolCreatorBase.cxx b/vv/vvToolCreatorBase.cxx index 90c95a0..e5d60bd 100644 --- a/vv/vvToolCreatorBase.cxx +++ b/vv/vvToolCreatorBase.cxx @@ -1,3 +1,21 @@ +/*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv + + Authors belong to: + - University of LYON http://www.universite-lyon.fr/ + - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the copyright notices for more information. + + It is distributed under dual licence + + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +======================================================================-====*/ + #include "vvToolCreatorBase.h" #include "vvToolManager.h" #include @@ -5,15 +23,27 @@ //------------------------------------------------------------------------------ vvToolCreatorBase::vvToolCreatorBase(QString name): mExperimental(false) { + mUseContextMenu = false; mToolName = name; vvToolManager::GetInstance()->AddTool(this); } //------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +void vvToolCreatorBase::MenuToolSlot() { + mSender = QObject::sender(); + MenuSpecificToolSlot(); +} +//------------------------------------------------------------------------------ + //------------------------------------------------------------------------------ void vvToolCreatorBase::InsertToolInMenu(vvMainWindowBase * m) { mMainWindow = m; + if (mUseContextMenu) { + InsertToolInContextMenu(); + return; + } // Create main action if (mToolIconFilename == "noicon") mAction = new QAction(QString("&").append(mToolMenuName), this); @@ -30,3 +60,23 @@ void vvToolCreatorBase::InsertToolInMenu(vvMainWindowBase * m) { } //------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +void vvToolCreatorBase::InsertToolInContextMenu() { + mMainWindow->GetContextMenu()->addMenu(mToolMenu); + for(unsigned int i=0; iactions().size(); i++) { + mListOfActions.push_back(m->actions()[i]); + } + mUseContextMenu = true; +} +//------------------------------------------------------------------------------