X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolBase.h;h=3cd4fbfd2acc55b466b98d435c5db46b0ee0715a;hb=83eb68efc39ad8fcb5e4e684afafcfc86b829c96;hp=532612fe33f598aa69d15430297c8df7a8ee2db6;hpb=0083c3fb2c66812489631c7551709d121de51625;p=clitk.git diff --git a/vv/vvToolBase.h b/vv/vvToolBase.h index 532612f..3cd4fbf 100644 --- a/vv/vvToolBase.h +++ b/vv/vvToolBase.h @@ -1,25 +1,55 @@ +/*========================================================================= + 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://www.centreleonberard.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 +===========================================================================**/ + #ifndef VVTOOLBASE_H #define VVTOOLBASE_H + #include "vvToolBaseBase.h" #include "vvToolCreator.h" +#include //------------------------------------------------------------------------------ template class vvToolBase : public vvToolBaseBase { public: vvToolBase(vvMainWindowBase * m); + virtual ~vvToolBase() {}; + static void Initialize(); // can't be virtual, must be overwritten - static void SetToolName(QString n) { vvToolCreator::mSingleton->mToolName = n; } - static void SetToolMenuName(QString n) { vvToolCreator::mSingleton->mToolMenuName = n; } - static void SetToolIconFilename(QString n) { vvToolCreator::mSingleton->mToolIconFilename = n; } - static void SetToolTip(QString n) { vvToolCreator::mSingleton->mToolTip = n; } - static void SetToolExperimental(bool exp) { vvToolCreator::mSingleton->mExperimental = exp; } + static void SetToolName(QString n) { vvToolCreator::GetInstance()->mToolName = n; } + static void SetToolMenuName(QString n) { vvToolCreator::GetInstance()->mToolMenuName = n; } + static void SetToolIconFilename(QString n) { vvToolCreator::GetInstance()->mToolIconFilename = n; } + static void SetToolTip(QString n) { vvToolCreator::GetInstance()->mToolTip = n; } + static void SetToolExperimental(bool exp) { vvToolCreator::GetInstance()->mExperimental = exp; } + static void SetToolInMenu(std::string menu) { vvToolCreator::GetInstance()->SetMenuName(menu); } - void AddImage(vvImage::Pointer image,std::string filename) { - CREATOR(ToolType)->GetMainWindow()->AddImage(image,filename); + static QIcon GetToolIcon() { return QIcon(vvToolCreator::GetInstance()->mToolIconFilename); } + static QString & GetToolName() { return vvToolCreator::GetInstance()->mToolName; } + + vvSlicerManager * AddImage(vvImage::Pointer image,std::string filename) { + return CREATOR(ToolType)->GetMainWindow()->AddImage(image,filename); } + void setSender(QObject *s) { mSender = s; } + + protected: + QObject * mSender; }; //------------------------------------------------------------------------------