X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolWidgetBase.cxx;h=6abc741ac47917b8fe6f671492a2b0398e957300;hb=6fbc5b0555a148aed6478cfd1ea7593f32f5dd3c;hp=58ff83cf6fa1386126c9380b6e794e64d153f017;hpb=44afe6c93f185da1ac0debc227105bf56404482e;p=clitk.git diff --git a/vv/vvToolWidgetBase.cxx b/vv/vvToolWidgetBase.cxx index 58ff83c..6abc741 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 @@ -41,7 +42,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 +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 } } //------------------------------------------------------------------------------ @@ -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); @@ -147,7 +147,6 @@ vvToolWidgetBase::~vvToolWidgetBase() //------------------------------------------------------------------------------ void vvToolWidgetBase::keyPressEvent(QKeyEvent *event) { - // DD("KEYPRESSEVENT"); if (event->key() == Qt::Key_Escape) { reject(); event->accept(); @@ -186,6 +185,7 @@ 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(), @@ -197,7 +197,10 @@ void vvToolWidgetBase::AddInputSelector(QString s, clitk::ImageToImageGenericFil } } 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; } @@ -243,10 +246,7 @@ 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(); } //------------------------------------------------------------------------------ @@ -266,7 +266,6 @@ void vvToolWidgetBase::show() //------------------------------------------------------------------------------ void vvToolWidgetBase::closeEvent(QCloseEvent *event) { - // DD("closeEvent"); mIsAnotherToolWaitInput = false; if (isWindow()) { event->accept();//return QWidget::close(); @@ -294,7 +293,7 @@ void vvToolWidgetBase::closeEvent(QCloseEvent *event) //------------------------------------------------------------------------------ bool vvToolWidgetBase::close() { - // DD("vvToolWidgetBase::close()"); + QApplication::restoreOverrideCursor(); return QWidget::close(); } //------------------------------------------------------------------------------ @@ -358,12 +357,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 +382,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;