3 #include "AbstractMultipleChoiceFilter.h" 11 #include <QStringList> 15 AbstractMultipleChoiceFilter::AbstractMultipleChoiceFilter(
16 AbstractFilter::FilterEffectivenessFlag flag,
17 int minimumForSuccess) : AbstractFilter(flag, minimumForSuccess) {
19 m_curChoice =
new QString;
22 AbstractMultipleChoiceFilter::AbstractMultipleChoiceFilter(
23 AbstractMultipleChoiceFilter
const &other) : AbstractFilter(other) {
25 m_curChoice =
new QString;
28 for (
int i = 0; i < other.m_combo->count(); i++)
29 options.append(other.m_combo->itemText(i));
31 createWidget(options);
33 m_combo->setCurrentIndex(other.m_combo->currentIndex());
38 AbstractMultipleChoiceFilter::~AbstractMultipleChoiceFilter() {
46 void AbstractMultipleChoiceFilter::nullify() {
52 void AbstractMultipleChoiceFilter::createWidget(
QStringList options) {
54 foreach (QString option, options)
55 m_combo->addItem(option);
57 m_combo->setCurrentIndex(0);
59 *m_curChoice = m_combo->currentText();
61 connect(m_combo, SIGNAL(currentIndexChanged(QString)),
62 this, SLOT(updateCurChoice(QString)));
64 QHBoxLayout *layout =
new QHBoxLayout;
65 QMargins margins = layout->contentsMargins();
68 layout->setContentsMargins(margins);
69 layout->addWidget(m_combo);
72 getMainLayout()->addLayout(layout);
76 QString
const &AbstractMultipleChoiceFilter::getCurrentChoice()
const {
82 void AbstractMultipleChoiceFilter::updateCurChoice(QString newChoice) {
85 *m_curChoice = newChoice;
Namespace for ISIS/Bullet specific routines.