X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolWidgetBase.cxx;h=d3cecbdc5de0926447e076452505c5933b1e85b1;hb=431fea9a7c825943b07fc4b4f3423355a5fee501;hp=d258aafe5106ad23e0cabbcbcfb9e4b124c6dfe2;hpb=baf356cd7288256b3b69557223107c6ebdfdca73;p=clitk.git diff --git a/vv/vvToolWidgetBase.cxx b/vv/vvToolWidgetBase.cxx index d258aaf..d3cecbd 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" @@ -41,7 +41,6 @@ vvToolWidgetBase::vvToolWidgetBase(vvMainWindowBase * parent, Qt::WindowFlags f, 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 +107,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 } } //------------------------------------------------------------------------------ @@ -128,8 +127,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); @@ -147,7 +146,6 @@ vvToolWidgetBase::~vvToolWidgetBase() //------------------------------------------------------------------------------ void vvToolWidgetBase::keyPressEvent(QKeyEvent *event) { - // DD("KEYPRESSEVENT"); if (event->key() == Qt::Key_Escape) { reject(); event->accept(); @@ -186,18 +184,22 @@ void vvToolWidgetBase::AddInputSelector(QString s, clitk::ImageToImageGenericFil 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(), s->GetNumberOfScalarComponents(), - s->GetScalarTypeAsString())) { + s->GetScalarTypeAsITKString())) { mSlicerManagersCompatible.push_back(mMainWindow->GetSlicerManagers()[i]); if ((int)i == mMainWindow->GetSlicerManagerCurrentIndex()) mCurrentCompatibleIndex = j; j++; } } if (mSlicerManagersCompatible.size() == 0) { - QMessageBox::information(this, "No image","Sorry, could not perform operation. No (compatible) image."); + std::ostringstream osstream; + osstream << "Sorry, could not perform operation. No (compatible) image. " + << mFilter->GetAvailableImageTypes(); + QMessageBox::information(this, "No image", osstream.str().c_str()); reject(); return; } @@ -266,7 +268,6 @@ void vvToolWidgetBase::show() //------------------------------------------------------------------------------ void vvToolWidgetBase::closeEvent(QCloseEvent *event) { - // DD("closeEvent"); mIsAnotherToolWaitInput = false; if (isWindow()) { event->accept();//return QWidget::close(); @@ -294,7 +295,7 @@ void vvToolWidgetBase::closeEvent(QCloseEvent *event) //------------------------------------------------------------------------------ bool vvToolWidgetBase::close() { - // DD("vvToolWidgetBase::close()"); + QApplication::restoreOverrideCursor(); return QWidget::close(); } //------------------------------------------------------------------------------ @@ -358,12 +359,7 @@ void vvToolWidgetBase::InitializeInputs() //------------------------------------------------------------------------------ void vvToolWidgetBase::InputIsSelected() { - // DD("vvToolWidgetBase::InputIsSelected()"); - //DD(mWidgetForTab->isVisible()); - //DD(mToolWidget->isVisible()); - //DD(mStaticWidgetForTab->isVisible()); - - buttonBox->setEnabled(true); + mMainButtonBox->setEnabled(true); std::vector & l = mToolInputSelectionWidget->GetSelectedInputs(); mCurrentSlicerManager = l[0]; mCurrentImage = mCurrentSlicerManager->GetImage(); @@ -388,7 +384,7 @@ 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;