-void vvToolInputSelectorWidget::Initialize(std::vector<vvSlicerManager*> l, int index) {
- mInputSequenceBox->clear();
- mSlicerManagerList = l;
- mCurrentIndex = index;
- for (unsigned int i = 0; i < mSlicerManagerList.size(); i++) {
- mInputSequenceBox->addItem(mSlicerManagerList[i]->GetFileName().c_str());
- }
- mInputSequenceBox->setCurrentIndex(mCurrentIndex);
- if (mSlicerManagerList.size() == 0) {
- // TODO !!!
- DD("no input > error message");
- reject();
- }
- if (mSlicerManagerList.size() == 1) {
- accept();
+void vvToolInputSelectorWidget::AddInputSelector(QString & s,
+ const std::vector<vvSlicerManager*> & l,
+ int index,
+ bool allowSkip)
+{
+ // Create a input selector widget
+ vvToolSimpleInputSelectorWidget * input = new vvToolSimpleInputSelectorWidget;
+ mListOfSimpleInputWidget.push_back(input);
+ mSkipInput.push_back(false);
+ input->SetText(s);
+ input->EnableAllowSkip(allowSkip);
+
+ // Copy the list of slicermanager
+ std::vector<vvSlicerManager*> * ll = new std::vector<vvSlicerManager*>;
+ for(unsigned int i=0; i<l.size(); i++)
+ ll->push_back(l[i]);
+
+ // Add
+ input->SetInputList(*ll, index);
+ mVerticalLayout->addWidget(input);
+
+ // Enable or disable
+ if (GetNumberOfInput() == 1) input->setEnabled(true);
+ else input->setEnabled(false);
+
+ // Connect signals & slots
+ connect(input, SIGNAL(accepted()), this, SLOT(accept()));
+ connect(input, SIGNAL(rejected()), this, SLOT(reject()));
+ connect(input, SIGNAL(sigskip()), this, SLOT(skip()));
+}
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+void vvToolInputSelectorWidget::Initialize()
+{
+ for(unsigned int i=0; i<mListOfSimpleInputWidget.size(); i++)
+ mListOfSimpleInputWidget[i]->Initialize();
+}
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+void vvToolInputSelectorWidget::accept()
+{
+ mNumberOfAcceptedInputs++;
+ if (mNumberOfAcceptedInputs == GetNumberOfInput()) {
+ setEnabled(false);
+ emit accepted();
+ } else {
+ mListOfSimpleInputWidget[mNumberOfAcceptedInputs]->setEnabled(true);