X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolWidgetBase.cxx;h=9c85336e2ab4f9a174b693850af92908b85f3710;hb=632adadb8b9230458aeab8ddccc736d674edc87a;hp=a529b97cbc0c1ff260d6471348d32bcee590d64c;hpb=2b4229b2e82be6bd48817b0171afb2d69a9e9758;p=clitk.git diff --git a/vv/vvToolWidgetBase.cxx b/vv/vvToolWidgetBase.cxx index a529b97..9c85336 100644 --- a/vv/vvToolWidgetBase.cxx +++ b/vv/vvToolWidgetBase.cxx @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.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 @@ -14,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ // vv #include "vvToolWidgetBase.h" @@ -25,6 +25,7 @@ #include #include #include +#include //------------------------------------------------------------------------------ // Static initialisation @@ -37,11 +38,10 @@ bool vvToolWidgetBase::mIsAnotherToolWaitInput = false; vvToolWidgetBase::vvToolWidgetBase(vvMainWindowBase * parent, Qt::WindowFlags f, bool initialize): QWidget(parent, f), Ui::vvToolWidgetBase() -{ +{ mMainWindow = parent; setAttribute(Qt::WA_DeleteOnClose); if (initialize) Initialization(); - // DD(isWindow()); if (isWindow()) { // In this case, the tool is a floating windows // this->grabKeyboard(); // for the ESC key to close the dialog mPreventToUseTwoToolsOnSameInput = false; @@ -108,7 +108,7 @@ vvToolWidgetBase::vvToolWidgetBase(vvMainWindowBase * parent, Qt::WindowFlags f, mToolWidget->setEnabled(true); } parent->GetTab()->setCurrentIndex(mTabNumber); - buttonBox->hide(); // No OK/Cancel by default in this case + mMainButtonBox->hide(); // No OK/Cancel by default in this case } } //------------------------------------------------------------------------------ @@ -116,7 +116,7 @@ vvToolWidgetBase::vvToolWidgetBase(vvMainWindowBase * parent, Qt::WindowFlags f, //------------------------------------------------------------------------------ void vvToolWidgetBase::Initialization() -{ +{ mCurrentSlicerManager = 0; mIsInitialized = false; mFilter = 0; @@ -128,8 +128,8 @@ void vvToolWidgetBase::Initialization() connect(mMainWindow, SIGNAL(SelectedImageHasChanged(vvSlicerManager*)), this, SLOT(SelectedImageHasChanged(vvSlicerManager*))); connect(mToolInputSelectionWidget, SIGNAL(accepted()), this, SLOT(InputIsSelected())); connect(mToolInputSelectionWidget, SIGNAL(rejected()), this, SLOT(close())); - connect(buttonBox, SIGNAL(accepted()), this, SLOT(apply())); - connect(buttonBox, SIGNAL(rejected()), this, SLOT(close())); + connect(mMainButtonBox, SIGNAL(accepted()), this, SLOT(apply())); + connect(mMainButtonBox, SIGNAL(rejected()), this, SLOT(close())); // Disable main widget while input image is not selected mToolWidget->setEnabled(false); @@ -139,15 +139,14 @@ void vvToolWidgetBase::Initialization() //------------------------------------------------------------------------------ vvToolWidgetBase::~vvToolWidgetBase() -{ +{ } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ void vvToolWidgetBase::keyPressEvent(QKeyEvent *event) -{ - // DD("KEYPRESSEVENT"); +{ if (event->key() == Qt::Key_Escape) { reject(); event->accept(); @@ -165,7 +164,7 @@ void vvToolWidgetBase::keyPressEvent(QKeyEvent *event) //------------------------------------------------------------------------------ void vvToolWidgetBase::accept() -{ +{ apply(); } //------------------------------------------------------------------------------ @@ -173,7 +172,7 @@ void vvToolWidgetBase::accept() //------------------------------------------------------------------------------ void vvToolWidgetBase::reject() -{ +{ close(); } //------------------------------------------------------------------------------ @@ -181,11 +180,12 @@ void vvToolWidgetBase::reject() //------------------------------------------------------------------------------ void vvToolWidgetBase::AddInputSelector(QString s, clitk::ImageToImageGenericFilterBase * f, bool allowSkip) -{ +{ int j=0; mFilter = f; mSlicerManagersCompatible.clear(); mToolInputSelectionWidget->setToolTip(QString("%1").arg(mFilter->GetAvailableImageTypes().c_str())); + mCurrentCompatibleIndex = 0; for(unsigned int i=0; iGetSlicerManagers().size(); i++) { vvImage * s = mMainWindow->GetSlicerManagers()[i]->GetImage(); if (mFilter->CheckImageType(s->GetNumberOfDimensions(), @@ -219,7 +219,7 @@ void vvToolWidgetBase::AddInputSelector(QString s, clitk::ImageToImageGenericFil //------------------------------------------------------------------------------ void vvToolWidgetBase::AddInputSelector(QString s, bool allowSkip) -{ +{ mSlicerManagersCompatible.clear(); for(unsigned int i=0; iGetSlicerManagers().size(); i++) { mSlicerManagersCompatible.push_back(mMainWindow->GetSlicerManagers()[i]); @@ -245,18 +245,15 @@ void vvToolWidgetBase::AddInputSelector(QString s, bool allowSkip) //------------------------------------------------------------------------------ void vvToolWidgetBase::HideInputSelector() -{ - QList s; - s.push_back(0); - s.push_back(1); - splitter->setSizes(s); +{ + mToolInputSelectionWidget->hide(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ void vvToolWidgetBase::show() -{ +{ if (!mIsInitialized) { mToolInputSelectionWidget->Initialize(); mIsInitialized = true; @@ -268,8 +265,7 @@ void vvToolWidgetBase::show() //------------------------------------------------------------------------------ void vvToolWidgetBase::closeEvent(QCloseEvent *event) -{ - // DD("closeEvent"); +{ mIsAnotherToolWaitInput = false; if (isWindow()) { event->accept();//return QWidget::close(); @@ -296,8 +292,7 @@ void vvToolWidgetBase::closeEvent(QCloseEvent *event) //------------------------------------------------------------------------------ bool vvToolWidgetBase::close() -{ - // DD("vvToolWidgetBase::close()"); +{ QApplication::restoreOverrideCursor(); return QWidget::close(); } @@ -306,7 +301,7 @@ bool vvToolWidgetBase::close() //------------------------------------------------------------------------------ void vvToolWidgetBase::AnImageIsBeingClosed(vvSlicerManager * m) -{ +{ mToolInputSelectionWidget->AnImageIsBeingClosed(m); if (m == mCurrentSlicerManager) { close(); @@ -317,7 +312,7 @@ void vvToolWidgetBase::AnImageIsBeingClosed(vvSlicerManager * m) //------------------------------------------------------------------------------ void vvToolWidgetBase::SwapCurrentWidget() -{ +{ mStaticWidgetForTab->setUpdatesEnabled(false); QList l =mStaticWidgetForTab->children(); for(int i=1; iisVisible()); - //DD(mToolWidget->isVisible()); - //DD(mStaticWidgetForTab->isVisible()); - - buttonBox->setEnabled(true); +{ + mMainButtonBox->setEnabled(true); std::vector & l = mToolInputSelectionWidget->GetSelectedInputs(); mCurrentSlicerManager = l[0]; mCurrentImage = mCurrentSlicerManager->GetImage(); @@ -382,7 +372,7 @@ void vvToolWidgetBase::InputIsSelected() //------------------------------------------------------------------------------ void vvToolWidgetBase::InputIsSelected(vvSlicerManager * m) -{ +{ std::cerr << "You MUST overwrite this method vvToolWidgetBase::InputIsSelected(vvSlicerManager * m) if you use one single input" << std::endl; exit(0); } @@ -391,8 +381,8 @@ void vvToolWidgetBase::InputIsSelected(vvSlicerManager * m) //------------------------------------------------------------------------------ void vvToolWidgetBase::InputIsSelected(std::vector & l) -{ - buttonBox->setEnabled(true); +{ + mMainButtonBox->setEnabled(true); if (l.size() == 1) InputIsSelected(l[0]); else { std::cerr << "You MUST overwrite this method vvToolWidgetBase::InputIsSelected(vector m) if you use several input" << std::endl;