X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolSimpleInputSelectorWidget.cxx;h=49c5dbc53a451d189235250f6dd12beee869eb28;hb=bfbffc033e8c2f7a9448dcf8611e5a81b1898559;hp=02d02775d7025e97d8180d9e65646c7eaac17dc2;hpb=0b7c9b1e1215634b02cbd38d4e4ba101d6111ba8;p=clitk.git diff --git a/vv/vvToolSimpleInputSelectorWidget.cxx b/vv/vvToolSimpleInputSelectorWidget.cxx index 02d0277..49c5dbc 100644 --- a/vv/vvToolSimpleInputSelectorWidget.cxx +++ b/vv/vvToolSimpleInputSelectorWidget.cxx @@ -1,9 +1,9 @@ /*========================================================================= Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Authors belong to: + 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,17 +14,22 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #ifndef VVTOOLINPUTSELECTORWIDGET_CXX #define VVTOOLINPUTSELECTORWIDGET_CXX + +// vv #include "vvToolSimpleInputSelectorWidget.h" #include "vvSlicerManager.h" + +// qt #include //------------------------------------------------------------------------------ vvToolSimpleInputSelectorWidget::vvToolSimpleInputSelectorWidget(QWidget * parent, Qt::WindowFlags f): - QWidget(parent, f) { - setupUi(this); + QWidget(parent, f) +{ + setupUi(this); setEnabled(true); mSlicerManagerList.clear(); } @@ -32,11 +37,12 @@ vvToolSimpleInputSelectorWidget::vvToolSimpleInputSelectorWidget(QWidget * paren //------------------------------------------------------------------------------ -void vvToolSimpleInputSelectorWidget::Initialize() { - // Connect signals & slots +void vvToolSimpleInputSelectorWidget::Initialize() +{ + // Connect signals & slots connect(mInputSelectionButtonBox, SIGNAL(accepted()), this, SLOT(accept())); connect(mInputSelectionButtonBox, SIGNAL(rejected()), this, SLOT(reject())); - connect(mInputSequenceBox, SIGNAL(currentIndexChanged(int)), this, SLOT(changeInput(int))); + connect(mInputSequenceBox, SIGNAL(currentIndexChanged(int)), this, SLOT(changeInput(int))); if (mSlicerManagerList.size() == 1) { if (!mAllowSkip) accept(); } @@ -48,27 +54,29 @@ void vvToolSimpleInputSelectorWidget::Initialize() { //------------------------------------------------------------------------------ -void vvToolSimpleInputSelectorWidget::SetText(QString & s) { +void vvToolSimpleInputSelectorWidget::SetText(QString & s) +{ mGroupBox->setTitle(s); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ -void vvToolSimpleInputSelectorWidget::EnableAllowSkip(bool b) { +void vvToolSimpleInputSelectorWidget::EnableAllowSkip(bool b) +{ mAllowSkip = b; if (mAllowSkip) { mInputSelectionButtonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::Discard); connect(mInputSelectionButtonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(skip(QAbstractButton*))); - } - else + } else mInputSelectionButtonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ -void vvToolSimpleInputSelectorWidget::SetInputList(const std::vector & l, int index) { +void vvToolSimpleInputSelectorWidget::SetInputList(const std::vector & l, int index) +{ if (l.size() == 0) { // TODO !!! DD("no input > error message"); @@ -88,16 +96,19 @@ void vvToolSimpleInputSelectorWidget::SetInputList(const std::vectorsetEnabled(b); mInputSequenceBox->setEnabled(b); + } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ -void vvToolSimpleInputSelectorWidget::accept() { +void vvToolSimpleInputSelectorWidget::accept() +{ mInputSelectionButtonBox->setEnabled(false); mInputSequenceBox->setEnabled(false); emit accepted(); @@ -107,24 +118,29 @@ void vvToolSimpleInputSelectorWidget::accept() { //------------------------------------------------------------------------------ -void vvToolSimpleInputSelectorWidget::reject() { +void vvToolSimpleInputSelectorWidget::reject() +{ emit rejected(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ -void vvToolSimpleInputSelectorWidget::skip(QAbstractButton* b) { +void vvToolSimpleInputSelectorWidget::skip(QAbstractButton* b) +{ if (b->text() == "Discard") emit sigskip(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ -void vvToolSimpleInputSelectorWidget::changeInput(int index) { +void vvToolSimpleInputSelectorWidget::changeInput(int index) +{ if (index<0) return; + if (index>=(int)mSlicerManagerList.size()) return; mCurrentIndex = index; vvImage * mCurrentImage = mSlicerManagerList[index]->GetImage(); + if (mCurrentImage == NULL) return; unsigned int d = mCurrentImage->GetNumberOfDimensions(); QString size; QString spacing; @@ -136,9 +152,9 @@ void vvToolSimpleInputSelectorWidget::changeInput(int index) { } size.append(QString("%1").arg(mCurrentImage->GetSize()[d-1])); spacing.append(QString("%1").arg(mCurrentImage->GetSpacing()[d-1])); - mLabelInputInfo->setText(QString("Image: %1D %2 %3 %4") + mLabelInputInfo->setText(QString("%1D %2\n%3\n%4") .arg(d) - .arg(mCurrentImage->GetScalarTypeAsString().c_str()) + .arg(mCurrentImage->GetScalarTypeAsITKString().c_str()) .arg(size) .arg(spacing)); } @@ -146,7 +162,8 @@ void vvToolSimpleInputSelectorWidget::changeInput(int index) { //------------------------------------------------------------------------------ -vvSlicerManager * vvToolSimpleInputSelectorWidget::GetSelectedInput() { +vvSlicerManager * vvToolSimpleInputSelectorWidget::GetSelectedInput() +{ return mSlicerManagerList[GetSelectedInputIndex()]; } //------------------------------------------------------------------------------