X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolBase.h;h=3cd4fbfd2acc55b466b98d435c5db46b0ee0715a;hb=5a7da4aedae5c204bc55c187717193e5950f9a44;hp=4599cef4ce625ed9ab31c9bdf4cfcd203317194f;hpb=e9d128ac8da88b43fb86f8cfff490b46800ca2f6;p=clitk.git diff --git a/vv/vvToolBase.h b/vv/vvToolBase.h index 4599cef..3cd4fbf 100644 --- a/vv/vvToolBase.h +++ b/vv/vvToolBase.h @@ -1,53 +1,55 @@ /*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Program: vv - Module: $RCSfile: vvToolBase.h,v $ - Language: C++ - Date: $Date: 2010/03/24 13:37:34 $ - Version: $Revision: 1.5 $ - Author : David Sarrut (david.sarrut@creatis.insa-lyon.fr) + 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 - Copyright (C) 2008 - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr - CREATIS 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. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, version 3 of the License. + It is distributed under dual licence - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - =========================================================================*/ + - 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; }; //------------------------------------------------------------------------------