1 #ifndef VVTOOLINPUTSELECTORWIDGET_CXX
2 #define VVTOOLINPUTSELECTORWIDGET_CXX
3 #include "vvToolSimpleInputSelectorWidget.h"
4 #include "vvToolInputSelectorWidget.h"
5 #include "vvSlicerManager.h"
7 //------------------------------------------------------------------------------
8 vvToolInputSelectorWidget::vvToolInputSelectorWidget(QWidget * parent, Qt::WindowFlags f):
12 mNumberOfAcceptedInputs = 0;
14 //------------------------------------------------------------------------------
16 //------------------------------------------------------------------------------
17 int vvToolInputSelectorWidget::GetNumberOfInput() {
18 return mListOfSimpleInputWidget.size();
20 //------------------------------------------------------------------------------
23 //------------------------------------------------------------------------------
24 void vvToolInputSelectorWidget::AddInputSelector(QString & s,
25 const std::vector<vvSlicerManager*> & l,
28 // DD("ICICICICICICICIC AddInputSelector ADD layout");
31 vvToolSimpleInputSelectorWidget * input = new vvToolSimpleInputSelectorWidget;
32 mListOfSimpleInputWidget.push_back(input);
33 mSkipInput.push_back(false);
36 input->EnableAllowSkip(allowSkip);
39 std::vector<vvSlicerManager*> * ll = new std::vector<vvSlicerManager*>;
40 for(unsigned int i=0; i<l.size(); i++)
44 input->SetInputList(*ll, index);
45 // input->setObjectName(QString::fromUtf8("TOTO"));
46 mVerticalLayout->addWidget(input);
49 if (GetNumberOfInput() == 1) input->setEnabled(true);
50 else input->setEnabled(false);
51 //DD(GetNumberOfInput());
53 // Connect signals & slots
54 connect(input, SIGNAL(accepted()), this, SLOT(accept()));
55 connect(input, SIGNAL(rejected()), this, SLOT(reject()));
56 connect(input, SIGNAL(sigskip()), this, SLOT(skip()));
58 //------------------------------------------------------------------------------
61 //------------------------------------------------------------------------------
62 void vvToolInputSelectorWidget::Initialize() {
63 for(unsigned int i=0; i<mListOfSimpleInputWidget.size(); i++)
64 mListOfSimpleInputWidget[i]->Initialize();
66 //------------------------------------------------------------------------------
69 //------------------------------------------------------------------------------
70 void vvToolInputSelectorWidget::accept() {
71 // DD("vvToolInputSelectorWidget::accept");
72 //DD(mNumberOfAcceptedInputs);
73 mNumberOfAcceptedInputs++;
74 if (mNumberOfAcceptedInputs == GetNumberOfInput()) {
80 // for(unsigned int i=mNumberOfAcceptedInputs; i<mListOfSimpleInputWidget.size(); i++) {
81 // mListOfSimpleInputWidget[i]->Initialize();
82 mListOfSimpleInputWidget[mNumberOfAcceptedInputs]->setEnabled(true);
86 //------------------------------------------------------------------------------
89 //------------------------------------------------------------------------------
90 void vvToolInputSelectorWidget::reject() {
91 // DD("vvToolInputSelectorWidget::reject");
92 if (mNumberOfAcceptedInputs != 0) {
93 // for(unsigned int i=mNumberOfAcceptedInputs; i<mListOfSimpleInputWidget.size(); i++) {
94 // mListOfSimpleInputWidget[i]->Initialize();
95 // DD(mNumberOfAcceptedInputs);
96 mListOfSimpleInputWidget[mNumberOfAcceptedInputs]->setEnabled(false);
97 mListOfSimpleInputWidget[mNumberOfAcceptedInputs-1]->setEnabled(true);
98 mNumberOfAcceptedInputs--;
105 //------------------------------------------------------------------------------
108 //------------------------------------------------------------------------------
109 void vvToolInputSelectorWidget::skip() {
111 mSkipInput[mNumberOfAcceptedInputs] = true;
112 accept();//mNumberOfAcceptedInputs++;
114 //------------------------------------------------------------------------------
117 //------------------------------------------------------------------------------
118 std::vector<vvSlicerManager*> & vvToolInputSelectorWidget::GetSelectedInputs() {
119 std::vector<vvSlicerManager*> * l = new std::vector<vvSlicerManager*>;
120 for(unsigned int i=0; i<mListOfSimpleInputWidget.size(); i++) {
122 l->push_back(mListOfSimpleInputWidget[i]->GetSelectedInput());
126 //------------------------------------------------------------------------------
129 //------------------------------------------------------------------------------
130 void vvToolInputSelectorWidget::AnImageIsBeingClosed(vvSlicerManager * m) {
131 // DD("TODO : verify that the image still exist !!");
134 //------------------------------------------------------------------------------