44 BaseWidget(parent,
"FilterSetupWidget",
"FilterSetup"),
49 QVBoxLayout* toptopLayout =
new QVBoxLayout(
this);
50 toptopLayout->setMargin(0);
52 QWidget* topWidget =
new QWidget;
53 QVBoxLayout* topLayout =
new QVBoxLayout(topWidget);
54 topLayout->setMargin(0);
59 toptopLayout->addWidget(mFrame);
63 toptopLayout->addWidget(topWidget);
67 connect(mObscuredListener.get(), SIGNAL(obscured(
bool)),
this, SLOT(obscuredSlot(
bool)));
71 mInputsWidget =
new OptionsWidget(mServices->visualizationService, mServices->getPatientService(),
this);
72 mOutputsWidget =
new OptionsWidget(mServices->visualizationService, mServices->getPatientService(),
this);
73 mOptionsWidget =
new OptionsWidget(mServices->visualizationService, mServices->getPatientService(),
this);
75 mAdvancedButton =
new QCheckBox(
"Show &advanced options",
this);
76 connect(mAdvancedButton, SIGNAL(stateChanged(
int)),
this, SLOT(showAdvancedOptions(
int)));
78 topLayout->addWidget(this->
wrapInGroupBox(mInputsWidget,
"Input"));
79 topLayout->addWidget(this->
wrapInGroupBox(mOutputsWidget,
"Output"));
80 topLayout->addWidget(mPresetWidget);
81 mOptionsGroupBox = this->
wrapInGroupBox(mOptionsWidget,
"Options");
82 topLayout->addWidget(mOptionsGroupBox);
83 topLayout->addWidget(mAdvancedButton);
86 void FilterSetupWidget::obscuredSlot(
bool obscured)
89 mCurrentFilter->setActive(!obscured);
92 void FilterSetupWidget::showAdvancedOptions(
int state)
106 void FilterSetupWidget::rebuildOptions()
114 QString name(
"None");
118 name = mCurrentFilter->getName();
119 help = mCurrentFilter->getHelp();
121 return QString(
"<html>"
124 "</html>").arg(name).arg(help);
129 if (filter==mCurrentFilter)
133 mCurrentFilter->setActive(
false);
135 mCurrentFilter = filter;
136 connect(mCurrentFilter.get(), SIGNAL(changed()),
this, SLOT(rebuildOptions()));
139 mFrame->setTitle(mCurrentFilter->getName());
143 mCurrentFilter->setActive(!mObscuredListener->isObscured());
145 std::vector<SelectDataStringPropertyBasePtr> inputTypes = mCurrentFilter->getInputTypes();
146 std::vector<SelectDataStringPropertyBasePtr> outputTypes = mCurrentFilter->getOutputTypes();
147 std::vector<PropertyPtr> options = mCurrentFilter->getOptions();
149 mInputsWidget->
setOptions(mCurrentFilter->getUid(), mCurrentFilter->getInputTypes(),
false);
150 mOutputsWidget->
setOptions(mCurrentFilter->getUid(), mCurrentFilter->getOutputTypes(),
false);
151 mOptionsWidget->
setOptions(mCurrentFilter->getUid(), options,
false);
154 if(mCurrentFilter->hasPresets())
156 connect(mPresetWidget, SIGNAL(presetSelected(QString)), mCurrentFilter.get(), SLOT(requestSetPresetSlot(QString)));
158 mPresetWidget->
setFilter(mCurrentFilter);
159 mCurrentFilter->requestSetPresetSlot(
"default");
160 mPresetWidget->show();
162 mPresetWidget->hide();
166 mInputsWidget->
setOptions(
"", std::vector<PropertyPtr>(),
false);
167 mOutputsWidget->
setOptions(
"", std::vector<PropertyPtr>(),
false);
168 mOptionsWidget->
setOptions(
"", std::vector<PropertyPtr>(),
false);
174 if(mOptionsGroupBox->isHidden())
176 mOptionsGroupBox->show();
177 mAdvancedButton->show();
182 mOptionsGroupBox->hide();
183 mAdvancedButton->hide();
boost::shared_ptr< class VisServices > VisServicesPtr
boost::shared_ptr< class Filter > FilterPtr
Helper class for xml files used to store ssc/cx data.