24 BaseWidget(parent,
"FilterSetupWidget",
"FilterSetup"),
29 QVBoxLayout* toptopLayout =
new QVBoxLayout(
this);
30 toptopLayout->setMargin(0);
32 QWidget* topWidget =
new QWidget;
33 QVBoxLayout* topLayout =
new QVBoxLayout(topWidget);
34 topLayout->setMargin(0);
39 toptopLayout->addWidget(mFrame);
43 toptopLayout->addWidget(topWidget);
47 connect(mObscuredListener.get(), SIGNAL(obscured(
bool)),
this, SLOT(obscuredSlot(
bool)));
51 mInputsWidget =
new OptionsWidget(mServices->view(), mServices->patient(),
this);
52 mOutputsWidget =
new OptionsWidget(mServices->view(), mServices->patient(),
this);
53 mOptionsWidget =
new OptionsWidget(mServices->view(), mServices->patient(),
this);
55 mAdvancedButton =
new QCheckBox(
"Show advanced options",
this);
56 connect(mAdvancedButton, SIGNAL(stateChanged(
int)),
this, SLOT(showAdvancedOptions(
int)));
58 topLayout->addWidget(this->
wrapInGroupBox(mInputsWidget,
"Input"));
59 topLayout->addWidget(this->
wrapInGroupBox(mOutputsWidget,
"Output"));
60 topLayout->addWidget(mPresetWidget);
61 mOptionsGroupBox = this->
wrapInGroupBox(mOptionsWidget,
"Options");
62 topLayout->addWidget(mOptionsGroupBox);
63 topLayout->addWidget(mAdvancedButton);
66 void FilterSetupWidget::obscuredSlot(
bool obscured)
69 mCurrentFilter->setActive(!obscured);
72 void FilterSetupWidget::showAdvancedOptions(
int state)
86 void FilterSetupWidget::rebuildOptions()
98 name = mCurrentFilter->getName();
99 help = mCurrentFilter->getHelp();
101 return QString(
"<html>"
104 "</html>").arg(name).arg(help);
107 void FilterSetupWidget::setVisibilityOfOptionsAndAdvancedOptions()
110 this->showAdvancedOptions(mAdvancedButton->isChecked());
111 mOptionsGroupBox->setVisible(mOptionsWidget->
hasOptions());
116 if (filter==mCurrentFilter)
120 mCurrentFilter->setActive(
false);
122 mCurrentFilter = filter;
123 connect(mCurrentFilter.get(), &
Filter::changed,
this, &FilterSetupWidget::rebuildOptions);
126 mFrame->setTitle(mCurrentFilter->getName());
130 mCurrentFilter->setActive(!mObscuredListener->isObscured());
132 mInputsWidget->
setOptions(mCurrentFilter->getUid(), mCurrentFilter->getInputTypes(),
false);
133 mOutputsWidget->
setOptions(mCurrentFilter->getUid(), mCurrentFilter->getOutputTypes(),
false);
134 mOptionsWidget->
setOptions(mCurrentFilter->getUid(), mCurrentFilter->getOptions(),
false);
137 if(mCurrentFilter->hasPresets())
141 mPresetWidget->
setFilter(mCurrentFilter);
142 mCurrentFilter->requestSetPresetSlot(
"default");
143 mPresetWidget->show();
145 mPresetWidget->hide();
147 this->setObjectName(mCurrentFilter->getType());
149 this->setVisibilityOfOptionsAndAdvancedOptions();
153 mInputsWidget->
setOptions(
"", std::vector<PropertyPtr>(),
false);
154 mOutputsWidget->
setOptions(
"", std::vector<PropertyPtr>(),
false);
155 mOptionsWidget->
setOptions(
"", std::vector<PropertyPtr>(),
false);
163 if(mOptionsGroupBox->isHidden())
167 mOptionsGroupBox->show();
169 mAdvancedButton->show();
175 mOptionsGroupBox->hide();
176 mAdvancedButton->hide();