#include "vvToolWidgetBase.h"
#include "vvMainWindowBase.h"
#include "vvSlicerManager.h"
#include "vvToolWidgetBase.h"
#include "vvMainWindowBase.h"
#include "vvSlicerManager.h"
//------------------------------------------------------------------------------
vvToolWidgetBase::vvToolWidgetBase(vvMainWindowBase * parent, Qt::WindowFlags f)
//------------------------------------------------------------------------------
vvToolWidgetBase::vvToolWidgetBase(vvMainWindowBase * parent, Qt::WindowFlags f)
-void vvToolWidgetBase::AddInputSelector(clitk::ImageToImageGenericFilterBase * f) {
- DD("AddInputSelector with filter");
- DD(mMainWindowBase->GetSlicerManagers().size());
+void vvToolWidgetBase::AddInputSelector(QString s, clitk::ImageToImageGenericFilterBase * f, bool allowSkip) {
+ // DD("AddInputSelector with filter");
+ // DD(mMainWindowBase->GetSlicerManagers().size());
int j=0;
mFilter = f;
mSlicerManagersCompatible.clear();
// mToolInputSelectionWidget->setToolTip(QString("%1").arg(mFilter->GetAvailableImageTypes().c_str()));
for(unsigned int i=0; i<mMainWindowBase->GetSlicerManagers().size(); i++) {
int j=0;
mFilter = f;
mSlicerManagersCompatible.clear();
// mToolInputSelectionWidget->setToolTip(QString("%1").arg(mFilter->GetAvailableImageTypes().c_str()));
for(unsigned int i=0; i<mMainWindowBase->GetSlicerManagers().size(); i++) {
vvImage * s = mMainWindowBase->GetSlicerManagers()[i]->GetImage();
if (mFilter->CheckImageType(s->GetNumberOfDimensions(),
s->GetNumberOfScalarComponents(),
vvImage * s = mMainWindowBase->GetSlicerManagers()[i]->GetImage();
if (mFilter->CheckImageType(s->GetNumberOfDimensions(),
s->GetNumberOfScalarComponents(),
- mToolInputSelectionWidget->AddInputSelector(mSlicerManagersCompatible, mCurrentCompatibleIndex);
+ if (mSlicerManagersCompatible.size() == 0) {
+ QMessageBox::information(this, "No image","Sorry, could not perform operation. No compatible opened image type.");
+ close();
+ return;
+ }
+ mToolInputSelectionWidget->AddInputSelector(s, mSlicerManagersCompatible, mCurrentCompatibleIndex, allowSkip);
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
-void vvToolWidgetBase::AddInputSelector() {
- DD("AddInput without filter");
- DD(mMainWindowBase->GetSlicerManagers().size());
+void vvToolWidgetBase::AddInputSelector(QString s, bool allowSkip) {
+ // DD("AddInput without filter");
+ // DD(mMainWindowBase->GetSlicerManagers().size());
mSlicerManagersCompatible.clear();
for(unsigned int i=0; i<mMainWindowBase->GetSlicerManagers().size(); i++) {
mSlicerManagersCompatible.push_back(mMainWindowBase->GetSlicerManagers()[i]);
}
mSlicerManagersCompatible.clear();
for(unsigned int i=0; i<mMainWindowBase->GetSlicerManagers().size(); i++) {
mSlicerManagersCompatible.push_back(mMainWindowBase->GetSlicerManagers()[i]);
}
- mToolInputSelectionWidget->AddInputSelector(mMainWindowBase->GetSlicerManagers(),
- mMainWindowBase->GetSlicerManagerCurrentIndex());
+ if (mMainWindowBase->GetSlicerManagers().size() == 0) {
+ QMessageBox::information(this, "No image","Sorry, could not perform operation. No opened image type.");
+ close();
+ return;
+ }
+ mToolInputSelectionWidget->AddInputSelector(s, mMainWindowBase->GetSlicerManagers(),
+ mMainWindowBase->GetSlicerManagerCurrentIndex(), allowSkip);
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void vvToolWidgetBase::show() {
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void vvToolWidgetBase::show() {
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
bool vvToolWidgetBase::close() {
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
bool vvToolWidgetBase::close() {
//------------------------------------------------------------------------------
void vvToolWidgetBase::AnImageIsBeingClosed(vvSlicerManager * m) {
//------------------------------------------------------------------------------
void vvToolWidgetBase::AnImageIsBeingClosed(vvSlicerManager * m) {
//------------------------------------------------------------------------------
void vvToolWidgetBase::InitializeInputs() {
/*
//------------------------------------------------------------------------------
void vvToolWidgetBase::InitializeInputs() {
/*
int j=0;
mToolInputSelectionWidget->setToolTip(QString("%1").arg(mFilter->GetAvailableImageTypes().c_str()));
for(unsigned int i=0; i<mMainWindowBase->GetSlicerManagers().size(); i++) {
int j=0;
mToolInputSelectionWidget->setToolTip(QString("%1").arg(mFilter->GetAvailableImageTypes().c_str()));
for(unsigned int i=0; i<mMainWindowBase->GetSlicerManagers().size(); i++) {
- vvImage * s = mMainWindowBase->GetSlicerManagers()[i]->GetImage();
- if (mFilter->CheckImageType(s->GetNumberOfDimensions(),
- s->GetNumberOfScalarComponents(),
- s->GetScalarTypeAsString())) {
- mSlicerManagersCompatible.push_back(mMainWindowBase->GetSlicerManagers()[i]);
- if ((int)i == mMainWindowBase->GetSlicerManagerCurrentIndex()) mCurrentCompatibleIndex = j;
- j++;
- }
+ vvImage * s = mMainWindowBase->GetSlicerManagers()[i]->GetImage();
+ if (mFilter->CheckImageType(s->GetNumberOfDimensions(),
+ s->GetNumberOfScalarComponents(),
+ s->GetScalarTypeAsString())) {
+ mSlicerManagersCompatible.push_back(mMainWindowBase->GetSlicerManagers()[i]);
+ if ((int)i == mMainWindowBase->GetSlicerManagerCurrentIndex()) mCurrentCompatibleIndex = j;
+ j++;
mSlicerManagersCompatible = mMainWindowBase->GetSlicerManagers();
mCurrentCompatibleIndex = mMainWindowBase->GetSlicerManagerCurrentIndex();
mSlicerManagersCompatible = mMainWindowBase->GetSlicerManagers();
mCurrentCompatibleIndex = mMainWindowBase->GetSlicerManagerCurrentIndex();
- }
- mToolInputSelectionWidget->Initialize(mSlicerManagersCompatible,
- mCurrentCompatibleIndex);
- mIsInitialized = true;
+ }
+ mToolInputSelectionWidget->Initialize(mSlicerManagersCompatible,
+ mCurrentCompatibleIndex);
+ mIsInitialized = true;
//------------------------------------------------------------------------------
void vvToolWidgetBase::InputIsSelected() {
//------------------------------------------------------------------------------
void vvToolWidgetBase::InputIsSelected() {
buttonBox->setEnabled(true);
std::vector<vvSlicerManager*> & l = mToolInputSelectionWidget->GetSelectedInputs();
mCurrentSlicerManager = l[0];
buttonBox->setEnabled(true);
std::vector<vvSlicerManager*> & l = mToolInputSelectionWidget->GetSelectedInputs();
mCurrentSlicerManager = l[0];
//------------------------------------------------------------------------------
void vvToolWidgetBase::InputIsSelected(std::vector<vvSlicerManager*> & l) {
buttonBox->setEnabled(true);
//------------------------------------------------------------------------------
void vvToolWidgetBase::InputIsSelected(std::vector<vvSlicerManager*> & l) {
buttonBox->setEnabled(true);